public async Task <HttpResponseMessage> EditProfile(EditProfile editProfile) { try { ProfileDAL dal = new ProfileDAL(); JsonResponse response = await dal.EditProfile(editProfile); if (response != null && response.Flag) { return(Request.CreateResponse <JsonResponse>(HttpStatusCode.OK, response)); } else { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, Constants.ErrorNotFound)); } } catch (DbEntityValidationException ex) { var controllerName = ControllerContext.RouteData.Values["controller"].ToString(); var actionName = ControllerContext.RouteData.Values["action"].ToString(); Logger log = new Logger(); log.ErrorLog(ex, controllerName, actionName); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Constants.ErrorSysError)); } }
/// <summary> /// Crea un perfil en base al modelo recibido, considerando únicamente los hijos del primer nivel. /// </summary> /// <param name="profile"></param> /// <returns></returns> public ResultBM CreateProfile(ProfileBM profile) { try { log.AddLogInfo("Creando perfil", "Creando perfil.", this); ProfileDAL profileDal = new ProfileDAL(); ResultBM isValidResult = IsValid(profile); if (!isValidResult.IsValid()) { return(isValidResult); } //Se agrega el root PermissionDTO root = new PermissionDTO(profile.fatherCode, profile.code, profile.Description); profileDal.SaveProfile(root); CreateRelation(profile); log.AddLogInfo("Creando perfil", "El perfil se ha creado exitosamente.", this); return(new ResultBM(ResultBM.Type.OK, "Perfil creado: " + profile.Description)); } catch (Exception exception) { log.AddLogCritical("Recuperando perfil", exception.Message, this); return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("SAVING_ERROR") + " " + exception.Message, exception)); } }
public async Task <HttpResponseMessage> GetEditProfile(int UserID) { try { ProfileDAL dal = new ProfileDAL(); EditProfile data = await dal.GetEditProfile(UserID); if (data != null) { return(Request.CreateResponse <EditProfile>(HttpStatusCode.OK, data)); } else { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, Constants.ErrorNotFound)); } } catch (DbEntityValidationException ex) { var controllerName = ControllerContext.RouteData.Values["controller"].ToString(); var actionName = ControllerContext.RouteData.Values["action"].ToString(); Logger log = new Logger(); log.ErrorLog(ex, controllerName, actionName); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, Constants.ErrorSysError)); } }
private ResultBM DeleteProfile(string code) { try { ProfileDAL profileDal = new ProfileDAL(); log.AddLogInfo("Eliminando perfil", "Eliminando perfil " + code + ".", this); if (profileDal.CanDeleteProfile(code)) { profileDal.DeleteProfile(code); log.AddLogInfo("Eliminando perfil", "Perfil elimnado exitosamente.", this); return(new ResultBM(ResultBM.Type.OK, "Perfil eliminado")); } else { log.AddLogWarn("Borrando perfil", "No se puede eliminar el permiso " + code + " porque está asignado a al menos un usuario.", this); return(new ResultBM(ResultBM.Type.FAIL, SessionHelper.GetTranslation("PERMISSION_UNDELETEABLE_ERROR"))); } } catch (Exception exception) { log.AddLogCritical("Recuperando perfil", exception.Message, this); return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("RETRIEVING_ERROR") + " " + exception.Message, exception)); } }
public DataTable GetProfile() { try { ProfileDAL objDal = new ProfileDAL(); return(objDal.ReadProfile()); } catch { throw; } }
public int GetProfile(string username, string password) { try { ProfileDAL objdal = new ProfileDAL(); return(objdal.ReadProfile(username, password)); } catch (Exception) { return(-1); //MessageBox.Show(ex.Message()); } }
/// <summary> /// Inserta las relaciones en la base de datos /// </summary> /// <param name="relations"></param> private void CreateRelation(ProfileBM root) { List <PermissionDTO> permissions = new List <PermissionDTO>(); ProfileDAL profileDal = new ProfileDAL(); List <ProfileBM> toAnalyse = null; List <PermissionDTO> toExclude = new List <PermissionDTO>(); List <ProfileBM> relations = root.GetChildren(); log.AddLogDebug("Creando relaciones", "Creando relaciones para el perfil " + root.Description + ".", this); //Cada elemento de primer nivel, representan los roots de las distintas jerarquías de los permisos //La relación con los hijos es por exclusion, es decir, se mostrarán todos a menos que se encuentren en la tabla de exclusiones foreach (ProfileBM permission in relations) { //Creo la relación con el padre inmediato permissions.Add(new PermissionDTO(permission.fatherCode, permission.code, permission.Description)); } log.AddLogDebug("Creando relaciones", "Agregando relaciones Perfil - Permisos.", this); profileDal.SaveProfileRelation(permissions); foreach (ProfileBM permission in relations) { toAnalyse = permission.GetAlldescendants(); //Agrego al padre en la lista que debe ser analizada para la exclusión toAnalyse.Add(permission); foreach (ProfileBM item in toAnalyse) { if (item.excluded) { toExclude.Add(new PermissionDTO(item.fatherCode, item.code, item.Description)); } } if (toExclude.Count > 0) { log.AddLogDebug("Creando relaciones", "Agregando relaciones Perfil - Exclusiones.", this); profileDal.SaveProfileExclusionRelation(root.Code, toExclude); } } }
/// <summary> /// Recupera los perfiles creados por el usuario. /// </summary> /// <returns></returns> public ResultBM GetProfiles() { try { ProfileDAL profileDal = new ProfileDAL(); List <PermissionDTO> permissionsDto = profileDal.GetProfiles(); List <PermissionMDL> permissionBms = new List <PermissionMDL>(); log.AddLogInfo("Recuperando perfil", "Recuperando perfiles creados por usuarios.", this); foreach (PermissionDTO permission in permissionsDto) { permissionBms.Add(new PermissionMDL(permission.fatherCode, permission.code, permission.description, permission.excluded)); } log.AddLogInfo("Recuperando perfil", "Recuperando perfiles creados por usuarios recuperados.", this); return(new ResultBM(ResultBM.Type.OK, "Lista de perfiles recuperada exitosamente", permissionBms)); } catch (Exception exception) { log.AddLogCritical("Recuperando perfil", exception.Message, this); return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("RETRIEVING_ERROR") + " " + exception.Message, exception)); } }
public ResultBM UpdateProfile(ProfileBM profile) { try { log.AddLogInfo("Actualizando perfil", "Creando perfil.", this); ProfileDAL profileDal = new ProfileDAL(); ResultBM isValidResult = IsValid(profile); if (!isValidResult.IsValid()) { return(isValidResult); } profileDal.DeleteRelation(profile.code); CreateRelation(profile); log.AddLogInfo("Actualizando perfil", "El perfil se ha actualizado exitosamente.", this); return(new ResultBM(ResultBM.Type.OK, "Perfil actualizado.")); } catch (Exception exception) { log.AddLogCritical("Recuperando perfil", exception.Message, this); return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("UPDATING_ERROR") + " " + exception.Message, exception)); } }
public DataTable GetProfile() { ProfileDAL objDAL = new ProfileDAL(); return(objDAL.ReadProfile()); }
/// <summary> /// Recupera un perfil en base a su id. /// </summary> /// <param name="profileId"></param> /// <returns></returns> public ResultBM GetProfile(string profileId) { try { List <PermissionDTO> permissions; ProfileDAL profileDal = new ProfileDAL(); ProfileBM result; string fatherCode; string code; string description; bool excluded; bool moreItemsToAdd = true; int maxIterations = 0; //Condición de corte del while en caso de una eventualidad log.AddLogInfo("Recuperando perfil", "Recuperando perfil " + profileId + ".", this); permissions = profileDal.GetProfile(profileId); if (permissions == null) { throw new Exception(SessionHelper.GetTranslation("NO_PERMISSION_FOUND_ERROR")); } else if (permissions.Count == 1) { //En caso de obtener sólo un permiso, debe crearse como hijo. fatherCode = permissions[0].fatherCode; code = permissions[0].code; description = permissions[0].description; excluded = permissions[0].excluded; result = new PermissionMDL(fatherCode, code, description, excluded); } else { //La estrategia consiste en obtener el primer elemento y considerarlo root (garantizado por la base de dato). //Luego, recorrer la lista de los permisos y asignarlos al root hasta que la lista de permisos esté vacía. //Para vaciar la lista, considerar la siguiente estrategia: si se agregó, se borra de la lista. fatherCode = permissions[0].fatherCode; code = permissions[0].code; description = permissions[0].description; excluded = permissions[0].excluded; result = new PermissionsMDL(fatherCode, code, description, excluded); while (moreItemsToAdd) { for (int i = permissions.Count - 1; i > 0; --i) { fatherCode = permissions[i].fatherCode; code = permissions[i].code; description = permissions[i].description; excluded = permissions[i].excluded; if (result.AddPermissionSorted(new PermissionMDL(fatherCode, code, description, excluded))) { permissions.RemoveAt(i); } } maxIterations += 1; moreItemsToAdd = (permissions.Count > 0 && maxIterations < 100); } } log.AddLogInfo("Recuperando perfil", "Perfil " + profileId + " recuperado.", this); return(new ResultBM(ResultBM.Type.OK, "Permiso recuperado.", result)); } catch (Exception exception) { log.AddLogCritical("Recuperando perfil", exception.Message, this); return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("RETRIEVING_ERROR") + " " + exception.Message, exception)); } }
public List <CoreProfile> GetProfileList() { ProfileDAL dal = new ProfileDAL(); return(dal.GetProfileList()); }