public static IList<NavLink> GetManagerLinks(Building building, string selectedText)
        {
            var links = new List<NavLink>();
            selectedText = selectedText ?? string.Empty;

            NavLink link = null;

            if(building.LandRegistry != null) {
                link = new NavLink() {
                    Text = "Zemljišna knjiga",
                    RouteValues = new RouteValueDictionary(new { controller = "legislature", action = "landregistry", id = building.Id }),
                    IsSelected = selectedText == "Zemljišna knjiga"
                };

                links.Add(link);
            }

            link = new NavLink() {
                Text = "Rad uprave",
                RouteValues = new RouteValueDictionary(new { controller = "buildingmanagement", action = "votings", id = building.Id }),
                IsSelected = selectedText == "Rad uprave"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Kvarovi",
                RouteValues = new RouteValueDictionary(new { controller = "maintenance", action = "index", id = building.Id }),
                IsSelected = selectedText == "Kvarovi"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Upraviteljevi računi",
                RouteValues = new RouteValueDictionary(new { controller = "buildingmanager", action = "bills", id = building.Id }),
                IsSelected = selectedText == "Upraviteljevi računi"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Pričuva",
                RouteValues = new RouteValueDictionary(new { controller = "finances", action = "reserve", id = building.Id }),
                IsSelected = selectedText == "Pričuva"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Izdani računi pričuve",
                RouteValues = new RouteValueDictionary(new { controller = "finances", action = "reserveperiods", id = building.Id }),
                IsSelected = selectedText == "Izdani računi pričuve"
            };

            links.Add(link);

            return links;
        }
        public void Can_Save_Bill_To_Db()
        {
            // Arrange
            City city = new City(10000, "Zagreb");
            Cadastre cadastre = new Cadastre("Trnje", "12345", city);
            CadastralParticle cadastralParticle = new CadastralParticle(cadastre, "123", 23, "Opis");
            LandRegistry landRegistry = new LandRegistry(cadastralParticle);

            var person = new PhysicalPerson("12345678901", "Ime", "Prezime") {
                Address = new Address("Ulica", "1", city)
            };

            var partitionSpace = landRegistry.CreatePartitionSpace("123", 12, "Opis etaže", person);

            LegalPerson legalPerson = new LegalPerson("12345678902", "Ime") {
                NumberOfBankAccount = "123456",
                Address = new Address("Ulica", "2", city)
            };
            BuildingManager buildingManager = new BuildingManager(legalPerson);

            Building building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            Bill bill = new Bill(legalPerson, building.Reserve, "opis plaćanja", 23) {
                ReferenceNumber = "123"
            };
            bill.AddBillItem(new BillItem(1, 12.3m, "Opis"));

            IBillsRepository billsRepository = new BillsNHRepository(SessionFactory);

            // Act
            using (var session = SessionFactory.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    session.Save(city);
                    session.Save(person);
                    session.Save(legalPerson);
                    session.Save(cadastre);
                    session.Save(landRegistry);
                    session.Save(buildingManager);
                    session.Save(building);

                    billsRepository.SaveOrUpdate(bill);

                    transaction.Commit();
                }
            }

            IList<Bill> billsFromDb = null;
            using (var session = SessionFactory.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    billsFromDb = billsRepository.GetAll().ToList();
                    transaction.Commit();
                }
            }

            // Assert
            Assert.IsTrue(billsFromDb.Count == 1, "No Bill from database.");
        }
        public static Building getBuilding(Person person)
        {
            Building buildingForMock = new Building(getBuildingManager()) {
                LandRegistry = getLandRegistry()
            };

            return buildingForMock;
        }
        public void Can_Save_Maintenance_To_DB()
        {
            // Arrange
            var person = new PhysicalPerson("12345678901", "Ime", "Prezime");
            MaintenanceRequest maintenanceRequest = new MaintenanceRequest(
                person
                , "Kvar na grijanju"
                , "Grijanje ne radi"
                , "Prvi kat, stan 2");

            City city = new City(10000, "Zagreb");
            Cadastre cadastre = new Cadastre("Trnje", "12345", city);
            CadastralParticle cadastralParticle = new CadastralParticle(cadastre, "123", 23, "Opis");
            LandRegistry landRegistry = new LandRegistry(cadastralParticle);

            var partitionSpace = landRegistry.CreatePartitionSpace("123", 12, "Opis etaže", person);

            LegalPerson legalPerson = new LegalPerson("12345678902", "Ime");
            BuildingManager buildingManager = new BuildingManager(legalPerson);

            Building building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            RepairService repairService = new RepairService("Popravak grijanja");

            Maintenance maintenance = new Maintenance(maintenanceRequest, Urgency.Normal, repairService, building);

            IMaintenancesRepository maintenancesRepository = new MaintenancesNHRepository(SessionFactory);

            // Act
            IList<Maintenance> maintenancesFromDb = null;
            using (var session = SessionFactory.OpenSession()) {
                using (var tx = session.BeginTransaction()) {
                    session.Save(person);
                    session.Save(city);
                    session.Save(legalPerson);
                    session.Save(cadastre);
                    session.Save(landRegistry);
                    session.Save(buildingManager);
                    session.Save(building);
                    session.Save(repairService);

                    maintenancesRepository.SaveOrUpdate(maintenance);

                    tx.Commit();
                }

                using (var tx = session.BeginTransaction()) {
                    maintenancesFromDb = maintenancesRepository.GetAll().ToList();
                    tx.Commit();
                }
            }

            // Assert
            Assert.IsTrue(maintenancesFromDb.Count == 1, "No Maintenance from database.");
        }
 /// <summary>
 /// Konstruktor
 /// </summary>
 /// <param name="maintenanceRequest">zahtjev za popravkom</param>
 /// <param name="urgency">hitnost</param>
 /// <param name="serviceType">tip servisa/usluge</param>
 /// <param name="building">zgrada za koju se prijavljuje kvar</param>
 public Maintenance(MaintenanceRequest maintenanceRequest, Urgency urgency, RepairService serviceType, Building building)
 {
     this.maintenanceRequest = maintenanceRequest;
     this.building = building;
     this.urgency = urgency;
     this.serviceType = serviceType;
     statusOfMaintenance = StatusOfMaintenance.NotStarted;
     maintenanceRemarks = new List<MaintenanceRemark>();
 }
        public static Building getBuilding()
        {
            Building building = new Building(getBuildingManager()) {
                RepresentativeOfPartOwners = new PhysicalPerson("12345678902", "Mile", "Milic"),
                LandRegistry = getLandRegistry()
            };

            return building;
        }
        public void Can_Read_Reserve_From_Db()
        {
            // Arrange
            City city = new City(10000, "Zagreb");
            Cadastre cadastre = new Cadastre("Trnje", "12345", city);
            CadastralParticle cadastralParticle = new CadastralParticle(cadastre, "123", 23, "Opis");
            LandRegistry landRegistry = new LandRegistry(cadastralParticle);

            var person = new PhysicalPerson("12345678901", "Ime", "Prezime");
            var partitionSpace = landRegistry.CreatePartitionSpace("123", 12, "Opis etaže", person);

            LegalPerson legalPerson = new LegalPerson("12345678902", "Ime") {
                NumberOfBankAccount = "12332213",
                Address = new Address("dsa", "2", city)
            };
            BuildingManager buildingManager = new BuildingManager(legalPerson);

            Building building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            Bill bill = new Bill(legalPerson, building.Reserve, "račun", 23) {
                ReferenceNumber = "123"
            };
            building.Reserve.AddBillForPayment(bill);

            // Act
            using (var session = SessionFactory.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    session.Save(city);
                    session.Save(cadastre);
                    session.Save(person);
                    session.Save(landRegistry);
                    session.Save(legalPerson);
                    session.Save(buildingManager);
                    session.Save(building);

                    transaction.Commit();
                }
            }

            IReservesRepository reservesRepository = new ReservesNHRepository(SessionFactory);
            IList<Reserve> reservesFromDb = null;
            using (var session = SessionFactory.OpenSession()) {
                using (var transaction = session.BeginTransaction()) {
                    reservesFromDb = reservesRepository.GetAll().ToList();
                    transaction.Commit();
                }
            }

            // Assert
            Assert.IsTrue(reservesFromDb.Count == 1, "No Reserves from database.");
            //Assert.IsTrue(reservesFromDb[0].ReserveBills.Count == 1);
        }
        public void Can_Save_AdminJobsVoting_To_DB()
        {
            // Arrange
            City city = new City(10000, "Zagreb");
            Cadastre cadastre = new Cadastre("Trnje", "12345", city);
            CadastralParticle cadastralParticle = new CadastralParticle(cadastre, "123", 23, "Opis");
            LandRegistry landRegistry = new LandRegistry(cadastralParticle);

            var person = new PhysicalPerson("12345678901", "Ime", "Prezime");
            var partitionSpace = landRegistry.CreatePartitionSpace("123", 12, "Opis etaže", person);

            LegalPerson legalPerson = new LegalPerson("12345678902", "Ime");
            BuildingManager buildingManager = new BuildingManager(legalPerson);

            Building building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            AdministrationJobsVoting administrationJobsVoting = new AdministrationJobsVoting(
                AdministrationJobsType.Regular,
                building,
                "Subject",
                "Description",
                new DateTime(2011, 11, 11));

            AdminJobsVotingsNHRepository adminJobsVotingsNhRepository = new AdminJobsVotingsNHRepository(SessionFactory);

            // Act
            AdministrationJobsVoting adminJobsVotingFromDb = null;
            using (var session = SessionFactory.OpenSession()) {
                using (var tx = session.BeginTransaction()) {
                    session.Save(city);
                    session.Save(person);
                    session.Save(legalPerson);
                    session.Save(cadastre);
                    session.Save(landRegistry);
                    session.Save(buildingManager);
                    session.Save(building);

                    adminJobsVotingsNhRepository.SaveOrUpdate(administrationJobsVoting);
                    tx.Commit();
                }

                using (var tx = session.BeginTransaction()) {
                    adminJobsVotingFromDb = adminJobsVotingsNhRepository.GetById(administrationJobsVoting.Id);
                    tx.Commit();
                }
            }

            // Assert
            Assert.AreEqual(administrationJobsVoting, adminJobsVotingFromDb, "Two administration jobs voting entities aren't equal.");
        }
        /// <summary>
        /// Konstruktor
        /// </summary>
        /// <param name="administrationJobsType">vrsta posla uprave</param>
        /// <param name="building">zgrada</param>
        /// <param name="subject">naslov razloga glasovanja</param>
        /// <param name="description">opis razloga glasovanja</param>
        /// <param name="endDateTime">datum i vrijeme zavrsetka glasovanja</param>
        public AdministrationJobsVoting(AdministrationJobsType administrationJobsType, Building building, 
			string subject, string description, DateTime endDateTime)
        {
            this.administrationJobsType = administrationJobsType;
            this.building = building;
            this.subject = subject;
            this.description = description;
            startDateTime = DateTime.Now;
            this.endDateTime = endDateTime;
            numberOfOwners = building.LandRegistry.OwnedPartitionSpaces.Count;
            ownerVotes = new HashedSet<OwnerVote>();
            isFinished = false;
            isAccepted = false;
        }
        public static IList<NavLink> GetOwnerLinks(Building building, string selectedText)
        {
            var links = new List<NavLink>();
            selectedText = selectedText ?? string.Empty;

            NavLink link = null;

            link = new NavLink() {
                Text = "Rad uprave",
                RouteValues = new RouteValueDictionary(new { controller = "buildingmanagement", action = "votings", id = building.Id }),
                IsSelected = selectedText == "Rad uprave"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Moji kvarovi",
                RouteValues = new RouteValueDictionary(new { controller = "maintenance", action = "my", id = building.Id }),
                IsSelected = selectedText == "Moji kvarovi"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Kvarovi",
                RouteValues = new RouteValueDictionary(new { controller = "maintenance", action = "index", id = building.Id }),
                IsSelected = selectedText == "Kvarovi"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Moji računi",
                RouteValues = new RouteValueDictionary(new { controller = "owner", action = "bills", id = building.Id }),
                IsSelected = selectedText == "Moji računi"
            };

            links.Add(link);

            link = new NavLink() {
                Text = "Pričuva",
                RouteValues = new RouteValueDictionary(new { controller = "finances", action = "reserve", id = building.Id }),
                IsSelected = selectedText == "Pričuva"
            };

            links.Add(link);

            return links;
        }
        public void Building_Always_Must_Have_BuildingManager()
        {
            // Arrange
            LandRegistry landRegistry = getLandRegistry();
            BuildingManager buildingManager = getBuildingManager();

            Building building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            // Act
            building.SetBuildingManager(null);

            // Assert
        }
        public void Can_Create_Building()
        {
            // Arrange
            LandRegistry landRegistry = getLandRegistry();
            BuildingManager buildingManager = getBuildingManager();

            // Act
            Building building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            // Assert
            Assert.IsNotNull(building);
            Assert.IsNotNull(building.BuildingManager);
        }
        public void Can_Save_Building_To_DB()
        {
            // Arrange
            City city = new City(10000, "Zagreb");
            Cadastre cadastre = new Cadastre("Trnje", "12345", city);
            CadastralParticle cadastralParticle = new CadastralParticle(cadastre, "123", 23, "Opis");
            LandRegistry landRegistry = new LandRegistry(cadastralParticle);

            var person = new PhysicalPerson("12345678901", "Ime", "Prezime");
            var partitionSpace = landRegistry.CreatePartitionSpace("123", 12, "Opis etaže", person);

            LegalPerson legalPerson = new LegalPerson("12345678902", "Ime");
            BuildingManager buildingManager = new BuildingManager(legalPerson);

            Building building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            BuildingsNHRepository buildingsNhRepository = new BuildingsNHRepository(SessionFactory);

            // Act
            Building buildingFromDb = null;
            using (var session = SessionFactory.OpenSession()) {
                using (var tx = session.BeginTransaction()) {
                    session.Save(city);
                    session.Save(person);
                    session.Save(legalPerson);
                    session.Save(cadastre);
                    session.Save(landRegistry);
                    session.Save(buildingManager);

                    buildingsNhRepository.SaveOrUpdate(building);
                    tx.Commit();
                }

                using (var tx = session.BeginTransaction()) {
                    buildingFromDb = buildingsNhRepository.GetById(building.Id);
                    tx.Commit();
                }
            }

            // Assert
            Assert.AreEqual(building, buildingFromDb, "Two building entities aren't equal.");
        }
 public void SetUp()
 {
     // Dohvacanje zgrade za zadanu osobu
     building = getBuilding();
 }
