public Response DelRole(Role role, User registerUser) { var response = new Response { Message = "Sin inicializar", Result = false }; try { #region logRegister var log = new Log { Application = new ApplicationPMX { ApplicationName = _applicationName }, EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Declinó el rol {0}-{1} a la aplicación id: {2}. Vigente hasta: {3} Autorizador rol: {4} Cargo autorizador: {5} Descripción: {6}", role.RoleId, role.RoleName, role.ApplicationId, role.DeclineDate, role.RoleAuthorizationUserId, role.RoleAuthorizationOwner, role.RoleDescription) }; #endregion #region AddUserDataValidation if (role.RoleId < 0) { response.Message = "La clave del rol no puede estar vacía."; return(response); } if (role.ApplicationId < 0) { response.Message = "La clave de la aplicación no puede estar vacía."; return(response); } if (registerUser == null) { response.Message = "No se ha especificado el usuario con permisos para registrar"; return(response); } #endregion var loglogic = new LogLogic(_configuration); var responseLog = loglogic.InsertLogEvent(log); loglogic.Dispose(); if (!responseLog.Result) { response.Message = string.Format("No se puede insertar en bitácorá el movimiento. {0}", responseLog.Message); return(response); } var roleDa = new RoleDA(_configuration); roleDa.DelRole(role, registerUser); roleDa.Dispose(); response.Message = "Se declino correctamente el rol para uso de Aplicaciones."; response.Result = true; } catch (Exception err) { if (err.Message.Substring(0, 35) == "Violation of PRIMARY KEY constraint") { var log = new Log { EventUser = registerUser, EventTypeId = LogTypeEnum.Notification, LogDescription = string.Format("Se intentó eliminar el rol {0} al esquema de seguridad, pero ya existe previamente", role.RoleId), Application = new ApplicationPMX { ApplicationName = _applicationName } }; var loglogic = new LogLogic(_configuration); loglogic.InsertLogEvent(log); loglogic.Dispose(); response.Message = "El rol ha sido eliminado previamente"; return(response); } response.Message = string.Format("Ocurrio un error al intentar agregar el rol. {0} {1}", err.Message, DateTime.Now.ToString(CultureInfo.InvariantCulture)); return(response); } return(response); }