public ActionResult Create(Maqueta2 maqueta2 ,  bool despacho)
        {
            if (ModelState.IsValid)
            {
                string user = this.User.Identity.Name;
                Usuario usuario = db.Usuario.FirstOrDefault(r => r.NOMBRE == user);
                maqueta2.IDVENDEDOR = usuario.ID;
                maqueta2.FECHA = DateTime.Now;

                db.Maqueta2.Add(maqueta2);
                db.SaveChanges();

                if (despacho == true)
                    return RedirectToAction("Create", "NotaVenta");
                else
                    return RedirectToAction("Index");
            }

            ViewBag.IDNOTAVENTA = new SelectList(db.NotaVenta, "ID", "TIPOPAGO", maqueta2.IDNOTAVENTA);
            ViewBag.IDPRODUCTO = new SelectList(db.Producto, "ID", "CODIGO", maqueta2.IDPRODUCTO);
            return View(maqueta2);
        }
 public ActionResult Edit(Maqueta2 maqueta2)
 {
     if (ModelState.IsValid)
     {
         db.Entry(maqueta2).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.IDNOTAVENTA = new SelectList(db.NotaVenta, "ID", "TIPOPAGO", maqueta2.IDNOTAVENTA);
     ViewBag.IDPRODUCTO = new SelectList(db.Producto, "ID", "CODIGO", maqueta2.IDPRODUCTO);
     return View(maqueta2);
 }
        public ActionResult Index(int? EMPRESAS, string VENDEDORES, string DISEÑADORES, DateTime? FECHA1, DateTime? FECHA2, int? VALOR)
        {
            #region MODIFICO FECHAS PARA NO TENER PROBLEMAS DE HORA.
            if (FECHA2 == null)
            {
                FECHA2 = DateTime.Now;
            }
            else
            {
                DateTime aux = FECHA2.Value;
                aux = aux.AddDays(1);
                aux = aux.AddSeconds(-1);
                FECHA2 = aux;
            }
            #endregion

            Datos lista = new Datos(); //VARIABLE CON LAS 2 LISTAS
            lista.Maqueta = new List<Maqueta>();
            lista.Maqueta2 = new List<Maqueta2>();

            List<FechFacMaqu1> lis1 = new List<FechFacMaqu1>();
            List<FechFacMaqu2> lis2 = new List<FechFacMaqu2>();

            lis1 = db.FechFacMaqu1.Where(r => r.FECHA > FECHA1 && r.FECHA < FECHA2).ToList();
            lis2 = db.FechFacMaqu2.Where(r => r.FECHA > FECHA1 && r.FECHA < FECHA2).ToList();

            #region AGREGO TODAS LAS MAQUETAS CON LOGO
            foreach (var item in lis1)
            {
                Maqueta maqueta = db.Maqueta.Find(item.Fk_Maqueta);

                if (EMPRESAS != null)
                {
                    if (maqueta.IDEMPRESA == EMPRESAS)
                    {
                        if (!string.IsNullOrEmpty(VENDEDORES))
                        {
                            if (maqueta.IDVENDEDOR == VENDEDORES)
                            {
                                if (!string.IsNullOrEmpty(DISEÑADORES))
                                {
                                    if (maqueta.IDDISEÑADOR == DISEÑADORES)
                                    {
                                        lista.Maqueta.Add(maqueta);
                                    }
                                    else
                                    {
                                        //NO PERTENECE A LA EMPRESA NO SE AGREGA
                                    }
                                }
                                else
                                {
                                    lista.Maqueta.Add(maqueta);
                                }
                            }
                            else
                            {
                                //NO PERTENECE A LA EMPRESA NO SE AGREGA
                            }
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(DISEÑADORES))
                            {
                                if (maqueta.IDDISEÑADOR == DISEÑADORES)
                                {
                                    lista.Maqueta.Add(maqueta);
                                }
                                else
                                {
                                    //NO PERTENECE A LA EMPRESA NO SE AGREGA
                                }
                            }
                            else
                            {
                                lista.Maqueta.Add(maqueta);
                            }
                        }
                    }
                    else
                    {
                        //NO PERTENECE A LA EMPRESA NO SE AGREGA
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(VENDEDORES))
                    {
                        if (maqueta.IDVENDEDOR == VENDEDORES)
                        {
                            if (!string.IsNullOrEmpty(DISEÑADORES))
                            {
                                if (maqueta.IDDISEÑADOR == DISEÑADORES)
                                {
                                    lista.Maqueta.Add(maqueta);
                                }
                                else
                                {
                                    //NO PERTENECE A LA EMPRESA NO SE AGREGA
                                }
                            }
                            else
                            {
                                lista.Maqueta.Add(maqueta);
                            }
                        }
                        else
                        {
                            //NO PERTENECE A LA EMPRESA NO SE AGREGA
                        }
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(DISEÑADORES))
                        {
                            if (maqueta.IDDISEÑADOR == DISEÑADORES)
                            {
                                lista.Maqueta.Add(maqueta);
                            }
                            else
                            {
                                //NO PERTENECE A LA EMPRESA NO SE AGREGA
                            }
                        }
                        else
                        {
                            lista.Maqueta.Add(maqueta);
                        }
                    }
                }

            }

            #endregion

            #region AGREGO TODAS LAS MAQUETAS SIN LOGO
            foreach (var item in lis2)
            {
                Maqueta2 maqueta2 = db.Maqueta2.Find(item.Fk_Maqueta2);

                if (EMPRESAS != null)
                {
                    if (maqueta2.NotaVenta.IDEMPRESA == EMPRESAS)
                    {
                        if (!string.IsNullOrEmpty(VENDEDORES))
                        {
                            if (maqueta2.NotaVenta.IDVENDEDOR == VENDEDORES)
                            {
                                lista.Maqueta2.Add(maqueta2);
                            }
                            else
                            {
                                //NO PERTENECE A LA EMPRESA NO SE AGREGA
                            }
                        }
                        else
                        {
                            lista.Maqueta2.Add(maqueta2);
                        }
                    }
                    else
                    {
                        //NO PERTENECE A LA EMPRESA NO SE AGREGA
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(VENDEDORES))
                    {
                        if (maqueta2.NotaVenta.IDVENDEDOR == VENDEDORES)
                        {
                            lista.Maqueta2.Add(maqueta2);
                        }
                        else
                        {
                            //NO PERTENECE A LA EMPRESA NO SE AGREGA
                        }
                    }
                    else
                    {
                        lista.Maqueta2.Add(maqueta2);
                    }
                }

            }
            #endregion

            //AQUI YA TENGO LA LISTA CON TODAS SUS MAQUETAS VENDIDAS y FACTURADAS.
            //BUSCAR INFORMACION DE MAQUETAS.
            int contador=0;
            double ganancia = 0 ;
            int impresion = 0;
            int venta = 0;
            double mayorventa = 0;
            Maqueta mejorventa1 = new Maqueta();

            foreach(Maqueta item in lista.Maqueta)
            {
                contador++;
                if (item.COSTO == null)
                {
                    item.COSTO = 0;
                }
                impresion = impresion + (item.COSTO.Value *  item.CANTIDAD.Value);
                venta = venta + (item.PRECIOPRODUCTO.Value * item.CANTIDAD.Value);
                double ganancialocal = (Convert.ToDouble((item.COSTO + item.Producto.Costounitario))) * Convert.ToDouble(item.CANTIDAD);
                ganancia = ganancia + ganancialocal;
                if (ganancialocal > mayorventa)
                {
                    mejorventa1 = item;
                    mayorventa = ganancialocal;
                }
            }

            #region CALCULO ASIGNACION DE TOTAL DE VENTAS
            double total =0;
            if(VALOR !=null)
            {
                float c = (float)VALOR.Value;
                c = c / 100;
                total = (impresion + venta)* c;
            }
            #endregion

            Mostrar variable = new Mostrar();
            variable.numero1 = new MostrarMaqueta1();
            variable.numero2 = new MostrarMaqueta2();

            variable.numero1.CANTIDAD = contador;
            variable.numero1.TOTALVENTAS = impresion + venta;
            variable.numero1.TOTALGANANCIAS = ganancia;
            variable.numero1.TOTALVENTAS2 = Math.Round(total, 0);
            variable.numero1.CODIGOMAQUETA = mejorventa1.CODIGO;
            variable.numero1.CANTIDADMAQUETA = mejorventa1.CANTIDAD;

            //BUSCAR INFORMACION DE NOTAS DE VENTA
            contador = 0;
            ganancia = 0;
            impresion = 0;
            venta = 0;
            mayorventa = 0;
            Maqueta2 mejorventa2 = new Maqueta2();

            foreach (Maqueta2 item in lista.Maqueta2)
            {
                //CANTIDAD DE VENTAS
                contador++;
                //TOTAL VENTAS $$
                impresion = impresion + (item.PRECIOVENTA.Value * item.CANTIDAD.Value);
                //TOTAL GANANCIAS
                if (item.Producto.IDCOSTO != null)
                {
                    double ganan = ((item.PRECIOVENTA.Value - item.Producto.Costounitario.Value) * item.CANTIDAD.Value);
                    ganancia = ganancia + ganan;
                    if (ganan > mayorventa)
                    {
                        mejorventa2 = item;
                        mayorventa = ganan;
                    }
                }
            }

            variable.numero2.CANTIDAD = contador;
            variable.numero2.TOTALVENTAS = impresion + venta;
            variable.numero2.TOTALGANANCIAS = ganancia;
            variable.numero2.TOTALVENTAS2 = Math.Round(total, 0);
            variable.numero2.CODIGOMAQUETA = mejorventa1.CODIGO;
            variable.numero2.CANTIDADMAQUETA = mejorventa1.CANTIDAD;

            ViewBag.VENDEDORES = new SelectList(db.Usuario.Where(r => r.IDCARGO == 2), "ID", "NOMBRE");
            ViewBag.DISEÑADORES = new SelectList(db.Usuario.Where(r => r.IDCARGO == 3), "ID", "NOMBRE");
            ViewBag.EMPRESAS = new SelectList(db.Empresa, "ID", "NOMBRE");
            return View(variable);
        }