Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }