Пример #1
0
        public ActionResult Create(Maqueta maqueta)
        {
            if (ModelState.IsValid)
            {
                db.Maqueta.Add(maqueta);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.IDCLIENTE = new SelectList(db.Cliente, "ID", "EMPRESA", maqueta.IDCLIENTE);
            ViewBag.IDEMPRESA = new SelectList(db.Empresa, "ID", "NOMBRE", maqueta.IDEMPRESA);
            ViewBag.CODPRODUCTO = new SelectList(db.Producto, "ID", "CODIGO", maqueta.CODPRODUCTO);
            ViewBag.IDTALLER = new SelectList(db.Taller, "ID", "NOMBRE", maqueta.IDTALLER);
            ViewBag.IDVENDEDOR = new SelectList(db.Usuario, "ID", "NOMBRE", maqueta.IDVENDEDOR);
            ViewBag.IDDISEÑADOR = new SelectList(db.Usuario, "ID", "NOMBRE", maqueta.IDDISEÑADOR);
            return View(maqueta);
        }
Пример #2
0
        public ActionResult Create(HttpPostedFileBase fichero, bool estado, Maqueta model)
        {
            model.CODIGO = model.CODIGO.Replace("-", "");

            bool existe = db.Maqueta.Any(r => r.CODIGO == model.CODIGO);

            if (existe == false)
            {
                tipusu();

                //FICHERO
                if (fichero != null)
                {
                    string nombr = model.CODIGO + ".jpg";
                    SaveBlob(fichero, nombr);
                    model.URL = model.CODIGO + ".jpg".ToString();
                }
                else
                {
                    model.URL = "sin-imagen.jpg".ToString();
                }

                model.FECHA = DateTime.Now;
                //DISEÑADOR
                string nomusuario = this.User.Identity.Name;
                var dfg = from m in db.Usuario
                          where (m.NOMBRE == nomusuario)
                          select m.ID;
                nomusuario = dfg.First().ToString();
                model.IDDISEÑADOR = nomusuario;

                //ESTADO
                model.ESTADO = "NO CONFIRMADO";
                Estado estados = new Estado();
                if (estado == true)
                {
                    int Est = tipousuario();
                    string c = "NO CONFIRMADO";
                    switch (Est)
                    {
                        case 6:
                            c = "APROVADO VENDEDOR";
                            break;
                        case 2:
                            c = "APROVADO SUPERVISOR";
                            break;
                    }
                    model.ESTADO = c.ToString();
                    //ESTADO
                    estados.NOMBRE = c;
                    estados.NOMBRE = c.ToString();
                    estados.FECHA = DateTime.Now;
                    estados.IDMAQUETA = model.CODIGO;
                }
                string GuidString = Guid.NewGuid().ToString("D");
                model.REVISIONCOD = new Guid(GuidString);

                //GUARDAR
                db.Maqueta.Add(model);
                if (estado == true)
                {
                    db.Estado.Add(estados);
                }
                db.SaveChanges();

                string gre = (from m in db.Usuario
                          where (m.ID == model.IDVENDEDOR)
                          select m.EMAIL).First();

                string titulo = "Se ha Creado Maqueta " + model.CODIGO + " con Logo " + model.LOGOTIPO;
                string correo = gre;
                string texto = "Le informamos que su pedido de maqueta ya se encuentra subida al sistema con el codigo " + model.CODIGO + " y esta en espera de su aprobación. <br/><br/>Saludos.";
                //string perdirigido = model.Usuario.NOMBRE;
                //string observacion = model.OBSERVACION;
                //string diseñador = model.Usuario1.NOMBRE;
                _MailService.SendEmail( titulo, correo, texto);
            }
            return RedirectToAction("Index");
        }
Пример #3
0
        public ActionResult Edit(Maqueta maqueta, bool estadox, HttpPostedFileBase fichero, string vendedor , DateTime FECHAMIA)
        {
            if (maqueta.CODPRODUCTO == 499 && maqueta.IDNOTACOMPRA == null)
            {
                int a = tipousuario();
                ViewBag.IDEMPRESA = new SelectList(db.Empresa, "ID", "NOMBRE", maqueta.IDEMPRESA);
                ViewBag.CODPRODUCTO = new SelectList(db.Producto, "ID", "CODIGO", maqueta.CODPRODUCTO);
                ViewBag.IDTALLER = new SelectList(db.Taller, "ID", "NOMBRE", maqueta.IDTALLER);
                ViewBag.IDNOTACOMPRA = new SelectList(db.NotaCompra.Where(r => r.IDVENDEDOR == maqueta.IDVENDEDOR), "ID", "ID", maqueta.IDNOTACOMPRA);
                ViewBag.TEXTO = "LA PRODUCCION AMERITA AGREGAR LA NOTA DE COMPRA";

                string qwerty =this.User.Identity.Name;
                string idusuario = db.Usuario.FirstOrDefault(r => r.NOMBRE == qwerty).ID;

                if (a == 6 || a == 1 || a == 2 || a == 8)
                {
                    ViewBag.IDCLIENTE = new SelectList(db.Cliente.Where(k => k.IDUSUARIO == maqueta.IDVENDEDOR), "ID", "EMPRESA", maqueta.IDCLIENTE);
                }
                else
                {
                    ViewBag.IDCLIENTE = new SelectList(db.Cliente.Where(k => k.IDUSUARIO == idusuario), "ID", "EMPRESA", maqueta.IDCLIENTE);
                }
                return View(maqueta);
            }
            #region LOGICA
            string nomusuario = this.User.Identity.Name;
            Usuario kdk = db.Usuario.FirstOrDefault(r => r.NOMBRE == nomusuario);

            maqueta.FECHAENTREGA = FECHAMIA;

            #region DISEÑADOR Y VENDEDOR
            //SI ES DISEÑADOR LLENAR IDVENDEDOR Y IDDISEÑADOR
            if (kdk.IDCARGO.ToString() == "3")
            {
                //IDVENDEDOR
                if (vendedor != "")
                {
                    string qry = db.Usuario.FirstOrDefault(r => r.NOMBRE == vendedor).ID;
                    //var qry = from m in db.Usuario
                    //          where (m.NOMBRE == vendedor)
                    //          select m.ID;
                    maqueta.IDVENDEDOR = qry.ToString();
                }
                else
                {
                    string qry = db.Maqueta.FirstOrDefault(r=>r.CODIGO==maqueta.CODIGO).IDVENDEDOR;
                             //from m in db.Maqueta
                             // where (m.CODIGO == maqueta.CODIGO)
                             // select m.IDVENDEDOR;
                    maqueta.IDVENDEDOR = qry.ToString();
                }
                //IDDISEÑADOR
                maqueta.IDDISEÑADOR = kdk.ID.ToString();
            }
            #endregion

            #region URL
            if (fichero != null)
            {
                SaveBlob(fichero, maqueta.CODIGO + ".jpg".ToString());
                maqueta.URL = maqueta.CODIGO + ".jpg".ToString();
            }
            else
            {
                var top = from t in db.Maqueta
                          where (t.CODIGO == maqueta.CODIGO)
                          select t.URL;
                string urle = top.First().ToString();
                maqueta.URL = urle;
            }

            var tope = from t in db.Maqueta
                      where (t.CODIGO == maqueta.CODIGO)
                      select t.FECHA;
            if (tope.Count() != 0)
            {
                maqueta.FECHA = tope.First();
            }
            #endregion

            #region CAMBIO DE ESTADO
            Estado estados = new Estado();
            int Est = tipousuario();
            if (estadox == true)
            {
                string c = "";
                switch (Est)
                {
                    case 1:
                        c = "APROBACION SUPERVISOR";
                        break;
                    case 8:
                        c = "APROBACION SUPERVISOR";
                        break;
                    case 6:
                        c = "APROBACION SUPERVISOR";
                        break;
                    case 2:
                        c = "APROBACION VENDEDOR";
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                }
                maqueta.ESTADO = c.ToString();
                estados.NOMBRE = c.ToString();
                estados.FECHA = DateTime.Now;
                estados.IDMAQUETA = maqueta.CODIGO;
            }
            else
            {
                var pep = from e in db.Maqueta
                          where (e.CODIGO == maqueta.CODIGO)
                          select e.ESTADO;
                switch (pep.First().ToString())
                {
                    case "NO CONFIRMADO":
                        maqueta.ESTADO = "NO CONFIRMADO";
                        break;
                    case "APROBACION VENDEDOR":
                        maqueta.ESTADO = "NO CONFIRMADO";
                        break;
                    case "APROBACION SUPERVISOR":
                        maqueta.ESTADO = "APROBACION VENDEDOR";
                        break;
                }
            }
            #endregion

            //ACTUALIZAR
            db.Entry(maqueta).State = EntityState.Modified;

            #region TABLA ESTADO
            if (estadox == true)
            {
                int idcargovar = tipousuario();
                var kje = db.Maqueta.Where(m => m.CODIGO == maqueta.CODIGO);
                var jhg = from e in db.Maqueta
                          where (e.ESTADO == "xxx")
                          select e.CODIGO;
                switch (idcargovar)
                {
                    case 1:
                        kje = kje.Where(m => m.ESTADO != "APROBACION VENDEDOR");
                        if (kje.Count() != 0)
                        {
                            kje = kje.Where(m => m.ESTADO != "NO CONFIRMADO");
                        }
                        break;
                    case 8:
                        kje = kje.Where(m => m.ESTADO != "APROBACION VENDEDOR");
                        if (kje.Count() != 0)
                        {
                            kje = kje.Where(m => m.ESTADO != "NO CONFIRMADO");
                        }
                        break;
                    case 6:
                        jhg = from e in db.Maqueta
                              where (e.ESTADO != "APROBACION VENDEDOR") &&
                              (e.CODIGO == maqueta.CODIGO)
                              select e.CODIGO;
                        kje = kje.Where(m => m.ESTADO == "xxx");
                        break;
                    case 2:
                        jhg = from e in db.Maqueta
                              where (e.ESTADO != "NO CONFIRMADO") &&
                              (e.CODIGO == maqueta.CODIGO)
                              select e.CODIGO;
                        kje = kje.Where(m => m.ESTADO == "xxx");
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                }
                if (jhg.Count() == 0 && kje.Count() == 0)
                {
                    db.Estado.Add(estados);
                }
                else
                {
                    string d = "hola";
                    switch (Est)
                    {
                        case 1:
                            d = "APROBACION SUPERVISOR";
                            break;
                        case 6:
                            d = "APROBACION SUPERVISOR";
                            break;
                        case 2:
                            d = "APROBACION VENDEDOR";
                            break;
                        case 3:
                            break;
                        case 4:
                            break;
                    }
                    var pol = from e in db.Estado
                              where (e.IDMAQUETA == maqueta.CODIGO) &&
                                    (e.NOMBRE == d)
                              select e.ID;
                    Estado est = db.Estado.Find(int.Parse(pol.First().ToString()));
                    db.Estado.Remove(est);
                    db.Estado.Add(estados);
                }
            }
            else
            {

                string d = "hola";
                switch (Est)
                {
                    case 1:
                        d = "APROBACION SUPERVISOR";
                        break;
                    case 6:
                        d = "APROBACION SUPERVISOR";
                        break;
                    case 2:
                        d = "APROBACION VENDEDOR";
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                }
                var pol = from e in db.Estado
                          where (e.IDMAQUETA == maqueta.CODIGO) &&
                                (e.NOMBRE == d)
                          select e.ID;
                if (pol.Count() != 0)
                {
                    Estado est = db.Estado.Find(int.Parse(pol.First().ToString()));
                    db.Estado.Remove(est);
                }
            }
            #endregion

            db.SaveChanges();

            if (maqueta.ESTADO == "APROBACION SUPERVISOR")
            {
                int? b = maqueta.CANTIDAD;
                int? a = maqueta.COSTO;
                int? c = null;
                if(b != null && a !=null){
                    c = a*b;
                }

                if (vendedor == null)
                {
                     Usuario use = db.Usuario.Find(maqueta.IDVENDEDOR);
                     vendedor = use.NOMBRE;
                }

                string gre = (from w in db.Taller
                              where (w.ID == maqueta.IDTALLER)
                              select w.NOMBRE).First();

                valor(vendedor, nomusuario, 1, maqueta.URL, gre, a, c,maqueta.CANTIDAD.Value);

                pegarheader("inter-" + maqueta.URL);
            }

            #region ENVIO DE CORREO
            string titulo, correo, texto;
            switch (maqueta.ESTADO)
            {
                case "NO CONFIRMADO":
                    titulo = "Se ha modificado Maqueta " + maqueta.CODIGO + " con Logo " + maqueta.LOGOTIPO;
                    var gre = from m in db.Usuario
                              where (m.ID == maqueta.IDVENDEDOR)
                              select m.EMAIL;
                    correo = gre.First().ToString();
                    texto = "Estimado: <br/><br/>El diseñador " + nomusuario + " ha modificado la maqueta " + maqueta.CODIGO + " y se encuentra en la espera de su aprovación.";
                    texto = texto + "<br/><br/><a href='ygd.cl/Maqueta/Edit/" + maqueta.CODIGO + "'> Enlace </a>";
                    _MailService.SendEmail(titulo, correo, texto);
                    break;
                case "APROBACION SUPERVISOR":
                    titulo = "APROBACION SUPERVISOR Maqueta " + maqueta.CODIGO + " con Logo " + maqueta.LOGOTIPO;
                    var hjk = from m in db.Usuario
                              where (m.ID == maqueta.IDVENDEDOR)
                              select m.EMAIL;
                    correo = hjk.First().ToString();
                    texto = "Estimado: <br/><br/> El supervisor " + nomusuario + " ha aceptado la maqueta: " + maqueta.CODIGO;
                    texto = texto + "<br/><br/><a href='ygd.cl/Maqueta/Details/" + maqueta.CODIGO + "'> Enlace </a>";
                    _MailService.SendEmail(titulo, correo, texto);
                    break;
                case "APROBACION VENDEDOR":
                    titulo = "APROBACION VENDEDOR Maqueta " + maqueta.CODIGO + " con Logo " + maqueta.LOGOTIPO;
                    var tyu = from m in db.Usuario
                              where (m.ID == maqueta.IDDISEÑADOR)
                              select m.EMAIL;
                    correo = tyu.First().ToString();
                    texto = "Estimado: <br/><br/> El vendedor " + nomusuario + " ha aceptado la maqueta: " + maqueta.CODIGO;
                    texto = texto + "<br/><br/><a href='ygd.cl/Maqueta/Details/" + maqueta.CODIGO + "'> Enlace </a>";
                    _MailService.SendEmail(titulo, correo, texto);
                    List<string> correo2 = new List<string>();
                    correo2 = db.Usuario.Where(r=>r.IDCARGO==6 && r.ESTADO == true /*SUPERVISOR*/).Select(r=>r.EMAIL).ToList();
                    titulo = "Maqueta por aprobar " + maqueta.CODIGO + " con Logo '" + maqueta.LOGOTIPO + "' de " + nomusuario;
                    texto = "Estimado(a): <br/><br/>El vendedor " + nomusuario + " ha agregado una nueva maqueta y se encuentra en la espera de su confirmación.";

                    texto = texto + "<br/><br/> CANTIDAD:" + maqueta.CANTIDAD.ToString();
                    texto = texto + "<br/> PRECIO VENTA:" + maqueta.PRECIOPRODUCTO.ToString();

                    int auxili = maqueta.IDCLIENTE.Value;
                    string facebook = db.Cliente.Where(r => r.ID == auxili).Select(r => r.EMPRESA).FirstOrDefault();

                    texto = texto + "<br/> CLIENTE: " + facebook;
                    texto = texto + "<br/><br/><a href='ygd.cl/Maqueta/Edit/" + maqueta.CODIGO.ToString() + "'> Enlace </a>";
                    _MailService.SendEmailvarioscorreos(titulo, correo2, texto);
                    break;
            }
            #endregion

            return RedirectToAction("Index");
            #endregion
        }
Пример #4
0
        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);
        }
