Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Xml;
- namespace RegularExamOOP
- {
- internal class Agency
- {
- private string name;
- private List<RealEstate> realEstates;
- public Agency(string name)
- {
- Name = name;
- realEstates = new List<RealEstate>();
- }
- public string Name
- {
- get { return name; }
- set
- {
- if (value.Length < 6)
- {
- throw new ArgumentException("Invalid agency name!");
- }
- name = value;
- }
- }
- public void AddRealEstate(RealEstate realEstate)
- {
- realEstates.Add(realEstate);
- }
- public bool SellRealEstate(RealEstate realEstate)
- {
- foreach (RealEstate checkRealEstate in realEstates)
- {
- if (checkRealEstate.Address == realEstate.Address && checkRealEstate.Price == realEstate.Price)
- {
- realEstates.Remove(checkRealEstate);
- return true;
- }
- }
- return false;
- }
- public double CalculateTotalPrice()
- {
- return realEstates.Select(e => e.Price).Sum();
- }
- public RealEstate GetRealEstateWithHighestPrice()
- {
- return realEstates.OrderByDescending(e => e.Price).First();
- }
- public RealEstate GetRealEstateWithLowestPrice()
- {
- return realEstates.OrderBy(e => e.Price).First();
- }
- public void RenameAgency(string newName)
- {
- Name = newName;
- }
- public void SellAllRealEstates()
- {
- realEstates.Clear();
- }
- public override string ToString()
- {
- var sb = new StringBuilder();
- if (realEstates.Count() > 0)
- {
- sb.Append($"Agency {name} has {realEstates.Count} real estate/s:\n");
- sb.Append(string.Join("\n", realEstates));
- }
- else
- {
- sb.Append($"Agency {name} has no available real estates.");
- }
- return sb.ToString();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement