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); }
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"); }
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 }
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); }
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); }
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"); }