public IList <SumBills> CalculatorMounths(IQueryable <Bill> bills, IEnumerable <string> mounths) { IList <SumBills> sumBillsTotals = new List <SumBills>(); foreach (var item in mounths) { SumBills sumBills = new SumBills(); sumBills.Mes = item; var billsSameMounths = bills.Where(b => b.Month == item).ToList(); sumBills.Exento = billsSameMounths.Sum(b => b.Exento); sumBills.BaseSuperReducido = billsSameMounths.Sum(b => b.Base4); sumBills.BaseReducido = billsSameMounths.Sum(b => b.Base10); sumBills.BaseNormal = billsSameMounths.Sum(b => b.Base21); sumBills.IVASuperReducido = billsSameMounths.Sum(b => b.IVA4); sumBills.IVAReducido = billsSameMounths.Sum(b => b.IVA10); sumBills.IVANormal = billsSameMounths.Sum(b => b.IVA21); sumBills.BaseTotal = billsSameMounths.Sum(b => b.Base4 + b.Base10 + b.Base21); sumBills.IVATotal = billsSameMounths.Sum(b => b.IVA4 + b.IVA10 + b.IVA21); sumBills.ImporteTotal = sumBills.Exento + sumBills.BaseTotal + sumBills.IVATotal; sumBillsTotals.Add(sumBills); } return(sumBillsTotals); }
public void ReturnValuesPropertiesCorrect_WhenSetPropertiesAreCorrect() { var sumBills = new SumBills(); var mes = "01"; var exento = 1.0; var baseSuperReducido = 2.0; var baseReducido = 3.0; var baseNormal = 4.0; var ivaSuperRedudico = 5.0; var ivaReducido = 6.0; var ivaNormal = 7.0; var baseTotal = 8.0; var ivaTotal = 9.0; var importeTotal = 10.0; sumBills.Mes = mes; sumBills.Exento = exento; sumBills.BaseSuperReducido = baseSuperReducido; sumBills.BaseReducido = baseReducido; sumBills.BaseNormal = baseNormal; sumBills.IVASuperReducido = ivaSuperRedudico; sumBills.IVAReducido = ivaReducido; sumBills.IVANormal = ivaNormal; sumBills.BaseTotal = baseTotal; sumBills.IVATotal = ivaTotal; sumBills.ImporteTotal = importeTotal; var expectedMes = mes; var expectedExento = exento; var expectedSuperReducido = baseSuperReducido; var expectedReducido = baseReducido; var expectedNormal = baseNormal; var expectedIvaSuperReducido = ivaSuperRedudico; var expectedIvaReducido = ivaReducido; var expectedIvaNormal = ivaNormal; var expectedBaseTotal = baseTotal; var expectedIvaTotal = ivaTotal; var expectedImporteTotal = importeTotal; Assert.AreEqual(expectedMes, sumBills.Mes); Assert.AreEqual(expectedExento, sumBills.Exento); Assert.AreEqual(expectedSuperReducido, sumBills.BaseSuperReducido); Assert.AreEqual(expectedReducido, sumBills.BaseReducido); Assert.AreEqual(expectedNormal, sumBills.BaseNormal); Assert.AreEqual(expectedIvaSuperReducido, sumBills.IVASuperReducido); Assert.AreEqual(expectedIvaReducido, sumBills.IVAReducido); Assert.AreEqual(expectedIvaNormal, sumBills.IVANormal); Assert.AreEqual(expectedBaseTotal, sumBills.BaseTotal); Assert.AreEqual(expectedIvaTotal, sumBills.IVATotal); Assert.AreEqual(expectedImporteTotal, sumBills.ImporteTotal); }