public static IngresosPorVentas IngresosPorVentasPorProducto(int codigoProducto, int tiempoProyeccion) { using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)) { var ingreso = new IngresosPorVentas(); for (int i = 1; i <= 10; i++) { switch (i) { case 1: if (i <= tiempoProyeccion) { ingreso.Year1 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year1 = 0; } break; case 2: if (i <= tiempoProyeccion) { ingreso.Year2 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year2 = 0; } break; case 3: if (i <= tiempoProyeccion) { ingreso.Year3 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year3 = 0; } break; case 4: if (i <= tiempoProyeccion) { ingreso.Year4 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year4 = 0; } break; case 5: if (i <= tiempoProyeccion) { ingreso.Year5 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year5 = 0; } break; case 6: if (i <= tiempoProyeccion) { ingreso.Year6 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year6 = 0; } break; case 7: if (i <= tiempoProyeccion) { ingreso.Year7 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year7 = 0; } break; case 8: if (i <= tiempoProyeccion) { ingreso.Year8 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year8 = 0; } break; case 9: if (i <= tiempoProyeccion) { ingreso.Year9 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year9 = 0; } break; case 10: if (i <= tiempoProyeccion) { ingreso.Year10 = VentasPorPeriodo(codigoProducto, i); } else { ingreso.Year10 = 0; } break; } } ingreso.Tipo = 3; var producto = Negocio.PlanDeNegocioV2.Formulacion.Solucion.Producto.GetProductoById(codigoProducto); ingreso.Iva = producto.Iva.GetValueOrDefault(0); ingreso.NombreProducto = producto.NomProducto; return(ingreso); } }
public static List <IngresosPorVentas> GetIngresosPorVentas(int codigoProyecto) { using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)) { int tiempo = 3; var tiempoProyeccion = Negocio.PlanDeNegocioV2.Formulacion.DesarrolloSolucion.Proyeccion.GetTiempoProyeccion(codigoProyecto); if (tiempoProyeccion != null) { tiempo = (int)tiempoProyeccion.TiempoProyeccion; } var productos = Negocio.PlanDeNegocioV2.Formulacion.Solucion.Producto.GetProductosByProyecto(codigoProyecto); var ingresosPorProductos = new List <IngresosPorVentas>(); foreach (var producto in productos) { var ingreso = IngresosPorVentasPorProducto(producto.Id_Producto, tiempo); ingresosPorProductos.Add(ingreso); } var iva = new IngresosPorVentas(); iva.Tipo = 1; iva.Iva = 0; iva.Year1 = ingresosPorProductos.Sum(sumatory => (sumatory.Year1 * sumatory.Iva / 100)); iva.Year2 = ingresosPorProductos.Sum(sumatory => (sumatory.Year2 * sumatory.Iva / 100)); iva.Year3 = ingresosPorProductos.Sum(sumatory => (sumatory.Year3 * sumatory.Iva / 100)); iva.Year4 = ingresosPorProductos.Sum(sumatory => (sumatory.Year4 * sumatory.Iva / 100)); iva.Year5 = ingresosPorProductos.Sum(sumatory => (sumatory.Year5 * sumatory.Iva / 100)); iva.Year6 = ingresosPorProductos.Sum(sumatory => (sumatory.Year6 * sumatory.Iva / 100)); iva.Year7 = ingresosPorProductos.Sum(sumatory => (sumatory.Year7 * sumatory.Iva / 100)); iva.Year8 = ingresosPorProductos.Sum(sumatory => (sumatory.Year8 * sumatory.Iva / 100)); iva.Year9 = ingresosPorProductos.Sum(sumatory => (sumatory.Year9 * sumatory.Iva / 100)); iva.Year10 = ingresosPorProductos.Sum(sumatory => (sumatory.Year10 * sumatory.Iva / 100)); var total = new IngresosPorVentas(); total.Tipo = 2; total.Iva = 0; total.Year1 = ingresosPorProductos.Sum(sumatory => (sumatory.Year1)); total.Year2 = ingresosPorProductos.Sum(sumatory => (sumatory.Year2)); total.Year3 = ingresosPorProductos.Sum(sumatory => (sumatory.Year3)); total.Year4 = ingresosPorProductos.Sum(sumatory => (sumatory.Year4)); total.Year5 = ingresosPorProductos.Sum(sumatory => (sumatory.Year5)); total.Year6 = ingresosPorProductos.Sum(sumatory => (sumatory.Year6)); total.Year7 = ingresosPorProductos.Sum(sumatory => (sumatory.Year7)); total.Year8 = ingresosPorProductos.Sum(sumatory => (sumatory.Year8)); total.Year9 = ingresosPorProductos.Sum(sumatory => (sumatory.Year9)); total.Year10 = ingresosPorProductos.Sum(sumatory => (sumatory.Year10)); var totalMasIva = new IngresosPorVentas(); totalMasIva.Tipo = 0; totalMasIva.Iva = 0; totalMasIva.Year1 = ingresosPorProductos.Sum(sumatory => sumatory.Year1 + (sumatory.Year1 * sumatory.Iva / 100)); totalMasIva.Year2 = ingresosPorProductos.Sum(sumatory => sumatory.Year2 + (sumatory.Year2 * sumatory.Iva / 100)); totalMasIva.Year3 = ingresosPorProductos.Sum(sumatory => sumatory.Year3 + (sumatory.Year3 * sumatory.Iva / 100)); totalMasIva.Year4 = ingresosPorProductos.Sum(sumatory => sumatory.Year4 + (sumatory.Year4 * sumatory.Iva / 100)); totalMasIva.Year5 = ingresosPorProductos.Sum(sumatory => sumatory.Year5 + (sumatory.Year5 * sumatory.Iva / 100)); totalMasIva.Year6 = ingresosPorProductos.Sum(sumatory => sumatory.Year6 + (sumatory.Year6 * sumatory.Iva / 100)); totalMasIva.Year7 = ingresosPorProductos.Sum(sumatory => sumatory.Year7 + (sumatory.Year7 * sumatory.Iva / 100)); totalMasIva.Year8 = ingresosPorProductos.Sum(sumatory => sumatory.Year8 + (sumatory.Year8 * sumatory.Iva / 100)); totalMasIva.Year9 = ingresosPorProductos.Sum(sumatory => sumatory.Year9 + (sumatory.Year9 * sumatory.Iva / 100)); totalMasIva.Year10 = ingresosPorProductos.Sum(sumatory => sumatory.Year10 + (sumatory.Year10 * sumatory.Iva / 100)); ingresosPorProductos.Add(total); ingresosPorProductos.Add(iva); ingresosPorProductos.Add(totalMasIva); return(ingresosPorProductos); } }