Пример #1
0
        }         // ExtractValue

        private void EcommAccounting(List <LocalMp> oModels, AffordabilityType nType)
        {
            if ((oModels == null) || (oModels.Count < 1))
            {
                return;
            }

            bool bWasAnnualized = false;
            var  oErrorMsgs     = new List <string>();

            decimal nRevenue = 0;
            int     nCount   = 0;

            foreach (var mm in oModels)
            {
                nCount++;
                var mp     = mm.Marketplace;
                var oModel = mm.Model;

                if (!string.IsNullOrWhiteSpace(mp.UpdateError))
                {
                    oErrorMsgs.Add(mp.UpdateError.Trim());
                }

                nRevenue += oModel.AnnualSales;
            }             // for each account

            var trend = oModels
                        .SelectMany(x => x.Model.TurnoverTrend)
                        .GroupBy(x => x.TheMonth)
                        .Select(t => new TurnoverTrend {
                TheMonth = t.Key,
                Turnover = t.Sum(s => s.Turnover)
            })
                        .ToList();

            if (nCount > 0)
            {
                var oRes = new AffordabilityData {
                    Type          = nType,
                    Revenues      = nRevenue,
                    IsAnnualized  = bWasAnnualized,
                    ErrorMsgs     = string.Join(" ", oErrorMsgs).Trim(),
                    TurnoverTrend = trend
                };

                oRes.Fill();
                oRes.DateFrom = oModels.Any(x => x.Model.OriginationDate.HasValue)
                                        ? oModels.Min(x => x.Model.OriginationDate)
                                        : null;
                oRes.DateTo = oModels.Any(x => x.Model.LastTransactionDate.HasValue)
                                        ? oModels.Max(x => x.Model.LastTransactionDate)
                                        : null;
                MpModel.Affordability.Add(oRes);
            }     // if
        }         // EcommAccounting
Пример #2
0
        }         // HmrcBank

        private void Psp(List <LocalMp> oPayPals)
        {
            if ((oPayPals == null) || (oPayPals.Count < 1))
            {
                return;
            }

            bool bWasAnnualized = false;
            var  oErrorMsgs     = new List <string>();

            decimal nRevenue = 0;
            decimal nOpex    = 0;

            foreach (var mm in oPayPals)
            {
                var mp     = mm.Marketplace;
                var oModel = mm.Model;

                if (!string.IsNullOrWhiteSpace(mp.UpdateError))
                {
                    oErrorMsgs.Add(mp.UpdateError.Trim());
                }

                nRevenue += oModel.TotalNetInPayments;
                nOpex    += Math.Abs(oModel.TotalNetOutPayments);
            }             // for each account

            var trend = oPayPals
                        .SelectMany(x => x.Model.TurnoverTrend)
                        .GroupBy(x => x.TheMonth)
                        .Select(t => new TurnoverTrend {
                TheMonth = t.Key,
                Turnover = t.Sum(s => s.Turnover)
            }).ToList();

            var oRes = new AffordabilityData {
                Type          = AffordabilityType.Psp,
                Revenues      = nRevenue,
                Opex          = nOpex,
                IsAnnualized  = bWasAnnualized,
                ErrorMsgs     = string.Join(" ", oErrorMsgs).Trim(),
                TurnoverTrend = trend
            };

            oRes.Fill();
            oRes.DateFrom = oPayPals.Any(x => x.Model.OriginationDate.HasValue)
                                ? oPayPals.Min(x => x.Model.OriginationDate)
                                : null;
            oRes.DateTo = oPayPals.Any(x => x.Model.LastTransactionDate.HasValue)
                                ? oPayPals.Max(x => x.Model.LastTransactionDate)
                                : null;
            MpModel.Affordability.Add(oRes);
        }         // Psp