public void UpdateFunctionalitiesPerRole(int roleID, string[] enabledfunctionalities, string[] disabledfunctionalities) { var role = Repository <Role>().GetSingle(c => c.RoleID == roleID); enabledfunctionalities.ForEach( (funct, idx) => { if (!string.IsNullOrEmpty(funct)) { var ar = new FunctionalityRole { FunctionalityName = funct, RoleID = roleID }; if (role.FunctionalityRoles.Where(x => x.FunctionalityName == funct && x.RoleID == roleID).Count() < 1) { Repository <FunctionalityRole>().Add(ar); } } }); disabledfunctionalities.ForEach( (disabledFunc, idx) => { if (!string.IsNullOrEmpty(disabledFunc)) { var ar = role.FunctionalityRoles.Where(x => x.FunctionalityName == disabledFunc && x.RoleID == roleID).FirstOrDefault(); if (ar != null) { Repository <FunctionalityRole>().Delete(ar); } } }); }
void rootGridViewFuncRoles_CellValueChanged(object sender, CellValueChangedEventArgs e) { try { GridView view = sender as GridView; int row = view.FocusedRowHandle; if (CurrentState == ActionsStates.Edit) { object functionalityId = view.GetRowCellValue(row, eFunctionalityRoleColumns.FunctionalityId.ToString()); object roleId = view.GetRowCellValue(row, eFunctionalityRoleColumns.RoleId.ToString()); object read = view.GetRowCellValue(row, eFunctionalityRoleColumns.Read.ToString()); object _new = view.GetRowCellValue(row, eFunctionalityRoleColumns.New.ToString()); object modify = view.GetRowCellValue(row, eFunctionalityRoleColumns.Modify.ToString()); FunctionalityRole tmpFunctionalityRole = new FunctionalityRole(); tmpFunctionalityRole.FunctionalityId = (int)functionalityId; tmpFunctionalityRole.RoleId = (roleId ?? string.Empty).ToString(); tmpFunctionalityRole.Read = (bool)read; tmpFunctionalityRole.New = (bool)_new; tmpFunctionalityRole.Modify = (bool)modify; AddModifiedFuncRoleToList(tmpFunctionalityRole); } } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void ModifyFunctionalityRole() { try { var func = GlobalSetting.FunctionalityRoleService.ModifyFunctionalityRole(null); Assert.Fail("Expected exception"); } catch (ArgumentNullException) { Assert.IsTrue(true); } try { var fr = new FunctionalityRole { RoleId = "XXXXXX", FunctionalityId = 1, Read = false, New = false, Modify = false, }; var func = GlobalSetting.FunctionalityRoleService.ModifyFunctionalityRole(fr); Assert.Fail("Expected exception"); } catch (NonexistentFunctionalityRoleException) { Assert.IsTrue(true); } try { using (var db = new HKSupplyContext()) { var funcMatManagement = GlobalSetting.FunctionalityService.GetFunctionalityByName("Materials Management"); var fr = GlobalSetting.FunctionalityRoleService.GetFunctionalityRole(funcMatManagement.FunctionalityId, "OPERATOR"); fr.Read = true; fr.New = false; fr.Modify = true; var func = GlobalSetting.FunctionalityRoleService.ModifyFunctionalityRole(fr); //OK Assert.AreEqual(true, func.Equals(fr)); } } catch (Exception ex) { throw ex; } }
public void NewFunctionalityRole() { try { var functionalityRole = GlobalSetting.FunctionalityRoleService.NewFunctionalityRole(null); //ArgumentNullException Assert.Fail("Expected exception"); } catch (ArgumentNullException) { Assert.IsTrue(true); } try { var existing = GlobalSetting.FunctionalityRoleService.GetFunctionalityRole(1, "ADMIN"); var functionalityRole = GlobalSetting.FunctionalityRoleService.NewFunctionalityRole(existing); //NewExistingFunctionalityRoleException Assert.Fail("Expected exception"); } catch (NewExistingFunctionalityRoleException) { Assert.IsTrue(true); } try { using (var db = new HKSupplyContext()) { var opRole = db.Roles.FirstOrDefault(r => r.RoleId.Equals("OPERATOR")); var funcUserManagement = db.Functionalities.FirstOrDefault(f => f.FunctionalityName.Equals("UserManagement")); var fr = new FunctionalityRole { RoleId = opRole.RoleId, FunctionalityId = funcUserManagement.FunctionalityId, Read = false, New = false, Modify = false, }; var functionalityRole = GlobalSetting.FunctionalityRoleService.NewFunctionalityRole(fr); Assert.AreEqual(true, functionalityRole.Equals(fr)); } } catch (Exception) { throw; } }
private void grdFuncRoles_CellValueChanged(object sender, DataGridViewCellEventArgs e) { try { if (actionsStackView.CurrentState == CustomControls.StackView.ToolbarStates.Edit) { FunctionalityRole tmpFunctionalityRole = new FunctionalityRole(); tmpFunctionalityRole.FunctionalityId = (int)grdFuncRoles.Rows[e.RowIndex].Cells[(int)eFunctionalityRoleColumns.FunctionalityId].Value; tmpFunctionalityRole.RoleId = grdFuncRoles.Rows[e.RowIndex].Cells[(int)eFunctionalityRoleColumns.RoleId].Value.ToString(); tmpFunctionalityRole.Read = (bool)grdFuncRoles.Rows[e.RowIndex].Cells[(int)eFunctionalityRoleColumns.Read].Value; tmpFunctionalityRole.New = (bool)grdFuncRoles.Rows[e.RowIndex].Cells[(int)eFunctionalityRoleColumns.New].Value; tmpFunctionalityRole.Modify = (bool)grdFuncRoles.Rows[e.RowIndex].Cells[(int)eFunctionalityRoleColumns.Modify].Value; AddModifiedFuncRoleToList(tmpFunctionalityRole); } } catch (Exception ex) { MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void AddModifiedFuncRoleToList(FunctionalityRole modifiedFuncRole) { try { var funcRole = _modifiedFunctionalityRole.Where(fr => fr.FunctionalityId.Equals(modifiedFuncRole.FunctionalityId) && fr.RoleId.Equals(modifiedFuncRole.RoleId)).FirstOrDefault(); if (funcRole == null) { _modifiedFunctionalityRole.Add(modifiedFuncRole); } else { funcRole.Read = modifiedFuncRole.Read; funcRole.New = modifiedFuncRole.New; funcRole.Modify = modifiedFuncRole.Modify; } } catch (Exception ex) { throw ex; } }
private void AddCreatedFunctionalityRoleToList(FunctionalityRole createdFunctionalityRole) { try { var funcRole = _createdFunctionalityRole.FirstOrDefault(fr => fr.FunctionalityId.Equals(createdFunctionalityRole.FunctionalityId) && fr.RoleId.Equals(createdFunctionalityRole.RoleId)); if (funcRole == null) { _createdFunctionalityRole.Add(createdFunctionalityRole); } else { funcRole.FunctionalityId = createdFunctionalityRole.FunctionalityId; funcRole.RoleId = createdFunctionalityRole.RoleId; funcRole.Read = createdFunctionalityRole.Read; funcRole.New = createdFunctionalityRole.New; funcRole.Modify = createdFunctionalityRole.Modify; } } catch (Exception ex) { throw ex; } }
/// <summary> /// Modificar un FunctionalityRole /// </summary> /// <param name="modFunctionalityRole"></param> /// <returns></returns> /// <remarks> /// Los campos que se actualizan son los siguientes: /// - Read /// - New /// - Modify /// </remarks> public FunctionalityRole ModifyFunctionalityRole(FunctionalityRole modFunctionalityRole) { try { if (modFunctionalityRole == null) { throw new ArgumentNullException("modFunctionalityRole"); } using (var db = new HKSupplyContext()) { var functionalityRole = db.FunctionalitiesRole .Where(fr => fr.FunctionalityId.Equals(modFunctionalityRole.FunctionalityId) && fr.RoleId.Equals(modFunctionalityRole.RoleId)) .FirstOrDefault(); if (functionalityRole == null) { throw new NonexistentFunctionalityRoleException(GlobalSetting.ResManager.GetString("NoFunctionalityRoleExist")); } functionalityRole.Read = modFunctionalityRole.Read; functionalityRole.New = modFunctionalityRole.New; functionalityRole.Modify = modFunctionalityRole.Modify; db.SaveChanges(); return(GetFunctionalityRole(modFunctionalityRole.FunctionalityId, modFunctionalityRole.RoleId)); //return db.FunctionalitiesRole // .Where(fr => fr.FunctionalityId.Equals(modFunctionalityRole.FunctionalityId) && fr.RoleId.Equals(modFunctionalityRole.RoleId)) // .FirstOrDefault(); } } catch (ArgumentNullException anex) { _log.Error(anex.Message, anex); throw anex; } catch (NonexistentFunctionalityRoleException nfre) { _log.Error(nfre.Message, nfre); throw nfre; } catch (SqlException sqlex) { for (int i = 0; i < sqlex.Errors.Count; i++) { _log.Error("Index #" + i + "\n" + "Message: " + sqlex.Errors[i].Message + "\n" + "Error Number: " + sqlex.Errors[i].Number + "\n" + "LineNumber: " + sqlex.Errors[i].LineNumber + "\n" + "Source: " + sqlex.Errors[i].Source + "\n" + "Procedure: " + sqlex.Errors[i].Procedure + "\n"); switch (sqlex.Errors[i].Number) { case -1: //connection broken case -2: //timeout throw new DBServerConnectionException(GlobalSetting.ResManager.GetString("DBServerConnectionError")); } } throw sqlex; } catch (DbEntityValidationException e) { _log.Error(e.Message, e); throw e; } catch (Exception ex) { _log.Error(ex.Message, ex); throw ex; } }
/// <summary> /// Dar de alta un FunctionalityRole /// </summary> /// <param name="newFunctionalityRole"></param> /// <returns></returns> public FunctionalityRole NewFunctionalityRole(FunctionalityRole newFunctionalityRole) { try { if (newFunctionalityRole == null) { throw new ArgumentNullException("newFunctionalityRole"); } using (var db = new HKSupplyContext()) { var functionalityRole = db.FunctionalitiesRole .Where(fr => fr.FunctionalityId.Equals(newFunctionalityRole.FunctionalityId) && fr.RoleId.Equals(newFunctionalityRole.RoleId)) .FirstOrDefault(); if (functionalityRole != null) { throw new NewExistingFunctionalityRoleException(GlobalSetting.ResManager.GetString("FunctionalityRoleAlreadyExist")); } db.FunctionalitiesRole.Add(newFunctionalityRole); db.SaveChanges(); return(GetFunctionalityRole(newFunctionalityRole.FunctionalityId, newFunctionalityRole.RoleId)); } } catch (ArgumentNullException anex) { _log.Error(anex.Message, anex); throw anex; } catch (NewExistingFunctionalityRoleException nefre) { _log.Error(nefre.Message, nefre); throw nefre; } catch (SqlException sqlex) { for (int i = 0; i < sqlex.Errors.Count; i++) { _log.Error("Index #" + i + "\n" + "Message: " + sqlex.Errors[i].Message + "\n" + "Error Number: " + sqlex.Errors[i].Number + "\n" + "LineNumber: " + sqlex.Errors[i].LineNumber + "\n" + "Source: " + sqlex.Errors[i].Source + "\n" + "Procedure: " + sqlex.Errors[i].Procedure + "\n"); switch (sqlex.Errors[i].Number) { case -1: //connection broken case -2: //timeout throw new DBServerConnectionException(GlobalSetting.ResManager.GetString("DBServerConnectionError")); } } throw sqlex; } catch (Exception ex) { _log.Error(ex.Message, ex); throw ex; } }
private void InitDBData() { try { //Entity Framework //***** Role *****// using (var db = new HKSupplyContext()) { var roleAdmin = new Role { RoleId = "ADMIN", Description = "Application Administrator", Enabled = true, Remarks = null }; var roleOperator = new Role { RoleId = "OPERATOR", Description = "Operator", Enabled = true, Remarks = null }; db.Roles.Add(roleAdmin); db.Roles.Add(roleOperator); db.SaveChanges(); //var query = from b in db.Roles // orderby b.RoleId // select b; //foreach (var item in query) //{ // MessageBox.Show(item.Description); //} //*****users *****// var userAdmin = new User { UserLogin = "******", Name = "Administrator", Password = PasswordHelper.GetHash("adminpwd"), UserRole = roleAdmin, Enabled = true, LastLogin = null, LastLogout = null, Remarks = null }; var userMario = new User { UserLogin = "******", Name = "Mario Ruz Martínez", Password = PasswordHelper.GetHash("mariopwd"), UserRole = roleAdmin, Enabled = true, LastLogin = null, LastLogout = null, Remarks = null }; var userOp1 = new User { UserLogin = "******", Name = "Operator 1", Password = PasswordHelper.GetHash("op1pwd"), UserRole = roleOperator, Enabled = true, LastLogin = null, LastLogout = null, Remarks = null }; db.Users.Add(userAdmin); db.Users.Add(userMario); db.Users.Add(userOp1); db.SaveChanges(); //var queryUser = from u in db.Users // orderby u.UserLogin // select u; //foreach (var item in queryUser) //{ // MessageBox.Show(item.UserLogin); //} //***** Functionalities *****// var funcUM = new Functionality { FunctionalityName = "UserManagement", Category = "Masters", FormName = "frmUserManagement" }; var funcRM = new Functionality { FunctionalityName = "RoleManagement", Category = "Masters", FormName = "frmRoleManagement" }; var funcFM = new Functionality { FunctionalityName = "FunctionalityManagement", Category = "Masters", FormName = "frmFunctionalityManagement" }; var funcMMA = new Functionality { FunctionalityName = "MaterialsManagement", Category = "Masters", FormName = "frmMaterialsManagement" }; db.Functionalities.Add(funcUM); db.Functionalities.Add(funcRM); db.Functionalities.Add(funcFM); db.Functionalities.Add(funcMMA); db.SaveChanges(); //var queryFunc = from f in db.Functionalities // orderby f.FunctionalityName // select f; //foreach (var item in queryFunc) //{ // MessageBox.Show(item.FunctionalityName); //} //***** Functionalities Role *****// var adminRole = db.Roles.FirstOrDefault(r => r.RoleId.Equals("ADMIN")); var opRole = db.Roles.FirstOrDefault(r => r.RoleId.Equals("OPERATOR")); var funcUserManagement = db.Functionalities.FirstOrDefault(f => f.FunctionalityName.Equals("UserManagement")); var funcRoleManagement = db.Functionalities.FirstOrDefault(f => f.FunctionalityName.Equals("RoleManagement")); var funcFunctionalityManagement = db.Functionalities.FirstOrDefault(f => f.FunctionalityName.Equals("FunctionalityManagement")); var funcMaterialsManagement = db.Functionalities.FirstOrDefault(f => f.FunctionalityName.Equals("MaterialsManagement")); var fr1 = new FunctionalityRole { RoleId = adminRole.RoleId, FunctionalityId = funcUserManagement.FunctionalityId, Read = true, New = true, Modify = true, }; var fr2 = new FunctionalityRole { RoleId = adminRole.RoleId, FunctionalityId = funcRoleManagement.FunctionalityId, Read = true, New = true, Modify = true, }; var fr3 = new FunctionalityRole { RoleId = adminRole.RoleId, FunctionalityId = funcFunctionalityManagement.FunctionalityId, Read = true, New = true, Modify = true, }; var fr4 = new FunctionalityRole { RoleId = adminRole.RoleId, FunctionalityId = funcMaterialsManagement.FunctionalityId, Read = true, New = true, Modify = true, }; var fr5 = new FunctionalityRole { RoleId = opRole.RoleId, FunctionalityId = funcMaterialsManagement.FunctionalityId, Read = true, New = false, Modify = false, }; db.FunctionalitiesRole.Add(fr1); db.FunctionalitiesRole.Add(fr2); db.FunctionalitiesRole.Add(fr3); db.FunctionalitiesRole.Add(fr4); db.FunctionalitiesRole.Add(fr5); db.SaveChanges(); } } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } catch (Exception ex) { throw ex; } }