示例#1
0
        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);
            }
        }
示例#2
0
        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);
            }
        }