public async Task <BillHeadVM> GetBillHeadVMsByArrivalYearAndMonth(BillHeadVM billHeadVM) { var reportsOfCurrentBill = await _reportService.GetAsync(x => x.ArrivalYearAndMonth.Equals(new DateTime(billHeadVM.ArrivalYearAndMonth.Year, billHeadVM.ArrivalYearAndMonth.Month, billHeadVM.ArrivalYearAndMonth.Day)) && x.ContractNumber.Equals(billHeadVM.ContractNumber) && x.ReportTypeId == 1 && x.CompletionCertificateSendingDate != null && x.BillNumber == null, null, "Region,Service.ServiceType"); int i = 1; foreach (var item in reportsOfCurrentBill) { billHeadVM.BillItemVMs.Add(new BillItemVM { Index = i++, ContractNumber = billHeadVM.ContractNumber, SelectedDistricId = item.RegionId, DistrictName = item.Region.Name, SelectedServiceTypeId = item.ServiceTypeId, ServiceTypeDescription = item.Service.ServiceType.Name, SelectedServiceTypeDate = item.Service.ServiceTypeDate, Head = 0, //item.Piece, Value = 0 //item.Value }); } billHeadVM.CouncilCompletionCertificateDate = reportsOfCurrentBill.FirstOrDefault()?.CompletionCertificateDate; return(billHeadVM); }
public async Task Show(BillHeadVM billHeadVM) { BillHeadVM = billHeadVM; await ResetDialog(); ShowDialog = true; await InvokeAsync(StateHasChanged); }
public async Task <BillHeadVM> GetBillHeadVM(string contractNumber, string billNumber = null) { BillHeadVM billHeadVM; if (billNumber == null) { billHeadVM = new BillHeadVM { ContractNumber = contractNumber }; DropDownComparer dropDownComparer = new DropDownComparer(); billHeadVM.ArrivalYearAndMonths = (await _reportService.GetAsync(x => //x.ArrivalYearAndMonth.Year == Convert.ToInt32(Year) && x.ReportTypeId == 1 && x.CompletionCertificateSendingDate != null && x.BillNumber == null)) .Select(x => new DropDownData { ValueString = $"{x.ArrivalYearAndMonth.Year}-{x.ArrivalYearAndMonth.Month}-1", Text = $"{x.ArrivalYearAndMonth.Year}-{x.ArrivalYearAndMonth.Month}" }) .Distinct(dropDownComparer) .ToList(); var tempDate = DateTime.Now.AddMonths(-1); billHeadVM.ArrivalYearAndMonth = new DateTime(tempDate.Year, tempDate.Month, 1); billHeadVM.BillItemVMs = new List <BillItemVM>(); } else { billHeadVM = (mapper.Map <List <BillHead>, List <BillHeadVM> >( await GetAsync(x => x.BillNumber.Equals(billNumber), null, "BillItems,BillItems.Region,BillItems.Service.ServiceType,BillType,CostType"))) .FirstOrDefault(); //IsServiceCompleteReadonly = false; // IsDatesReadonly = false; billHeadVM.SelectedArrivalYearAndMonth = $"{billHeadVM.ArrivalYearAndMonth.Year}-{billHeadVM.ArrivalYearAndMonth.Month}-1"; billHeadVM.ArrivalYearAndMonths = new List <DropDownData> { new DropDownData { ValueString = $"{billHeadVM.ArrivalYearAndMonth.Year}-{billHeadVM.ArrivalYearAndMonth.Month}-1", Text = $"{billHeadVM.ArrivalYearAndMonth.Year}-{billHeadVM.ArrivalYearAndMonth.Month}" } }; billHeadVM.MinDate = billHeadVM.ArrivalYearAndMonth.ToString("yyyy-MM-dd"); billHeadVM.MaxDate = billHeadVM.ArrivalYearAndMonth.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd"); } billHeadVM.BillTypes = (await _billTypeService.GetAsync()) .Select(x => new DropDownData { Text = x.Description, ValueInt = x.Id }) .ToList(); billHeadVM.SelectedBillTypeId = 1; billHeadVM.CostTypes = (await _costTypeService.GetAsync()) .Select(x => new DropDownData { Text = x.Description, ValueInt = x.Id }) .ToList(); billHeadVM.SelectedCostTypeId = 1; return(billHeadVM); }
public async Task AddOrUpdate(BillHeadVM billHeadVM) { BillHead billHead = (await GetAsync(x => x.BillNumber.Equals(billHeadVM.BillNumber), null, "BillItems")).FirstOrDefault(); if (billHead != null) { billHead.IssueDate = (DateTime)billHeadVM.IssueDate; billHead.ServiceComplete = (DateTime)billHeadVM.ServiceComplete; billHead.ReceiptDate = (DateTime)billHeadVM.ReceiptDate; billHead.PaymentDeadline = (DateTime)billHeadVM.PaymentDeadline; billHead.BillTypeId = billHeadVM.SelectedBillTypeId; billHead.CostTypeId = billHeadVM.SelectedCostTypeId; billHead.CouncilCompletionCertificateDate = billHeadVM.CouncilCompletionCertificateDate; billHead.SettlementDate = billHeadVM.SettlementDate; billHead.BankStatNumber = billHeadVM.BankStatNumber; foreach (var billItem in billHead.BillItems) { var tempUpdatedItem = billHeadVM.BillItemVMs .Where(x => x.SelectedDistricId == billItem.RegionId && x.SelectedServiceTypeId == billItem.ServiceTypeId && x.SelectedServiceTypeDate == billItem.ServiceTypeDate) .FirstOrDefault(); billItem.Head = (int)tempUpdatedItem.Head; billItem.Value = (decimal)tempUpdatedItem.Value; _context.BillItems.Update(billItem); } Update(billHead); } else { var temptDate = DateTime.Parse(billHeadVM.SelectedArrivalYearAndMonth); billHead = new BillHead { ArrivalYearAndMonth = billHeadVM.ArrivalYearAndMonth, IssueDate = (DateTime)billHeadVM.IssueDate, ServiceComplete = (DateTime)billHeadVM.ServiceComplete, ReceiptDate = (DateTime)billHeadVM.ReceiptDate, PaymentDeadline = (DateTime)billHeadVM.PaymentDeadline, BillNumber = billHeadVM.BillNumber, BillTypeId = billHeadVM.SelectedBillTypeId, CostTypeId = billHeadVM.SelectedCostTypeId, ContractNumber = billHeadVM.ContractNumber, BillItems = new List <BillItem>(), CouncilCompletionCertificateDate = billHeadVM.CouncilCompletionCertificateDate, SettlementDate = billHeadVM.SettlementDate, BankStatNumber = billHeadVM.BankStatNumber }; //await SaveChangesAsync(AppUser.Instance.FullName); foreach (var billItem in billHeadVM.BillItemVMs) { billHead.BillItems.Add( new BillItem { BillNumber = billHeadVM.BillNumber, Value = (int)billItem.Value, Head = (int)billItem.Head, RegionId = billItem.SelectedDistricId, ServiceTypeId = billItem.SelectedServiceTypeId, ServiceTypeDate = billItem.SelectedServiceTypeDate } ); } await AddAsync(billHead); } await SaveChangesAsync(AppUser.Instance.FullName); //foreach (var reportItem in (await GetActualReports())) //{ // reportItem.BillNumber = billHeadVM.BillNumber; // ReportService.Update(reportItem); //} //await SaveChangesAsync(AppUser.Instance.FullName); //ShowDialog = false; //await CloseEventCallback.InvokeAsync(true); }