public void BuildingManager_Can_Set_Cotractor_For_Maitenance() { // Arrange MaintenanceRequest maintenanceRequest = new MaintenanceRequest(person, "Kvar", "Ne radi grijanje.", "Stan Mile, prvi kat."); RepairService serviceTypeForMock = new RepairService("Ličenje"); Mock<IRepairServicesRepository> repairServicesRepositoryMock = new Mock<IRepairServicesRepository>(); repairServicesRepositoryMock.Setup(x => x.GetById(23)).Returns(serviceTypeForMock); RepairService serviceType = repairServicesRepositoryMock.Object.GetById(23); Maintenance maintenance = new Maintenance(maintenanceRequest, Urgency.High, serviceType, building); LegalPerson legalPerson = new LegalPerson("12345678901", "Mile d.o.o."); Contractor contractor = new Contractor(legalPerson).AddRepairService(serviceType); BuildingManager buildingManager = maintenance.BuildingManager; buildingManager.AddContractor(contractor); // Act maintenance.SetContractor(contractor); // Assert var personSnapshot = new PersonSnapshot(contractor.LegalPerson); Assert.IsNotNull(maintenance.Contractor); Assert.AreEqual(personSnapshot.Oib, maintenance.Contractor.Oib, "Oibs aren't equal."); Assert.AreEqual(personSnapshot.FullName, maintenance.Contractor.FullName, "FullNames aren't equal."); Assert.AreEqual(personSnapshot.Address, maintenance.Contractor.Address, "Addresses aren't equal."); Assert.AreEqual(personSnapshot, maintenance.Contractor); }
/// <summary> /// Prazni konstruktor za podrsku NHibernateovom lazy loadingu /// </summary> private MaintenanceRequest() { submitter = null; subject = null; description = null; location = null; dateTimeOfRequest = DateTime.MinValue; }
/// <summary> /// Konstruktor /// </summary> /// <param name="submitter">osoba koja prijavljuje kvar</param> /// <param name="subject">naziv kvara</param> /// <param name="description">opis kvara</param> /// <param name="location">lokacija gdje se kvar desio</param> public MaintenanceRequest(Person submitter, string subject, string description, string location) { this.submitter = new PersonSnapshot(submitter); this.subject = subject; this.description = description; this.location = location; dateTimeOfRequest = DateTime.Now; }
/// <summary> /// Konstruktor /// </summary> /// <param name="vote">glas</param> /// <param name="partitionSpace">vlasnicka etaza</param> public OwnerVote(bool vote, IPartitionSpace partitionSpace) { if (!partitionSpace.IsOwnedPartitionSpace) { throw new BusinessRulesException("This partition space is not OwnedPartitionSpace."); } this.vote = vote; this.shareOfTotalOwnership = partitionSpace.ShareOfTotalOwnership; owner = new PersonSnapshot(partitionSpace.Owner); }
/// <summary> /// Konstruktor (izdaje pravna osoba za pričuvu/zgradu) /// </summary> /// <param name="legalPersonFrom">pravna osoba koja šalje račun za zgradu</param> /// <param name="reserve">Pričuva</param> /// <param name="paymentDescription">opis plaćanja</param> /// <param name="tax">porez/PDV</param> public Bill(LegalPerson legalPersonFrom, Reserve reserve, string paymentDescription, short tax) { if (String.IsNullOrEmpty(legalPersonFrom.NumberOfBankAccount)) { throw new BusinessRulesException("Legal Person has not valid bank account number."); } to = null; this.reserve = reserve; from = new LegalPersonSnapshot(legalPersonFrom); this.paymentDescription = paymentDescription; this.tax = tax; dateTimeIssued = DateTime.Now; isPaid = false; billItems = new List<BillItem>(); }
public void Can_Take_Snapshot_Of_Person() { // Arrange LegalPerson person = new LegalPerson("12345678901", "Mile"); Telephone telephone1 = new Telephone("Kucni telefon", "123456"); Telephone telephone2 = new Telephone("Mobitel", "098123456"); person.AddTelephone(telephone1); person.AddTelephone(telephone2); // Act var personSnapshot = new PersonSnapshot(person); // Assert Assert.AreEqual(person.Oib, personSnapshot.Oib); Assert.AreEqual(person.Name, personSnapshot.FullName); Assert.AreEqual(person.Address, personSnapshot.Address); }
/// <summary> /// Konstruktor (izdaje pričuva/zgrada za osobu) /// </summary> /// <param name="reserve">pričuva</param> /// <param name="personTo">osoba koja placa racun</param> /// <param name="paymentDescription">opis placanja</param> /// <param name="tax">porez/PDV</param> public Bill(Reserve reserve, Person personTo, string paymentDescription, short tax) { from = null; this.reserve = reserve; to = new PersonSnapshot(personTo); this.paymentDescription = paymentDescription; this.tax = tax; dateTimeIssued = DateTime.Now; isPaid = false; billItems = new List<BillItem>(); }
/// <summary> /// Dodjeljuje izvodaca radova na popravak ili odrzavanje /// </summary> /// <param name="contractor">izvodac radova</param> public virtual void SetContractor(Contractor contractor) { var errors = new BusinessRulesException<Maintenance>(); if (!BuildingManager.Contractors.Contains(contractor)) { errors.AddErrorForModel("Contractor is not working for BuildingManager, so it's invalid."); } if (!contractor.RepairServices.Contains(ServiceType)) { errors.AddErrorForModel("This Contractor can't do needed service."); } if (errors.Errors.Any()) { throw errors; } this.contractor = new PersonSnapshot(contractor.LegalPerson); statusOfMaintenance = StatusOfMaintenance.InProgress; }
/// <summary> /// Defaultni kontruktor za podrsku NHibernateovom lazy loadingu /// </summary> private OwnerVote() { vote = false; owner = null; shareOfTotalOwnership = 0; }