public JsonResult ActualizarModuloUsuario(long idEmpresa, long idModulo, long idUsuario, bool Checked) { string result = string.Empty; bool success = false; using (Entities db = new Entities()) { tblModulo_Usuario moduloUsuario = db.tblModulo_Usuario .FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == idModulo && x.IdUsuario == idUsuario); if (moduloUsuario == null) { moduloUsuario = new tblModulo_Usuario { Eliminar = false, IdEmpresa = idEmpresa, IdModulo = idModulo, IdUsuario = idUsuario, }; db.tblModulo_Usuario.Add(moduloUsuario); } moduloUsuario.Actualizar = Checked; tblModulo modulo = db.tblModulo.FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == idModulo); try { db.SaveChanges(); result = string.Empty; success = false; } catch (Exception ex) { result = ex.Message; success = true; } } return(Json(new { success, result })); }
private void ProcesarModuloPadre(long idEmpresa, long idModulo, long idUsuario, bool Selected, bool Actualiza, bool Elimina) { using (Entities db = new Entities()) { tblModulo _padre = db.tblModulo.FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == idModulo); if (_padre != null) { tblModulo_Usuario moduloUsuario = db.tblModulo_Usuario .FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == _padre.IdModulo && x.IdUsuario == idUsuario); if (Selected) { if (moduloUsuario == null) { moduloUsuario = new tblModulo_Usuario { IdEmpresa = idEmpresa, IdModulo = _padre.IdModulo, IdUsuario = idUsuario, }; db.tblModulo_Usuario.Add(moduloUsuario); } moduloUsuario.Actualizar = Actualiza; moduloUsuario.Eliminar = Elimina; } else { if (moduloUsuario != null) { db.tblModulo_Usuario.Remove(moduloUsuario); } } db.SaveChanges(); if (_padre.IdModuloPadre > 0) { ProcesarModuloPadre(idEmpresa, _padre.IdModuloPadre, idUsuario, Selected, Actualiza, Elimina); } } } }
private void ProcesarModulosHijos(long idEmpresa, long idModulo, long idUsuario, bool Selected, bool Actualiza, bool Elimina) { using (Entities db = new Entities()) { List <tblModulo> _modulosHijos = db.tblModulo.Where(x => x.IdEmpresa == idEmpresa && x.IdModuloPadre == idModulo).ToList(); foreach (tblModulo hijo in _modulosHijos) { tblModulo_Usuario moduloUsuario = db.tblModulo_Usuario .FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == hijo.IdModulo && x.IdUsuario == idUsuario); if (Selected) { if (moduloUsuario == null) { moduloUsuario = new tblModulo_Usuario { IdEmpresa = idEmpresa, IdModulo = hijo.IdModulo, IdUsuario = idUsuario, }; db.tblModulo_Usuario.Add(moduloUsuario); } moduloUsuario.Actualizar = Actualiza; moduloUsuario.Eliminar = Elimina; } else { if (moduloUsuario != null) { db.tblModulo_Usuario.Remove(moduloUsuario); } } db.SaveChanges(); ProcesarModulosHijos(idEmpresa, hijo.IdModulo, idUsuario, Selected, Actualiza, Elimina); } } }
public JsonResult SeleccionarModuloUsuario(string idEmpresa, string idModulo, string idUsuario, string Checked) { string result = string.Empty; bool success = false; long IdEmpresa = long.Parse(idEmpresa); long IdModulo = long.Parse(idModulo); long IdUsuario = long.Parse(idUsuario); bool _Checked = bool.Parse(Checked); using (Entities db = new Entities()) { tblModulo_Usuario moduloUsuario = db.tblModulo_Usuario .FirstOrDefault(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModulo && x.IdUsuario == IdUsuario); if (_Checked) { if (moduloUsuario == null) { moduloUsuario = new tblModulo_Usuario { Actualizar = false, Eliminar = false, IdEmpresa = IdEmpresa, IdModulo = IdModulo, IdUsuario = IdUsuario, }; db.tblModulo_Usuario.Add(moduloUsuario); } } else { if (moduloUsuario != null) { db.tblModulo_Usuario.Remove(moduloUsuario); } } tblModulo modulo = db.tblModulo.FirstOrDefault(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModulo); try { db.SaveChanges(); if (modulo.IdModuloPadre > 0) { ProcesarModuloPadre(IdEmpresa, modulo.IdModuloPadre, IdUsuario, _Checked, false, false); } ProcesarModulosHijos(IdEmpresa, modulo.IdModulo, IdUsuario, _Checked, false, false); result = string.Empty; success = true; } catch (Exception ex) { result = ex.Message; success = false; } } return(Json(new { success, result })); }