bool ValidarCondExistente(WARNINGP warningP, List <WARNING_COND> warningConds) { int pagina_id = 540; bool existeCondParaTabCampo = false; List <WARNING_COND> warningPs = db.WARNINGPs .Where(x => x.CAMPO_ID == warningP.CAMPO_ID && x.TAB_ID == warningP.TAB_ID && x.ID != warningP.ID && ((x.SOCIEDAD_ID == null || x.SOCIEDAD_ID == warningP.SOCIEDAD_ID) && (x.TSOL_ID == null || x.TSOL_ID == warningP.TSOL_ID))) .Join(db.WARNING_COND, w => w.ID, wc => wc.WARNING_ID, (w, wc) => wc) .ToList(); warningPs.ForEach(x => { if (warningConds.Any(y => y.VALOR_COMP == x.VALOR_COMP && y.CONDICION_ID == x.CONDICION_ID)) { existeCondParaTabCampo = true; } }); if (warningConds.Count == 2 && warningConds[0].VALOR_COMP == warningConds[1].VALOR_COMP && warningConds[0].CONDICION_ID == warningConds[1].CONDICION_ID) { existeCondParaTabCampo = true; } if (existeCondParaTabCampo) { ViewBag.mnjError = FnCommon.ObtenerTextoMnj(db, pagina_id, "lbl_mnjExisteCondAlerta", User.Identity.Name); return(false); } return(true); }
bool ValidarAlertaExistente(WARNINGP warningP, List <WARNING_COND> warningConds) { int pagina_id = 540; if (db.WARNINGPs.Any(x => x.ID == warningP.ID && x.TAB_ID == warningP.TAB_ID)) { ViewBag.mnjError = ObtenerTextoMnj(pagina_id, "lbl_mnjExisteAlerta"); return(false); } bool existeCondParaTabCampo = false; List <WARNING_COND> warningPs = db.WARNINGPs .Where(x => x.CAMPO_ID == warningP.CAMPO_ID && x.TAB_ID == warningP.TAB_ID && x.ID != warningP.ID) .Join(db.WARNING_COND, w => w.ID, wc => wc.WARNING_ID, (w, wc) => wc) .ToList(); warningPs.ForEach(x => { if (warningConds.Any(y => y.VALOR_COMP == x.VALOR_COMP && y.CONDICION_ID == x.CONDICION_ID)) { existeCondParaTabCampo = true; } }); if (existeCondParaTabCampo) { ViewBag.mnjError = ObtenerTextoMnj(pagina_id, "lbl_mnjExisteCondAlerta"); return(false); } return(true); }
bool ValidarAlertaExistente(WARNINGP warningP) { int pagina_id = 540; if (db.WARNINGPs.Any(x => x.ID == warningP.ID && x.TAB_ID == warningP.TAB_ID)) { ViewBag.mnjError = FnCommon.ObtenerTextoMnj(db, pagina_id, "lbl_mnjExisteAlerta", User.Identity.Name); return(false); } return(true); }
public ActionResult Edit(AlertaViewModel modelView) { int pagina_id = 542;//ID EN BASE DE DATOS try { WARNINGP warningP = modelView.alerta; List <WARNINGPT> warningts = modelView.alertaMensajes; List <WARNING_COND> warningconds = modelView.alertaCondiciones; //Guardar Alerta db.Entry(warningP).State = EntityState.Modified; //Guardar Mensajes de la Alerta warningts.ForEach(x => { if (x.TAB_ID == null && x.WARNING_ID == null) { x.TAB_ID = warningP.TAB_ID; x.WARNING_ID = warningP.ID; db.WARNINGPTs.Add(x); } else { db.Entry(x).State = EntityState.Modified; } }); //Guardar Condiciones de la Alerta warningconds.ForEach(x => { if (x.TAB_ID == null && x.WARNING_ID == null && x.CONDICION_ID != null && x.VALOR_COMP != null) { x.TAB_ID = warningP.TAB_ID; x.WARNING_ID = warningP.ID; x.ACTIVO = true; db.WARNING_COND.Add(x); } else if (x.CONDICION_ID != null && x.VALOR_COMP != null) { db.Entry(x).State = EntityState.Modified; } }); db.SaveChanges(); return(RedirectToAction("Index")); } catch { ObtenerConfPage(pagina_id); CargarSelectList(ref modelView, new string[] { CMB_SOCIEDADES + "," + modelView.alerta.SOCIEDAD_ID, CMB_TIPOSSOLICITUD + "," + modelView.alerta.TSOL_ID, CMB_TABS + "," + modelView.alerta.TAB_ID, CMB_TIPOS, CMB_CAMPOS + "," + modelView.alerta.CAMPO_ID, CMB_CONDCAMPOS, CMB_CONDVALORES }, modelView.alerta.TAB_ID); return(View(modelView)); } }
public ActionResult Create(AlertaViewModel modelView) { int pagina_id = 541;//ID EN BASE DE DATOS try { WARNINGP warningP = modelView.alerta; List <WARNINGPT> warningts = modelView.alertaMensajes; List <WARNING_COND> warningconds = modelView.alertaCondiciones; warningP.ID = warningP.ID.Replace(" ", "_"); warningP.ACCION = "focusout"; warningP.CAMPOVAL_ID = warningP.CAMPO_ID; if (!ValidarAlertaExistente(warningP, warningconds)) { throw new Exception(); } //Guardar Alerta db.WARNINGPs.Add(warningP); //Guardar Mensajes de la Alerta warningts.ForEach(x => { x.TAB_ID = warningP.TAB_ID; x.WARNING_ID = warningP.ID; db.WARNINGPTs.Add(x); }); //Guardar Condiciones de la Alerta warningconds.ForEach(x => { if (x.CONDICION_ID != null && x.VALOR_COMP != null) { x.TAB_ID = warningP.TAB_ID; x.WARNING_ID = warningP.ID; x.ACTIVO = true; db.WARNING_COND.Add(x); } }); db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception ex) { ObtenerConfPage(pagina_id); CargarSelectList(ref modelView, new string[] { CMB_SOCIEDADES, CMB_TIPOSSOLICITUD, CMB_TABS, CMB_TIPOS, CMB_CAMPOS }, modelView.alerta.TAB_ID); return(View(modelView)); } }
public AlertaViewModel() { alertas = new List <WARNINGP>(); alerta = new WARNINGP(); alertaMensajes = new List <WARNINGPT>(); alertaCondiciones = new List <WARNING_COND>(); sociedades = new List <SelectListItem>(); tabs = new List <SelectListItem>(); tiposSolicitud = new List <SelectListItem>(); campos = new List <SelectListItem>(); tipos = new List <SelectListItem>(); condCampos = new List <SelectListItem>(); condValores = new List <SelectListItem>(); condCampos1 = new List <SelectListItem>(); condValores1 = new List <SelectListItem>(); }
// GET: Alertas/Delete public ActionResult Delete(string warning_id, string tab_id) { WARNINGP warningP = db.WARNINGPs.Where(x => x.ID == warning_id && x.TAB_ID == tab_id).FirstOrDefault(); if (warningP == null) { return(RedirectToAction("Index")); } List <WARNINGPT> warningts = db.WARNINGPTs.Where(x => x.WARNING_ID == warning_id && x.TAB_ID == tab_id).ToList(); List <WARNING_COND> warningconds = db.WARNING_COND.Where(x => x.WARNING_ID == warning_id && x.TAB_ID == tab_id).ToList(); db.WARNING_COND.RemoveRange(warningconds); db.WARNINGPTs.RemoveRange(warningts); db.WARNINGPs.Remove(warningP); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Create(AlertaViewModel modelView) { int pagina_id = 541;//ID EN BASE DE DATOS try { WARNINGP warningpAux = modelView.alerta; bool reverso = (warningpAux.TSOL_ID == "REV"); string id_padre = ""; string tipo_padre = ""; string spras_id = FnCommon.ObtenerSprasId(db, User.Identity.Name); if (!reverso && warningpAux.TSOL_ID.Contains("|")) { id_padre = warningpAux.TSOL_ID.Split('|')[0]; tipo_padre = warningpAux.TSOL_ID.Split('|')[1]; } List <SelectTreeItem> tiposSolicitudesT = tiposSolicitudesDao.ObtenerItemsTSOLT(id_padre, tipo_padre, spras_id, reverso); List <WARNINGP> warningpListAux = new List <WARNINGP>(); bool valido = true; foreach (string sociedad_id in modelView.sociedadesSelected) { foreach (SelectTreeItem tsolt in tiposSolicitudesT) { WARNINGP warningP = new WARNINGP { ID = warningpAux.ID.Replace(" ", "_") + "_" + sociedad_id + "_" + tsolt.value, DESCR = warningpAux.DESCR, SOCIEDAD_ID = sociedad_id, TIPO = warningpAux.TIPO, TSOL_ID = tsolt.value, CAMPOVAL_ID = warningpAux.CAMPO_ID, PAGINA_ID = warningpAux.PAGINA_ID, CAMPO_ID = warningpAux.CAMPO_ID, ACCION = "focusout", TAB_ID = warningpAux.TAB_ID }; warningpListAux.Add(warningP); if (!ValidarAlertaExistente(warningP) || !ValidarCondExistente(warningP, modelView.alertaCondiciones)) { valido = false; } } } if (!valido) { throw (new Exception()); } List <WARNING_COND> warningconds = modelView.alertaCondiciones; List <WARNINGPT> warningts = modelView.alertaMensajes; foreach (WARNINGP warningP in warningpListAux) { //Guardar Alerta db.WARNINGPs.Add(warningP); //Guardar Mensajes warningts.ForEach(x => { x.TAB_ID = warningP.TAB_ID; x.WARNING_ID = warningP.ID; db.WARNINGPTs.Add(new WARNINGPT { SPRAS_ID = x.SPRAS_ID, TAB_ID = warningP.TAB_ID, WARNING_ID = warningP.ID, TXT100 = x.TXT100 }); }); //Guardar Condiciones warningconds.ForEach(x => { if (x.CONDICION_ID != null && x.VALOR_COMP != null) { db.WARNING_COND.Add(new WARNING_COND { TAB_ID = warningP.TAB_ID, WARNING_ID = warningP.ID, POS = x.POS, ANDOR = x.ANDOR, ORAND = x.ORAND, CONDICION_ID = x.CONDICION_ID, ACTIVO = true, VALOR_COMP = (x.VALOR_COMP == "v"?"": x.VALOR_COMP) }); } }); db.SaveChanges(); } return(RedirectToAction("Index")); } catch (Exception e) { Log.ErrorLogApp(e, "Alertas", "Create"); FnCommon.ObtenerConfPage(db, pagina_id, User.Identity.Name, this.ControllerContext.Controller); CargarSelectList(ref modelView, new string[] { CMB_SOCIEDADES, CMBTREE_TIPOSSOLICITUD, CMB_TABS, CMB_TIPOS, CMB_CAMPOS, CMB_CONDCAMPOS, CMB_CONDVALORES }, modelView.alerta.TAB_ID, true, modelView.alertaCondiciones[0].CONDICION_ID, modelView.alertaCondiciones[1].CONDICION_ID); return(View(modelView)); } }
public ActionResult Edit(AlertaViewModel modelView) { int pagina_id = 542;//ID EN BASE DE DATOS bool esAlertaGral = false; try { WARNINGP warningP = modelView.alerta; List <WARNINGPT> warningts = modelView.alertaMensajes; List <WARNING_COND> warningconds = modelView.alertaCondiciones; esAlertaGral = (modelView.alerta.SOCIEDAD_ID == null || modelView.alerta.TSOL_ID == null || modelView.alerta.ID == WARNING_ID_EX); if (!esAlertaGral && !ValidarCondExistente(warningP, warningconds)) { throw(new Exception()); } //Guardar Alerta db.Entry(warningP).State = EntityState.Modified; //Guardar Mensajes warningts.ForEach(x => { if (x.TAB_ID == null && x.WARNING_ID == null) { x.TAB_ID = warningP.TAB_ID; x.WARNING_ID = warningP.ID; db.WARNINGPTs.Add(x); } else { db.Entry(x).State = EntityState.Modified; } }); if (!esAlertaGral) { // Eliminar Condiciones db.WARNING_COND.RemoveRange(db.WARNING_COND.Where(x => x.WARNING_ID == warningP.ID && x.TAB_ID == warningP.TAB_ID)); db.SaveChanges(); //Guardar Condiciones warningconds.ForEach(x => { if (x.VALOR_COMP == "v") { x.VALOR_COMP = ""; } if (x.CONDICION_ID != null && x.VALOR_COMP != null) { x.TAB_ID = warningP.TAB_ID; x.WARNING_ID = warningP.ID; x.ACTIVO = true; db.WARNING_COND.Add(x); } }); } db.SaveChanges(); return(RedirectToAction("Index")); } catch (Exception) { FnCommon.ObtenerConfPage(db, pagina_id, User.Identity.Name, this.ControllerContext.Controller); CargarSelectList(ref modelView, new string[] { CMB_TIPOS, CMB_SOCIEDADES + "," + modelView.alerta.SOCIEDAD_ID, CMB_TIPOSSOLICITUD + "," + modelView.alerta.TSOL_ID, CMB_TABS + "," + modelView.alerta.TAB_ID, CMB_CAMPOS + "," + modelView.alerta.CAMPO_ID, CMB_CONDCAMPOS, CMB_CONDVALORES }, modelView.alerta.TAB_ID, (esAlertaGral ? null : (bool?)true), (esAlertaGral ? null : modelView.alertaCondiciones[0].CONDICION_ID), (esAlertaGral ? null : modelView.alertaCondiciones[1].CONDICION_ID)); return(View(modelView)); } }