public ActionResult Procesa(FLUJO f) { FLUJO actual = db.FLUJOes.Where(a => a.NUM_DOC.Equals(f.NUM_DOC)).OrderByDescending(a => a.POS).FirstOrDefault(); DOCUMENTO d = db.DOCUMENTOes.Find(f.NUM_DOC); List <TS_FORM> tts = db.TS_FORM.Where(a => a.BUKRS_ID.Equals(d.SOCIEDAD_ID) && a.LAND_ID.Equals(d.PAIS_ID) && a.TS_CAMPO.ACTIVO).ToList(); if (actual.WORKFP.ACCION.TIPO == "R") { List <DOCUMENTOT> ddt = new List <DOCUMENTOT>(); foreach (TS_FORM ts in tts) { DOCUMENTOT dts = new DOCUMENTOT(); dts.NUM_DOC = f.NUM_DOC; dts.TSFORM_ID = ts.POS; try { string temp = Request.Form["chk-" + ts.POS].ToString(); if (temp == "on") { dts.CHECKS = true; } } catch { dts.CHECKS = false; } int tt = db.DOCUMENTOTS.Where(a => a.NUM_DOC.Equals(f.NUM_DOC) && a.TSFORM_ID == ts.POS).Count(); if (tt == 0) { ddt.Add(dts); } else { db.Entry(dts).State = EntityState.Modified; } } if (ddt.Count > 0) { db.DOCUMENTOTS.AddRange(ddt); } db.SaveChanges(); } FLUJO flujo = actual; flujo.ESTATUS = f.ESTATUS; flujo.FECHAM = DateTime.Now; flujo.COMENTARIO = f.COMENTARIO; flujo.USUARIOA_ID = User.Identity.Name; ProcesaFlujo pf = new ProcesaFlujo(); if (ModelState.IsValid) { string res = pf.procesa(flujo, ""); using (TruequeEntities db1 = new TruequeEntities()) { FLUJO ff = db1.FLUJOes.Where(x => x.NUM_DOC == flujo.NUM_DOC).Include(x => x.WORKFP).OrderByDescending(x => x.POS).FirstOrDefault(); Estatus es = new Estatus();//RSG 18.09.2018 DOCUMENTO ddoc = db1.DOCUMENTOes.Find(f.NUM_DOC); ff.STATUS = es.getEstatus(ddoc); db1.Entry(ff).State = EntityState.Modified; db1.SaveChanges(); } if (res.Equals("0"))//Aprobado { ////return RedirectToAction("Details", "Solicitudes", new { id = flujo.NUM_DOC }); return(RedirectToAction("Index", "Solicitudes")); } else if (res.Equals("1") || res.Equals("2") || res.Equals("3"))//CORREO { Email em = new Email(); string UrlDirectory = Request.Url.GetLeftPart(UriPartial.Path); string image = Server.MapPath("~/images/logo_kellogg.png"); DOCUMENTO doc = db.DOCUMENTOes.Where(x => x.NUM_DOC == flujo.NUM_DOC).First(); string imageFlag = Server.MapPath("~/images/flags/mini/" + doc.PAIS_ID + ".png"); string spras_id = FnCommon.ObtenerSprasId(db, User.Identity.Name); if (res.Equals("1") || res.Equals("2"))//CORREO { em.enviaMailC(f.NUM_DOC, true, spras_id, UrlDirectory, "Index", image, imageFlag); } else { em.enviaMailC(f.NUM_DOC, true, spras_id, UrlDirectory, "Details", image, imageFlag); return(RedirectToAction("Index", "Home")); } ////return RedirectToAction("Details", "Solicitudes", new { id = flujo.NUM_DOC }); return(RedirectToAction("Index", "Solicitudes")); } else { TempData["error"] = res; ////return RedirectToAction("Details", "Solicitudes", new { id = flujo.NUM_DOC }); return(RedirectToAction("Index", "Solicitudes")); } } int pagina = 103; //ID EN BASE DE DATOS string u = User.Identity.Name; var user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault(); FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller); try { string p = Session["pais"].ToString(); ViewBag.pais = p + ".png"; } catch { ////return RedirectToAction("Pais", "Home"); } Session["spras"] = user.SPRAS_ID; return(View(f)); }
public ActionResult Procesa(FLUJO f) { FLUJO actual = db.FLUJOes.Where(a => a.NUM_DOC.Equals(f.NUM_DOC)).OrderByDescending(a => a.POS).FirstOrDefault(); DOCUMENTO d = db.DOCUMENTOes.Find(f.NUM_DOC); List <TS_FORM> tts = db.TS_FORM.Where(a => a.BUKRS_ID.Equals(d.SOCIEDAD_ID) & a.LAND_ID.Equals(d.PAIS_ID)).ToList(); bool c = false; if (actual.WORKFP.ACCION.TIPO == "R") { List <DOCUMENTOT> ddt = new List <DOCUMENTOT>(); foreach (TS_FORM ts in tts) { DOCUMENTOT dts = new DOCUMENTOT(); dts.NUM_DOC = f.NUM_DOC; dts.TSFORM_ID = ts.POS; try { string temp = Request.Form["chk-" + ts.POS].ToString(); if (temp == "on") { dts.CHECKS = true; } c = true; } catch { dts.CHECKS = false; } int tt = db.DOCUMENTOTS.Where(a => a.NUM_DOC.Equals(f.NUM_DOC) & a.TSFORM_ID == ts.POS).Count(); if (tt == 0) { ddt.Add(dts); } else { db.Entry(dts).State = EntityState.Modified; } } if (ddt.Count > 0) { db.DOCUMENTOTS.AddRange(ddt); } db.SaveChanges(); db.Dispose(); } FLUJO flujo = actual; flujo.ESTATUS = f.ESTATUS; flujo.FECHAM = DateTime.Now; flujo.COMENTARIO = f.COMENTARIO; flujo.USUARIOA_ID = User.Identity.Name; ProcesaFlujo pf = new ProcesaFlujo(); if (ModelState.IsValid) { string res = pf.procesa(flujo, ""); using (TAT001Entities db1 = new TAT001Entities()) { FLUJO ff = db1.FLUJOes.Where(x => x.NUM_DOC == flujo.NUM_DOC).Include(x => x.WORKFP).OrderByDescending(x => x.POS).FirstOrDefault(); Estatus es = new Estatus();//RSG 18.09.2018 d = db1.DOCUMENTOes.Find(d.NUM_DOC); ff.STATUS = es.getEstatus(d); db1.Entry(ff).State = EntityState.Modified; db1.SaveChanges(); } if (res.Equals("0"))//Aprobado { return(RedirectToAction("Details", "Solicitudes", new { id = flujo.NUM_DOC })); } else if (res.Equals("1") | res.Equals("2") | res.Equals("3"))//CORREO { //return RedirectToAction("Enviar", "Mails", new { id = flujo.NUM_DOC, index = false, tipo = "A" }); Email em = new Email(); string UrlDirectory = Request.Url.GetLeftPart(UriPartial.Path); string image = Server.MapPath("~/images/logo_kellogg.png"); if (res.Equals("1") | res.Equals("2"))//CORREO { em.enviaMailC(f.NUM_DOC, true, Session["spras"].ToString(), UrlDirectory, "Index", image); } else { em.enviaMailC(f.NUM_DOC, true, Session["spras"].ToString(), UrlDirectory, "Details", image); } return(RedirectToAction("Details", "Solicitudes", new { id = flujo.NUM_DOC })); } else { TempData["error"] = res; return(RedirectToAction("Details", "Solicitudes", new { id = flujo.NUM_DOC })); } } int pagina = 103; //ID EN BASE DE DATOS using (TAT001Entities db = new TAT001Entities()) { string u = User.Identity.Name; var user = db.USUARIOs.Where(a => a.ID.Equals(u)).FirstOrDefault(); ViewBag.permisos = db.PAGINAVs.Where(a => a.ID.Equals(user.ID)).ToList(); ViewBag.carpetas = db.CARPETAVs.Where(a => a.USUARIO_ID.Equals(user.ID)).ToList(); ViewBag.usuario = user; ViewBag.returnUrl = Request.Url.PathAndQuery;; ViewBag.rol = user.PUESTO.PUESTOTs.Where(a => a.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50; ViewBag.Title = db.PAGINAs.Where(a => a.ID.Equals(pagina)).FirstOrDefault().PAGINATs.Where(b => b.SPRAS_ID.Equals(user.SPRAS_ID)).FirstOrDefault().TXT50; ViewBag.warnings = db.WARNINGVs.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList(); ViewBag.textos = db.TEXTOes.Where(a => (a.PAGINA_ID.Equals(pagina) || a.PAGINA_ID.Equals(0)) && a.SPRAS_ID.Equals(user.SPRAS_ID)).ToList(); try { string p = Session["pais"].ToString(); ViewBag.pais = p + ".png"; } catch { //ViewBag.pais = "mx.png"; //return RedirectToAction("Pais", "Home"); } Session["spras"] = user.SPRAS_ID; } return(View(f)); }