public WeeeCollectedAmountBuilder()
 {
     obligationType = ObligationType.B2C;
     tonnage        = 100;
     weeeCategory   = WeeeCategory.AutomaticDispensers;
     sourceType     = WeeeCollectedAmountSourceType.Dcf;
 }
            public static WeeeCollectedAmount WithSourceType(WeeeCollectedAmountSourceType sourceType)
            {
                var builder = new WeeeCollectedAmountBuilder();

                builder.sourceType = sourceType;

                return(builder.Build());
            }
Example #3
0
 private IEnumerable <WeeeCollectedAmount> GetCollectedAmounts(
     IEnumerable <DataReturn> dataReturns,
     Domain.Obligation.ObligationType obligationType,
     WeeeCategory category,
     WeeeCollectedAmountSourceType source,
     QuarterType quarter)
 {
     return(dataReturns
            .Where(dr => dr.Quarter.Q == quarter)
            .Where(dr => dr.CurrentVersion != null)
            .Where(dr => dr.CurrentVersion.WeeeCollectedReturnVersion != null)
            .SelectMany(dr => dr.CurrentVersion.WeeeCollectedReturnVersion.WeeeCollectedAmounts)
            .Where(wca => wca.ObligationType == obligationType)
            .Where(wca => wca.WeeeCategory == category)
            .Where(wca => wca.SourceType == source));
 }
Example #4
0
 public WeeeCollectedAmount(WeeeCollectedAmountSourceType sourceType, ObligationType obligationType, WeeeCategory weeeCategory, decimal tonnage) :
     base(obligationType, weeeCategory, tonnage)
 {
     SourceType = sourceType;
     WeeeCollectedReturnVersions = new List <WeeeCollectedReturnVersion>();
 }
Example #5
0
        private void GetCollectedTotals(
            IEnumerable <DataReturn> dataReturns,
            Domain.Obligation.ObligationType obligationType,
            WeeeCategory category,
            WeeeCollectedAmountSourceType source,
            out decimal?totalQ1,
            out decimal?totalQ2,
            out decimal?totalQ3,
            out decimal?totalQ4,
            out decimal?total)
        {
            total = null;

            var amountsQ1 = GetCollectedAmounts(dataReturns, obligationType, category, source, QuarterType.Q1);

            if (amountsQ1.Any())
            {
                totalQ1 = amountsQ1.Sum(x => x.Tonnage);
                total   = (total ?? 0) + totalQ1;
            }
            else
            {
                totalQ1 = null;
            }

            var amountsQ2 = GetCollectedAmounts(dataReturns, obligationType, category, source, QuarterType.Q2);

            if (amountsQ2.Any())
            {
                totalQ2 = amountsQ2.Sum(x => x.Tonnage);
                total   = (total ?? 0) + totalQ2;
            }
            else
            {
                totalQ2 = null;
            }

            var amountsQ3 = GetCollectedAmounts(dataReturns, obligationType, category, source, QuarterType.Q3);

            if (amountsQ3.Any())
            {
                totalQ3 = amountsQ3.Sum(x => x.Tonnage);
                total   = (total ?? 0) + totalQ3;
            }
            else
            {
                totalQ3 = null;
            }

            var amountsQ4 = GetCollectedAmounts(dataReturns, obligationType, category, source, QuarterType.Q4);

            if (amountsQ4.Any())
            {
                totalQ4 = amountsQ4.Sum(x => x.Tonnage);
                total   = (total ?? 0) + totalQ4;
            }
            else
            {
                totalQ4 = null;
            }
        }
        public Task AddWeeeCollectedAmount(WeeeCollectedAmountSourceType sourceType, WeeeCategory category, ObligationType obligationType, decimal tonnage)
        {
            weeeCollectedAmounts.Add(new WeeeCollectedAmount(sourceType, obligationType, category, tonnage));

            return(Task.Delay(0));
        }
 public WeeeCollectedAmountBuilder()
 {
     obligationType = ObligationType.B2C;
     tonnage = 100;
     weeeCategory = WeeeCategory.AutomaticDispensers;
     sourceType = WeeeCollectedAmountSourceType.Dcf;
 }
            public static WeeeCollectedAmount WithSourceType(WeeeCollectedAmountSourceType sourceType)
            {
                var builder = new WeeeCollectedAmountBuilder();
                builder.sourceType = sourceType;

                return builder.Build();
            }