public int DelRoleOperation(RoleOperations roleOperations, User registerUser) { var conn = StrConexion; var iResultado = 0; using (var sqlCon = new SqlConnection(conn)) { sqlCon.Open(); var cmd = new SqlCommand { Connection = sqlCon, CommandType = CommandType.StoredProcedure, CommandText = "usp_RoleOperationsDelete" }; cmd.Parameters.Add("@RoleId", SqlDbType.Int).Value = roleOperations.RoleId; cmd.Parameters.Add("@OperationId", SqlDbType.Int).Value = roleOperations.OperationId; cmd.Parameters.Add("@ModificationUserId", SqlDbType.NVarChar).Value = registerUser.UserId; cmd.Parameters.Add("@DeclineDate", SqlDbType.DateTime).Value = Convert.ToDateTime(string.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(roleOperations.DeclineDate))); iResultado = cmd.ExecuteNonQuery(); } return(iResultado); }
public string AddUserRole(RoleOperations ar) { using (DBEntities db = new DBEntities()) { if (!db.User.Any(x => x.UserID == ar.UserId)) { return("User does not exist."); } if (!db.Roles.Any(x => x.RoleID == ar.RoleId)) { return("This role does not exist."); } if (db.UserRoles.Any(x => x.UserId == ar.UserId && x.RoleId == ar.RoleId)) { return("User has already this role."); } var userRole = new UserRoles { RoleId = ar.RoleId, UserId = ar.UserId }; db.UserRoles.Add(userRole); db.SaveChanges(); return("Role has been added."); } }
public List <RoleOperations> GetRoleOperations(Role role) { var conn = StrConexion; var roleOperationList = new List <RoleOperations>(); using (var sqlCon = new SqlConnection(conn)) { sqlCon.Open(); var cmd = new SqlCommand { Connection = sqlCon, CommandType = CommandType.StoredProcedure, CommandText = "usp_GetoperationRole" }; cmd.Parameters.AddWithValue("@RoleId", role.RoleId); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { var roleOperations = new RoleOperations() { RoleId = (int)reader["RoleId"], OperationId = (int)reader["OperationId"] }; roleOperationList.Add(roleOperations); } } return(roleOperationList); }
public List <RoleOperations> DsToOperationList(DataSet ds) { List <RoleOperations> rops = new List <RoleOperations>(); if (DataValidate.CheckDataSetNotEmpty(ds)) { foreach (DataRow dr in ds.Tables[0].Rows) { RoleOperations rop = new RoleOperations(); rop.OperationID = Convert.ToInt32(dr["Ope_ID"]); rop.OperationName = dr["Ope_Name"].ToString(); rops.Add(rop); } } return(rops); }
public string UpdateUserRole(RoleOperations ar) { using (DBEntities db = new DBEntities()) { var userRole = db.UserRoles.FirstOrDefault(x => x.UserRolesID == ar.UserRoleId); if (userRole == null) { return("User does not exist."); } if (db.UserRoles.Any(x => x.UserId == ar.UserId && x.RoleId == ar.RoleId)) { return("User has this role."); } userRole.RoleId = ar.RoleId; db.SaveChanges(); return("Role has been updated."); } }
public string RemoveUserRole(RoleOperations ar) { using (DBEntities db = new DBEntities()) { if (ar.UserRoleId > 0) { var usrRole = db.UserRoles.FirstOrDefault(x => x.UserRolesID == ar.UserRoleId); if (usrRole != null) { db.UserRoles.Remove(usrRole); } db.SaveChanges(); return("Role has been removed."); } var userRole = db.UserRoles.FirstOrDefault(x => x.UserId == ar.UserId && x.RoleId == ar.RoleId); if (userRole == null) { return("Role/User does not exist."); } db.UserRoles.Remove(userRole); db.SaveChanges(); return("Role has been removed."); } }
/// <summary> /// Initializes client properties. /// </summary> private void Initialize() { PaymentOperations = new PaymentOperations(this); LocationOperations = new LocationOperations(this); BusinessOperations = new BusinessOperations(this); RoleOperations = new RoleOperations(this); EmployeeOperations = new EmployeeOperations(this); WebhookOperations = new WebhookOperations(this); SerializationSettings = new JsonSerializerSettings { Formatting = Formatting.Indented, DateFormatHandling = DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = DateTimeZoneHandling.Utc, NullValueHandling = NullValueHandling.Ignore, ReferenceLoopHandling = ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; DeserializationSettings = new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat, DateTimeZoneHandling = DateTimeZoneHandling.Utc, NullValueHandling = NullValueHandling.Ignore, ReferenceLoopHandling = ReferenceLoopHandling.Serialize, ContractResolver = new ReadOnlyJsonContractResolver(), Converters = new List <JsonConverter> { new Iso8601TimeSpanConverter() } }; }
public Response AddNewRoleOperation(RoleOperations roleOperations, 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("Se ha agregado la operacion {0} al rol {1}.", roleOperations.OperationId, roleOperations.RoleId)*/ LogDescription = string.Format("Agregó la operacion Id {0} al rol Id {1} Fecha vigencia: {2}", roleOperations.OperationId, roleOperations.RoleId, roleOperations.DeclineDate) }; #endregion #region AddUserDataValidation if (roleOperations.RoleId <= 0) { response.Message = "El campo role no puede estar vacío"; return(response); } if (roleOperations.OperationId <= 0) { response.Message = "El campo Operación no puede estar vacío"; return(response); } if (registerUser == null) { response.Message = "No se ha especificado el usuario con permisos para registrar"; return(response); } //Se valida que no exista la prohibición de combinacion de operaciones var operationlogic = new OperationLogic(_configuration); var role = new Role { RoleId = roleOperations.RoleId }; Operation operationB = operationlogic.GetOperationById(roleOperations.OperationId); var applicationLogic = new ApplicationLogic(_configuration); ApplicationPMX application = applicationLogic.GetApplication(operationB.ApplicationId); applicationLogic.Dispose(); /*Aqui hay que hacer algo*/ List <Operation> operations = operationlogic.GetOperationRole(role); foreach (var operationA in operations) { var resultExist = operationlogic.OperationsNotAllowedCombinationExistAndDate(application, operationA, operationB); if (resultExist.Result) { response.Message = "No se puede agregar operación al rol, ya que no está permitida en la combinación de operaciones"; return(response); } } operationlogic.Dispose(); #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); } //Validamos que no este asignada la operación al role var roleLogic = new RoleLogic(_configuration); var lstOperacion = roleLogic.GetRoleOperation(roleOperations.RoleId); roleLogic.Dispose(); var iRes = 0; if (lstOperacion.Any(operation => operation.OperationId.Equals(roleOperations.OperationId))) { iRes = 1; } if (iRes <= 0) { var roleOperationDa = new RoleOperationDA(_configuration); roleOperationDa.AddNewRoleOperation(roleOperations, registerUser); roleOperationDa.Dispose(); response.Message = "Se asocio correctamente la operación {0} al rol {1}"; response.Result = true; } else { response.Message = "La operación ya esta asignada a ese rol, favor de verificar."; } } 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ó asignar la operación al role {0} en el esquema de seguridad, pero ya existe previamente", roleOperations.RoleId), Application = new ApplicationPMX { ApplicationName = _applicationName } }; var loglogic = new LogLogic(_configuration); loglogic.InsertLogEvent(log); loglogic.Dispose(); response.Message = "El rol ha sido registrado previamente"; return(response); } response.Message = string.Format("Ocurrio un error al intentar asignar el rol. {0} {1}", err.Message, DateTime.Now.ToString(CultureInfo.InvariantCulture)); return(response); } return(response); }
public Response DelRoleOperation(RoleOperations roleOperations, 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ó la operacion Id {0} al rol Id {1} Fecha vigencia: {2}", roleOperations.OperationId, roleOperations.RoleId, roleOperations.DeclineDate) }; #endregion #region AddUserDataValidation if (roleOperations.RoleId <= 0) { response.Message = "El campo role no puede estar vacío"; return(response); } if (roleOperations.OperationId <= 0) { response.Message = "El campo Operación no puede estar vacío"; 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 roleOperationDa = new RoleOperationDA(_configuration); roleOperationDa.DelRoleOperation(roleOperations, registerUser); roleOperationDa.Dispose(); response.Message = "Se declino correctamente el rol para uso de operaciones."; 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ó agregar al usuario {0} al esquema de seguridad, pero ya existe previamente", roleOperations.RoleId), Application = new ApplicationPMX { ApplicationName = _applicationName } }; var loglogic = new LogLogic(_configuration); loglogic.InsertLogEvent(log); loglogic.Dispose(); response.Message = "El usuario ha sido registrado previamente"; return(response); } response.Message = string.Format("Ocurrio un error al intentar agregar el usuario. {0} {1}", err.Message, DateTime.Now.ToString(CultureInfo.InvariantCulture)); return(response); } return(response); }