Beispiel #1
0
        public void AddnewTenant()
        {
            try
            {
                var tenant = new Tenant
                {
                    Name                   = this.Name,
                    Holding                = this.Holding,
                    PhoneNumber            = this.PhoneNumber,
                    Email                  = this.Email,
                    Rent                   = this.Rent,
                    ServiceCharge          = this.ServiceCharge,
                    WaterBill              = this.WaterBill,
                    GasBill                = this.GasBill,
                    AdvanceArrear          = this.AdvanceArrear,
                    ContractStartDate      = this.ContractStartDate,
                    ContractExpirationDate = this.ContractExpirationDate,
                    ContractSigningDate    = this.ContractSigningDate,
                    Status                 = this.Status,
                    PaymentType            = this.PaymentType
                };
                var contactPerson = new ContactPerson
                {
                    Name           = this.ContactPersonName,
                    Email          = this.ContactPersonEmail,
                    ContractNumber = this.ContactPersonContractNumber,
                    Tenant         = tenant
                };

                _tenantService.AddNewTenant(tenant, contactPerson, Printings);
                Notification = new NotificationModel("Success!", "Tenant information successfully inserted", NotificationModel.NotificationType.Success);
            }
            catch (InvalidOperationException iex)
            {
                Notification = new NotificationModel(
                    "Failed!",
                    "Failed To insert Tenant information ! Provide Valid Information.",
                    NotificationModel.NotificationType.Fail);
                _logger.LogError(iex.Message);
            }
            catch (Exception ex)
            {
                Notification = new NotificationModel(
                    "Failed!",
                    "Failed To insert Tenant & Contact person information ! Please try again.",
                    NotificationModel.NotificationType.Fail);
                _logger.LogError(ex.Message);
            }
        }
        public void AddNewTenant_ValidTenantContactPerson_SaveTenandAndContactPerson()
        {
            //Arrange
            var tenant = new Tenant
            {
                Name                   = "DevSkill",
                Email                  = "*****@*****.**",
                AdvanceArrear          = 500000,
                ContractStartDate      = DateTime.Now.Date,
                ContractExpirationDate = DateTime.Now.AddMonths(2),
                Holding                = "9B/c",
                PhoneNumber            = "+8801521200542",
                Rent                   = 25000,
                ServiceCharge          = 400,
                WaterBill              = 1200,
                Status                 = true,
            };
            var contactPerson = new ContactPerson
            {
                Name           = "Jalaluddin",
                Email          = "*****@*****.**",
                ContractNumber = "+8801521200542"
            };

            List <Printing> printings = new List <Printing>();

            _tenantUnitOfWorkMock.Setup(x => x.TenantRepository).Returns(_tenantRepositoryMock.Object);
            _tenantRepositoryMock.Setup(x => x.Add(It.Is <Tenant>(y => y == tenant))).Verifiable();
            _tenantUnitOfWorkMock.Setup(x => x.ContactPersonRepository).Returns(_contactPersonRepositoryMock.Object);
            _contactPersonRepositoryMock.Setup(x => x.Add(It.Is <ContactPerson>(c => c == contactPerson))).Verifiable();
            _tenantUnitOfWorkMock.Setup(x => x.Save()).Verifiable();

            //Act
            _tenantService.AddNewTenant(tenant, contactPerson, printings);

            //Assert
            _tenantRepositoryMock.VerifyAll();
            _contactPersonRepositoryMock.VerifyAll();
            _tenantUnitOfWorkMock.VerifyAll();
        }