Beispiel #1
0
        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));
        }
Beispiel #2
0
 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;
            }
        }
Beispiel #4
0
 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));
     }
 }
Beispiel #7
0
 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);
        }
Beispiel #10
0
        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));
        }
Beispiel #11
0
 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));
        }
Beispiel #13
0
 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;
     }
 }