Beispiel #15
0
 /// <summary>
 /// Konstruktor
 /// </summary>
 /// <param name="building">zgrada</param>
 internal Reserve(Building building)
     : this(building, 0)
 {
 }
 public static IList<NavLink> GetOwnerLinks(Building building)
 {
     return GetOwnerLinks(building, string.Empty);
 }
Beispiel #17
0
 /// <summary>
 /// Konstruktor
 /// </summary>
 /// <param name="building">zgrada</param>
 /// <param name="money">novac</param>
 internal Reserve(Building building, decimal money)
 {
     this.building = building;
     this.money = money;
     reserveBills = new HashedSet<Bill>();
 }
 public static IList<NavLink> GetRepresentativeLinks(Building building)
 {
     return GetRepresentativeLinks(building, string.Empty);
 }
        public void SetUp()
        {
            cadastre = new Cadastre("Trešnjevka", "332134", new City(10000, "Zagreb"));
            cadastralParticle = new CadastralParticle(cadastre, "123", 120, "opis");
            landRegistry = new LandRegistry(cadastralParticle);

            var buildingManager = new BuildingManager(new LegalPerson("12345678903", "Upravitelj"));

            building = new Building(buildingManager) {
                LandRegistry = landRegistry
            };

            partitionSpace1 = landRegistry.CreatePartitionSpace("123", 23, "Stan 1", new PhysicalPerson("12345678903", "Mile1", "Milic"));
            partitionSpace2 = landRegistry.CreatePartitionSpace("123", 23, "Stan 2", new PhysicalPerson("12345678904", "Mile2", "Milic"));
            partitionSpace3 = landRegistry.CreatePartitionSpace("123", 23, "Stan 3", new PhysicalPerson("12345678905", "Mile3", "Milic"));
            partitionSpace4 = landRegistry.CreatePartitionSpace("123", 23, "Stan 4", new PhysicalPerson("12345678906", "Mile4", "Milic"));
        }
        public ActionResult Create(CreateModel createModel)
        {
            if (!User.IsInRole("buildingmanager")) { return new HttpUnauthorizedResult(); }

            if (ModelState.IsValid) {
                // TODO provjeri da li vec postoji zgrada sa tom adresom

                LegalPerson legalPerson = personsRepository.GetLegalPersonByUsername(User.Identity.Name);
                var buildingManager = buildingManagersRepository.GetByLegalPerson(legalPerson);

                try {
                    Building building = new Building(buildingManager) {
                        Address =
                            new Address(createModel.Address.StreetAddress, createModel.Address.StreetAddressNumber,
                                        citiesRepository.GetById(createModel.Address.City.Id))
                    };

                    buildingsRepository.SaveOrUpdate(building);

                    return RedirectToAction("index");

                } catch (BusinessRulesException ex) {
                    ex.CopyTo(ModelState);
                }

            }

            createModel.Address.Cities = new SelectList(citiesRepository.GetCitiesWithCadastres(), "Id", "Name",
                                                      createModel.Address.City.Id);
            createModel.Roles = Roles.GetRolesForUser();

            return View(createModel);
        }
        public void SetUp()
        {
            // Dohvacanje osobe iz repozitorija
            person = getPerson();

            // Dohvacanje zgrade za zadanu osobu
            building = getBuilding(person);
        }