public override bool SaveOrUpdate(FloorRentInfo entity) { var exist = Repository.GetById(entity.Id); var tenantList = tenantInfoManager.GetById(entity.TenantInfoId); entity.Id = 0; entity.CreatedOn = new LoginInfo().CurrentTime; entity.CreatedBy = Log.UserId.ToString(); entity.IsActive = true; entity.IsCurrent = true; var TotalRent = (entity.RentSpaceSFT * entity.SftRate); var TotalAIT = (TotalRent * entity.LessAITPercent) / 100; var CurrentDues = TotalRent - TotalAIT - entity.AdvancePay; var CommonDues = (entity.RentSpaceSFT * entity.CommonBillRateSFT); var CurrentDuesAIT = (CurrentDues * entity.RentAIT) / 100; var CommonDuesAIT = (CommonDues * entity.CommonAIT) / 100; if (exist != null) { if (tenantList != null) { tenantList.Id = entity.TenantInfoId; tenantList.LessAITPercent = entity.LessAITPercent; tenantList.AdvancePay = entity.AdvancePay; tenantList.RentAIT = CurrentDuesAIT; tenantList.CommonAIT = CommonDuesAIT; tenantInfoManager.Update(tenantList); } exist.FloorLevel = entity.FloorLevel; exist.LessAITPercent = entity.LessAITPercent; exist.RentSpaceSFT = entity.RentSpaceSFT; exist.SftRate = entity.SftRate; exist.TenantInfoId = entity.TenantInfoId; exist.AdvanceAdjustment = entity.AdvanceAdjustment; exist.AdvancePay = entity.AdvancePay; exist.CommonBillRateSFT = entity.CommonBillRateSFT; exist.EffectiveDate = entity.EffectiveDate; exist.ExpiryDate = entity.ExpiryDate; exist.RentAIT = entity.RentAIT; exist.CommonAIT = entity.CommonAIT; //exist.IsCurrent = true; exist.UpdatedBy = Log.UserId.ToString(); exist.UpdatedOn = System.DateTime.Now; Repository.Update(exist); } else { if (tenantList != null) { tenantList.Id = entity.TenantInfoId; tenantList.LessAITPercent = entity.LessAITPercent; tenantList.AdvancePay = entity.AdvancePay; tenantList.RentAIT = CurrentDuesAIT; tenantList.CommonAIT = CommonDuesAIT; tenantInfoManager.SaveOrUpdate(tenantList); } var repo = new BillingInfoPerMonthRepository(); var MonthNo = entity.EffectiveDate.Month; var YearNo = entity.EffectiveDate.Year; var tanentInfo = new TenantInfoRepository().GetById(entity.TenantInfoId); var existMonthActive = new BillingInfoPerMonthRepository().GetAll().FirstOrDefault(x => x.Month == MonthNo.ToString() && x.Year == YearNo.ToString() && x.TenantInfoId == entity.TenantInfoId && x.IsActive == true); var existMonthInactive = new BillingInfoPerMonthRepository().GetAll().FirstOrDefault(x => x.Month == MonthNo.ToString() && x.Year == YearNo.ToString() && x.TenantInfoId == entity.TenantInfoId && x.IsActive == false); if (existMonthActive != null) { existMonthInactive = null; } if (existMonthActive == null || existMonthInactive != null) { var newRow = new BillingInfoPerMonth { Month = MonthNo.ToString(), Year = YearNo.ToString(), TenantInfoId = entity.TenantInfoId, OpeningBalanceRent = 0, OpeningBalanceCommon = 0, OpeningBalanceElectricity = 0, OpeningBalanceWasa = 0, OpeningBalanceEmElectricity = 0, CurrentDuesRent = CurrentDues, CurrentDuesCommon = CommonDues, CurrentDuesElectricity = 0, CurrentDuesEmElectricity = 0, CurrentDuesWasa = 0, CreatedOn = new LoginInfo().CurrentTime, CreatedBy = Log.UserId.ToString(), IsActive = true }; repo.SaveOrUpdate(newRow); repo.Done(); } else { existMonthActive.CurrentDuesRent += CurrentDues; existMonthActive.CurrentDuesCommon += CommonDues; existMonthActive.IsActive = true; repo.SaveOrUpdate(existMonthActive); repo.Done(); } Repository.SaveOrUpdate(entity); Repository.Done(); } return(true); }
public TenantInfoService(TenantInfoRepository repo, IServiceProvider serviceProvider, Lazy <IHttpContextAccessor> httpContextAccessor) : base(repo, serviceProvider) { this._httpContextAccessor = httpContextAccessor; }