public async Task <Dictionary <string, BezekInfoEntity[]> > GetDataBySummary(GeneralBillingSummaryEntity summaryEntity) { var data = context.BezekFileInfo.Where(x => x.GeneralRowId == summaryEntity.RowId) .AsNoTracking(); return(await createBezekCodeDictionary(data.ToArray(), summaryEntity)); }
public PkudatYomanShura[] DisplayPkudatYoman(GeneralBillingSummaryEntity summary, DateTime dateOfRegistration) { try { var dbSummary = context.GeneralBillingSummary.SingleOrDefault(x => x.RowId == summary.RowId && x.CustomerId == summary.CustomerId && x.SupplierId == summary.SupplierId); if (dbSummary != null) { var rows = GeneratePkudatYoman(dbSummary, dateOfRegistration).shuras; foreach (var row in rows) { row.Teur = new string(row.Teur.ToCharArray().Reverse().ToArray()); row.Teur = row.Teur.Replace("datetime", summary.DateOfValue.ToString("MM/yy")); row.Teur = row.Teur.Replace("clientnumber", dbSummary.SupplierClientNumber.ToString()); } return(rows); } else { return(null); } } catch (Exception e) { throw e; } }
public bool Delete(GeneralBillingSummaryEntity generalBillingSummaryEntity) { try { switch (Convert.ToInt32(generalBillingSummaryEntity.SupplierId)) { case (int)Enums.Suppliers.Bezek: context.BezekFileInfo.RemoveRange(context.BezekFileInfo.Where(x => x.CustomerId == generalBillingSummaryEntity.CustomerId && x.GeneralRowId == generalBillingSummaryEntity.RowId)); break; case (int)Enums.Suppliers.Electricity: context.ElectricityFileInfo.RemoveRange(context.ElectricityFileInfo.Where(x => x.CustomerId == generalBillingSummaryEntity.CustomerId && x.GeneralRowId == generalBillingSummaryEntity.RowId)); break; default: context.PrivateSupplierFileInfo.RemoveRange(context.PrivateSupplierFileInfo.Where(x => x.CustomerId == generalBillingSummaryEntity.CustomerId && x.GeneralRowId == generalBillingSummaryEntity.RowId && x.SupplierId == generalBillingSummaryEntity.SupplierId)); break; } context.GeneralBillingSummary.Remove(context.GeneralBillingSummary.Where(x => x.CustomerId == generalBillingSummaryEntity.CustomerId && x.RowId == generalBillingSummaryEntity.RowId).FirstOrDefault()); context.SaveChanges(); return(true); } catch (Exception e) { throw e; } }
public async Task <Dictionary <string, BezekInfoEntity[]> > GetDataByDate(GeneralBillingSummaryEntity summaryEntity) { switch (Convert.ToInt32(summaryEntity.SupplierId)) { case (int)Enums.Suppliers.Bezek: var data = context.BezekFileInfo.Where(x => x.CustomerId == summaryEntity.CustomerId && x.StartDateBilling >= summaryEntity.BillingFrom && x.EndDateBilling <= summaryEntity.BillingTo) .AsNoTracking(); return(await createBezekCodeDictionary(data.ToArray(), summaryEntity)); } return(null); }
public IActionResult DeleteDataBySummary([FromBody] GeneralBillingSummaryEntity generalBillingSummaryEntity) { try { var result = generalBillingSummaryService.Delete(generalBillingSummaryEntity); return(Ok(result)); } catch (Exception e) { log.LogError(e.Message + "\nin:" + e.StackTrace); return(Problem(null)); } }
public IActionResult GetAllSummaryByCustomer([FromBody] GeneralBillingSummaryEntity generalBillingSummaryEntity) { try { var result = generalBillingSummaryService.GetSummaryLines(generalBillingSummaryEntity); return(Ok(result)); } catch (Exception e) { log.LogError(e.Message + "\nin:" + e.StackTrace); return(Problem(null)); } }
public (bool isSuccess, string msg) CreatePkudatYoman(GeneralBillingSummaryEntity summary, DateTime dateOfRegistration, UserEntity user) { try { var supplier = new SuppliersService(context).GetSuppliersByCustomer(new CustomerEntity { Id = summary.CustomerId }).FirstOrDefault(x => x.Id == summary.SupplierId && x.IsEnable); var dbSummary = context.GeneralBillingSummary.SingleOrDefault(x => x.RowId == summary.RowId && x.CustomerId == summary.CustomerId && x.SupplierId == summary.SupplierId); var result = GeneratePkudatYoman(dbSummary, dateOfRegistration); if (result.shuras == null || !result.isBalanced) { return(false, "הפקודה אינה מאוזנת"); } return(sendPkuda(result.shuras, supplier, dbSummary, user, dateOfRegistration)); } catch (Exception e) { throw e; } }
public async Task <IActionResult> GetDataBySummary([FromBody] GeneralBillingSummaryEntity summaryEntity) { try { switch (Convert.ToInt32(summaryEntity.SupplierId)) { case (int)Enums.Suppliers.Bezek: return(Ok(await bezekDataConfirmationService.GetDataBySummary(summaryEntity))); case (int)Enums.Suppliers.Electricity: return(Ok(await electricityDataConfirmationService.GetDataBySummary(summaryEntity))); default: return(Ok(await bezekDataConfirmationService.GetDataBySummary(summaryEntity))); } } catch (Exception e) { log.LogError(e.Message + "\nin:" + e.StackTrace); return(Problem(null)); } }
public GeneralBillingSummaryEntity[] GetSummaryLines(GeneralBillingSummaryEntity generalBillingSummaryEntity) { var generalBillingSummaries = context.GeneralBillingSummary.Where(x => x.CustomerId == generalBillingSummaryEntity.CustomerId && x.SupplierId == generalBillingSummaryEntity.SupplierId) .Select(data => new GeneralBillingSummaryEntity { BillingFrom = data.BillFromDate, BillingTo = data.BillToDate, TotalDebit = data.TotalDebit, TotalBilling = data.TotalInvoice, TotalBillingBeforeTax = data.TotalInvoiceBeforeTax, TotalChangable = data.TotalChangableBilling, TotalCredit = data.TotalCredit, TotalFixed = data.TotalFixedBilling, TotalOneTime = data.TotalOneTimeBilling, CustomerId = data.CustomerId, SupplierId = data.SupplierId, RowId = data.RowId, IsSent = data.Sent, DateOfValue = data.DateOfValue, TotalExtraPayments = data.TotalExtraPayments, SupplierClientNumber = data.SupplierClientNumber }).AsNoTracking(); return(generalBillingSummaries != null?generalBillingSummaries.ToArray() : null); }
public async Task <Dictionary <string, ElectricityInfoEntity[]> > GetDataBySummary(GeneralBillingSummaryEntity summaryEntity) { var electricityData = context.ElectricityFileInfo.Where(x => x.GeneralRowId == summaryEntity.RowId) .AsNoTracking(); return(await createElectricityCodeDictionary(electricityData.ToArray(), summaryEntity)); }
private async Task <Dictionary <string, ElectricityInfoEntity[]> > createElectricityCodeDictionary(ElectricityFileInfo[] electricities, GeneralBillingSummaryEntity summaryEntity) { try { var options = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, WriteIndented = true }; var data = electricities.GroupBy(x => x.Contract); Dictionary <string, ElectricityInfoEntity[]> electricDic = new Dictionary <string, ElectricityInfoEntity[]>(); return(await Task.Run(() => { for (int i = 0; i < data.Count(); i++) { var groupedRow = data.ElementAt(i); electricDic.Add(JsonSerializer.Serialize(createSummaryElectricityRow(groupedRow), options), createElectricityCodeArray(groupedRow.ToArray()).Result); } return electricDic; })); } catch (Exception e) { throw e; } }
public async Task <Dictionary <string, PrivateSupplierFileInfoEntity[]> > GetDataBySummary(GeneralBillingSummaryEntity summaryEntity) { var privateSupplierData = context.PrivateSupplierFileInfo.Where(x => x.GeneralRowId == summaryEntity.RowId) .AsNoTracking(); return(await createPrivateSupplierCodeDictionary(privateSupplierData.ToArray(), summaryEntity)); }
private async Task <Dictionary <string, BezekInfoEntity[]> > createBezekCodeDictionary(BezekFileInfo[] bezeks, GeneralBillingSummaryEntity summaryEntity) { try { var options = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase, WriteIndented = true }; var data = bezeks.GroupBy(x => x.SubscriptionNumber); Dictionary <string, BezekInfoEntity[]> bezekDic = new Dictionary <string, BezekInfoEntity[]>(); return(await Task.Run(() => { for (int i = 0; i < data.Count(); i++) { var groupedRow = data.ElementAt(i); bezekDic.Add(JsonSerializer.Serialize(createSummaryBezekRow(groupedRow), options), createBezekCodeArray(groupedRow.ToArray())); } return bezekDic; })); } catch (Exception e) { throw e; } }