Пример #5
0
 public ActionResult Edit(Maqueta maqueta)
 {
     if (ModelState.IsValid)
     {
         db.Entry(maqueta).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     ViewBag.IDVENDEDOR = new SelectList(db.Usuario, "ID", "NOMBRE", maqueta.IDVENDEDOR);
     ViewBag.IDDISEÑADOR = new SelectList(db.Usuario, "ID", "NOMBRE", maqueta.IDDISEÑADOR);
     return View(maqueta);
 }
Пример #6
0
        public ActionResult Create(Detalle detalle, string id, string TipoFuncion)
        {
            int ec = 0;
            TallerBoleta tallerboleta = new TallerBoleta();
            if (TipoFuncion == "Terminados a Bodega")
            {

                tallerboleta.FECHA = DateTime.Now;
                tallerboleta.CANTIDAD = detalle.CANTIDAD;
                tallerboleta.IDMAQUETA = id;
                var qwr = from g in db.TallerBoleta
                          where (g.IDMAQUETA == id)
                          select g.ACOMULADO;
                if (qwr.Count() == 0)
                {
                    tallerboleta.ACOMULADO = detalle.CANTIDAD;
                }
                else if (qwr.Count() == 1)
                {
                    tallerboleta.ACOMULADO = int.Parse(qwr.First().ToString()) + detalle.CANTIDAD;
                }
                else
                {
                    List<int?> val = qwr.ToList();
                    tallerboleta.ACOMULADO = int.Parse(val.Last().ToString()) + detalle.CANTIDAD;
                }
                db.TallerBoleta.Add(tallerboleta);
                db.SaveChanges();

                var pew = from v in db.TallerBoleta
                          where (v.IDMAQUETA == id)
                          select v.ID;
                List<int> vale = pew.ToList();
                if (vale.Count == 1)
                {
                    ec = vale.First();
                }
                else
                {
                    ec = vale.Last();
                }

                detalle.MOVIMIENTO = ec.ToString();
            }

            switch (TipoFuncion)
            {
                case "Enviar a Taller Desde Bodega":
                    detalle.ORIGEN = "BODEGA-STOCK";
                    detalle.TIPO = "TALLER";
                    break;
                case "Taller Envia Malos a Bodega":
                    detalle.ORIGEN = "TALLER";
                    detalle.TIPO = "BODEGA-MALOS";
                    break;
                case "Terminados a Bodega":
                    detalle.ORIGEN = "TALLER";
                    detalle.TIPO = "BODEGA-LISTOS";
                    break;
                case "Taller Envia Sobrantes a Bodega":
                    detalle.ORIGEN = "TALLER";
                    detalle.TIPO = "BODEGA-STOCK";
                    break;
                case "Entregados a Cliente":
                    detalle.ORIGEN = "BODEGA-LISTOS";
                    detalle.TIPO = "CLIENTE";
                    break;
                case "Cliente devuelve Defectuosos":
                    detalle.ORIGEN = "CLIENTE";
                    detalle.TIPO = "BODEGA-MALOS";
                    break;
            }
            var Qry = from a in db.Detalle
                      where (a.IDMAQUETA == id) &&
                            (a.TIPO == detalle.TIPO)
                      select a.ACUMULADO;
            if (Qry.Count() == 0)
            {
                detalle.ACUMULADO = detalle.CANTIDAD;
                var poi = from a in db.Maqueta
                          where (a.CODIGO == id)
                          select a;
                Maqueta maqueta = new Maqueta();
                maqueta = poi.First();
                if (detalle.TIPO == "TALLER")
                {
                    maqueta.ESTADO = "TRABAJANDO EN BODEGA";
                    Estado estad = new Estado();
                    estad.FECHA = DateTime.Now;
                    estad.IDMAQUETA = maqueta.CODIGO;
                    estad.NOMBRE = maqueta.ESTADO;
                    db.Estado.Add(estad);
                    db.Entry(maqueta).State = EntityState.Modified;
                }
            }
            else
            {
                List<int> lis = new List<int>();
                lis = Qry.ToList();
                int c = lis.Last();
                detalle.ACUMULADO = detalle.CANTIDAD + c;
            }

            var wer = from a in db.Maqueta
                      where (a.CODIGO == id)
                      select a.CANTIDAD;

            int e = int.Parse(wer.First().ToString());
            if (e >= detalle.ACUMULADO)
            {
                detalle.FECHA = DateTime.Now;
                detalle.IDMAQUETA = id;
                if (e == detalle.ACUMULADO)
                {
                    var poi = from a in db.Maqueta
                              where (a.CODIGO == id)
                              select a;
                    Maqueta maqueta = new Maqueta();
                    maqueta = poi.First();
                    switch (maqueta.ESTADO)
                    {
                        case "TRABAJANDO EN BODEGA":
                            maqueta.ESTADO = "ENTREGADAS A TALLER";
                            Estado estad = new Estado();
                            estad.FECHA = DateTime.Now;
                            estad.IDMAQUETA = maqueta.CODIGO;
                            estad.NOMBRE = maqueta.ESTADO;
                            db.Estado.Add(estad);
                            break;
                        case "APROBACION SUPERVISOR":
                            maqueta.ESTADO = "ENTREGADAS A TALLER";
                            Estado estadq = new Estado();
                            estadq.FECHA = DateTime.Now;
                            estadq.IDMAQUETA = maqueta.CODIGO;
                            estadq.NOMBRE = maqueta.ESTADO;

                            db.Estado.Add(estadq);
                            break;
                        case "ENTREGADAS A TALLER":
                            maqueta.ESTADO = "DEVUELTA A BODEGA";
                            Estado estadw = new Estado();
                            estadw.FECHA = DateTime.Now;
                            estadw.IDMAQUETA = maqueta.CODIGO;
                            estadw.NOMBRE = maqueta.ESTADO;
                            db.Estado.Add(estadw);
                            break;
                        case "DEVUELTA A BODEGA":
                            maqueta.ESTADO = "ENTREGADO A CLIENTE";
                            Estado estade = new Estado();
                            estade.FECHA = DateTime.Now;
                            estade.IDMAQUETA = maqueta.CODIGO;
                            estade.NOMBRE = maqueta.ESTADO;
                            db.Estado.Add(estade);
                            if (maqueta.FACTURA != null)
                            {
                                maqueta.ESTADO = "FINIQUITADO";
                                DeleteBlob(maqueta.URL);
                            }
                            break;
                    }
                    db.Entry(maqueta).State = EntityState.Modified;
                }
                db.Detalle.Add(detalle);
                db.SaveChanges();
                /******************************************************/
                /******************************************************/
                /******************************************************/
                /******************************************************/
                string titulo, correo, texto;

                var vbn = from a in db.Maqueta
                          where (a.CODIGO == id)
                          select a;
                Maqueta maqueta2 = new Maqueta();
                maqueta2 = vbn.First();

                titulo = "Nuevo Movimiento de " + id;
                var tyu = from m in db.Usuario
                          where (m.ID == maqueta2.IDVENDEDOR)
                          select m.EMAIL;
                correo = tyu.First().ToString();
                texto = "indefinido";

                switch (TipoFuncion)
                {
                    case "Envio de Taller Desde Bodega":
                        texto = "Se ha enviado a taller " + detalle.CANTIDAD + "Unidades <br/>";
                        texto = texto + "<br/> TOTAL     : " + maqueta2.CANTIDAD;
                        texto = texto + "<br/> ENTREGADOS: " + detalle.ACUMULADO;
                        int xz = int.Parse(maqueta2.CANTIDAD.ToString()) - int.Parse(detalle.ACUMULADO.ToString());
                        texto = texto + "<br/> FALTANTES : " + xz ;

                        break;
                    case "Taller Envia Malos a Bodega":
                        texto = "Se han devuelto" + detalle.CANTIDAD + "Unidades malas a la bodega desde el taller";
                        break;
                    case "Terminados a Bodega":
                        texto = "Se han devuelto " + detalle.CANTIDAD + "Unidades terminadas a Bodega <br/>";
                        texto = texto + "<br/> TOTAL     : " + maqueta2.CANTIDAD;
                        texto = texto + "<br/> ENTREGADOS: " + detalle.ACUMULADO;
                        int we = int.Parse(maqueta2.CANTIDAD.ToString()) - int.Parse(detalle.ACUMULADO.ToString());
                        texto = texto + "<br/> FALTANTES : " + we ;
                        break;
                    case "Taller Envia Sobrantes a Bodega":
                        texto = "El taller a devuelto " + detalle.CANTIDAD + "Unidades sobrante a bodega";
                        break;

                    case "Entregados a Cliente":
                        texto = "Se han entregado" + detalle.CANTIDAD + "Unidades al cliente <br/>";
                        texto = texto + "<br/> TOTAL     : " + maqueta2.CANTIDAD;
                        texto = texto + "<br/> ENTREGADOS: " + detalle.ACUMULADO;
                        int wi = int.Parse(maqueta2.CANTIDAD.ToString()) - int.Parse(detalle.ACUMULADO.ToString());
                        texto = texto + "<br/> FALTANTES : " + wi ;
                        break;
                    case "Cliente devuelve Defectuosos":
                        texto = "El cliente ha devuelto " + detalle.CANTIDAD + "Unidades defectuosas";
                        break;
                }

                _MailService.SendEmail(titulo, correo, texto);

                if ( /*TipoFuncion == "Terminados a Bodega" ||*/ TipoFuncion == "Enviar a Taller Desde Bodega" /* || TipoFuncion == "Entregados a Cliente" */ )
                {
                    return RedirectToAction("Index");
                }
            }
            else
            {
                ViewBag.TEXTO = "NO SE PUEDE ENVIAR; ESTA ENVIANDO MAS DE LOS NECESARIOS.";
                var Lst = new List<string>();
                Lst.Add("Enviar a Taller Desde Bodega");
                Lst.Add("Taller Envia Malos a Bodega");
                Lst.Add("Terminados a Bodega");
                Lst.Add("Taller Envia Sobrantes a Bodega");
                Lst.Add("Entregados a Cliente");
                Lst.Add("Cliente devuelve Defectuosos");

                ViewBag.TipoFuncion = new SelectList(Lst);

                return View();
                //MENSAJE DE NO SE PUEDE, POR QUE ENVIA MAS QUE LOS NECESARIOS.
            }
            return RedirectToAction("Index");
        }