Example #1
0
 public static System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic> GetSupplierTurnover()
 {
     using (new zAppDev.DotNet.Framework.Profiling.Profiler("SupplierStatistic", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "GetSupplierTurnover")) {
         System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic> stats     = new System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic>();
         System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>          suppliers = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>((s) => s.SupplierStatus == "ActiveSupplier");
         int?i = 0;
         foreach (var sup in suppliers ?? Enumerable.Empty <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>())
         {
             DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic stat = new DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic();
             stat.Supplier = sup; stat.TotalCommercialAgreements = (sup?.CommercialAgreements?.Count() ?? 0); stat.CurrentTurnover = (sup?.SupplierTurnover?.PlannedCurrentYear ?? 0); stat.NextTurnover = (sup?.SupplierTurnover?.PlannedNextYear ?? 0); stat.PreviousTurnover = (sup?.SupplierTurnover?.ActualPreviousYear ?? 0); i = i.GetValueOrDefault(0) + 1; stats?.Add(stat);
         }
         return(stats);
     }
 }
Example #2
0
 public static System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic> GetSupplierStatistics()
 {
     using (new zAppDev.DotNet.Framework.Profiling.Profiler("SupplierStatistic", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "GetSupplierStatistics")) {
         System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic> stats     = new System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic>();
         System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>          suppliers = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Get <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>((s) => s.SupplierStatus == "ActiveSupplier");
         int?i = 0;
         foreach (var sup in suppliers ?? Enumerable.Empty <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>())
         {
             DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic stat = new DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic();
             stat.Supplier = sup; stat.TotalCommercialAgreements = (sup?.CommercialAgreements?.Count() ?? 0); stat.OnTimeDeliveries = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetCount <DSS5_SupplyChainFinancialsOptimisation.BO.ProofOfDelivery>((a) => a.Transaction.Supplier.UserName == sup.UserName && a.DeliveryStatus == "OnTime"); stat.AsOrderedDeliveries = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetCount <DSS5_SupplyChainFinancialsOptimisation.BO.ProofOfDelivery>((a) => a.Transaction.Supplier.UserName == sup.UserName && a.QualityStatus == "Asordered"); stat.InFullDeliveries = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetCount <DSS5_SupplyChainFinancialsOptimisation.BO.ProofOfDelivery>((a) => a.Transaction.Supplier.UserName == sup.UserName && a.QuantityStatus == "Infull"); stat.TotalImpeachments = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetCount <DSS5_SupplyChainFinancialsOptimisation.BO.ProofOfDelivery>((a) => a.Transaction.Supplier.UserName == sup.UserName && (a.DeliveryStatus != "OnTime" || a.QualityStatus != "Asordered" || a.QuantityStatus != "Infull")); stat.TotalTransactions = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetCount <DSS5_SupplyChainFinancialsOptimisation.BO.Transaction>((t) => t.Supplier.UserName == sup.UserName); stat.CurrentTurnover = (sup?.SupplierTurnover?.PlannedCurrentYear ?? 0); i = i.GetValueOrDefault(0) + 1; stats?.Add(stat);
         }
         return(stats);
     }
 }
Example #3
0
 public static System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic> GetSupplierDataStatistics2()
 {
     using (new zAppDev.DotNet.Framework.Profiling.Profiler("SupplierStatistic", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "GetSupplierDataStatistics2")) {
         System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic> stats2    = new System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic>();
         System.Collections.Generic.List <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>          suppliers = new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().GetAll <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>();
         string  test  = "";
         decimal?test2 = new decimal?();
         foreach (var s in suppliers ?? Enumerable.Empty <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>())
         {
             DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic stat = new DSS5_SupplyChainFinancialsOptimisation.BO.SupplierStatistic();
             stat.Supplier = s; decimal?count = 0;
             int?countAvailability = 0;
             if ((s?.DataQuality?.Orders ?? false))
             {
                 count = count.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataQuality?.DeliveryNotes ?? false))
             {
                 count = count.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataQuality?.CustomsDocuments ?? false))
             {
                 count = count.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataQuality?.IntermediaryLogistics ?? false))
             {
                 count = count.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataQuality?.Invoices ?? false))
             {
                 count = count.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataQuality?.PoDs ?? false))
             {
                 count = count.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataQuality?.PaymentData ?? false))
             {
                 count = count.GetValueOrDefault(0) + 1;
             }
             test2 = (count.GetValueOrDefault(0) / 7.0m) * 100; stat.DataQuality = Math.Round((test2).GetValueOrDefault(0), 2); zAppDev.DotNet.Framework.Utilities.DebugHelper.Log(zAppDev.DotNet.Framework.Utilities.DebugMessageType.Info, "SupplierStatistic", DSS5_SupplyChainFinancialsOptimisation.Hubs.EventsHub.RaiseDebugMessage, "Rounded data quality: " + (stat?.DataQuality ?? 0) + " for supplier " + (s?.UserName ?? "") + " with status: " + (s?.SupplierStatus ?? ""));
             if (s?.DataAvailability == null)
             {
                 DSS5_SupplyChainFinancialsOptimisation.BO.DataAvailability supDataAvailability = new DSS5_SupplyChainFinancialsOptimisation.BO.DataAvailability();
                 supDataAvailability.Supplier = s;
             }
             if ((s?.Transactions?.Any((a) => a.Orders.Count() > 0) ?? false))
             {
                 s.DataAvailability.Orders = true;
             }
             else
             {
                 s.DataAvailability.Orders = false;
             }
             if ((s?.Transactions?.Any((b) => b.DeliveryNotes.Count() > 0) ?? false))
             {
                 s.DataAvailability.DeliveryNotes = true;
             }
             else
             {
             }
             if ((s?.Transactions?.Any((c) => c.Invoices.Count() > 0) ?? false))
             {
                 s.DataAvailability.Invoices = true;
             }
             else
             {
             }
             if ((s?.Transactions?.Any((a) => a.ProofOfDeliveries.Count() > 0) ?? false))
             {
                 s.DataAvailability.PoDs = true;
             }
             else
             {
             }
             if ((s?.Transactions?.Any((a) => a.Intermediaries.Count() > 0) ?? false))
             {
                 s.DataAvailability.IntermediaryLogistics = true;
             }
             else
             {
             }
             if ((s?.Transactions?.Where((a) => a.PaymentStatus != null).Count() ?? 0) > 0)
             {
                 s.DataAvailability.PaymentData = true;
             }
             else
             {
             }
             if ((s?.DataAvailability?.Orders ?? false))
             {
                 countAvailability = countAvailability.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataAvailability?.DeliveryNotes ?? false))
             {
                 countAvailability = countAvailability.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataAvailability?.CustomsDocuments ?? false))
             {
                 countAvailability = countAvailability.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataAvailability?.IntermediaryLogistics ?? false))
             {
                 countAvailability = countAvailability.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataAvailability?.Invoices ?? false))
             {
                 countAvailability = countAvailability.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataAvailability?.PoDs ?? false))
             {
                 countAvailability = countAvailability.GetValueOrDefault(0) + 1;
             }
             if ((s?.DataAvailability?.PaymentData ?? false))
             {
                 countAvailability = countAvailability.GetValueOrDefault(0) + 1;
             }
             stat.DataAvailability = countAvailability; new DSS5_SupplyChainFinancialsOptimisation.DAL.Repository().Save <DSS5_SupplyChainFinancialsOptimisation.BO.Supplier>(s);
             stats2?.Add(stat);
         }
         return(stats2);
     }
 }