public ActionResult <OrgRoleDTO> Add(OrgRoleDTO roleDTO) { AppLogger.Instance.LogBegin(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); try { OrgRole orgRoleModel = ModelFactory.Instance.CreateModel(roleDTO); _orgRoles.Add(orgRoleModel); _appDBContext.SaveChanges(); return(new ActionResult <OrgRoleDTO>() { ReturnCode = eReturnCode.Success, ReturnDescription = "Role added successfully", Result = ModelFactory.Instance.CreateDTO(orgRoleModel) }); } catch (Exception ex) { AppLogger.Instance.Log(eLogType.Error, ex.ToString()); return(new ActionResult <OrgRoleDTO>() { ReturnCode = eReturnCode.Failure, ReturnDescription = "Role add error" }); } finally { AppLogger.Instance.LogEnd(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); } }
public ActionResult <string> Update(OrgRoleDTO orgRoleDTO) { AppLogger.Instance.LogBegin(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); try { OrgRole orgRole = _orgRoles.Where(e => e.Id == orgRoleDTO.Id).FirstOrDefault(); if (orgRole != null) { orgRole.Name = orgRoleDTO.Name; orgRole.Description = orgRoleDTO.Description; orgRole.ParentRoleId = orgRoleDTO.ParentRoleId; _appDBContext.SaveChanges(); } return(new ActionResult <string>() { ReturnCode = eReturnCode.Success, ReturnDescription = "Role updated successfully", Result = "" }); } catch (Exception ex) { AppLogger.Instance.Log(eLogType.Error, ex.ToString()); return(new ActionResult <string>() { ReturnCode = eReturnCode.Failure, ReturnDescription = "Role updated successfully", Result = "" }); } finally { AppLogger.Instance.LogEnd(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); } }
public ActionResult <OrgRoleDTO> Get(string name) { AppLogger.Instance.LogBegin(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); try { OrgRole role = _orgRoles.Where(e => e.Name == name).FirstOrDefault(); OrgRoleDTO roleDTO = null; if (role != null) { roleDTO = ModelFactory.Instance.CreateDTO(role); } return(new ActionResult <OrgRoleDTO>() { ReturnCode = eReturnCode.Success, ReturnDescription = "Role get success", Result = roleDTO }); } catch (Exception ex) { AppLogger.Instance.Log(eLogType.Error, ex.ToString()); return(new ActionResult <OrgRoleDTO>() { ReturnCode = eReturnCode.Success, ReturnDescription = "Role get error" }); } finally { AppLogger.Instance.LogEnd(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); } }
public ActionResult <string> Delete(int id) { AppLogger.Instance.LogBegin(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); try { OrgRole role = _orgRoles.Where(r => r.Id == id).Include("ChildRoles").FirstOrDefault(); if (role != null) { var emp = (from employee in _employees where employee.RoleId == role.Id select employee).FirstOrDefault(); if (emp == null) { _orgChildRoles = new List <OrgRole>(); GetChildRolesToDelete(role); List <int> existingEmployeeRoles = _employees.Select(e => e.RoleId.Value).ToList(); int employeesInChildRolesCount = _orgChildRoles.Where(r => r.Id.Value.In(existingEmployeeRoles)).Count(); if (employeesInChildRolesCount > 0) { return(new ActionResult <string>() { ReturnCode = eReturnCode.SubOrdinateExists, ReturnDescription = "Role deleted error. Subordiates exists", Result = "" }); } else { foreach (OrgRole orgRole in _orgChildRoles) { _orgRoles.Remove(orgRole); } } } else { return(new ActionResult <string>() { ReturnCode = eReturnCode.EmployeeExists, ReturnDescription = "Role delete error.Employee exists.", Result = "" }); } } _appDBContext.SaveChanges(); return(new ActionResult <string>() { ReturnCode = eReturnCode.Success, ReturnDescription = "Role deleted successfully", Result = "" }); } catch (Exception ex) { AppLogger.Instance.Log(eLogType.Error, ex.ToString()); return(new ActionResult <string>() { ReturnCode = eReturnCode.Failure, ReturnDescription = "Role delete error", Result = "" }); } finally { AppLogger.Instance.LogEnd(this.GetType().Name, System.Reflection.MethodInfo.GetCurrentMethod().Name); } }
public Result UpdateOrgRole(UserContext context, OrgRole role) { //Get Existing OrgRole var roleQuery = new GetOrgRoleByID_Q { ID = role.ID }; var existingRole = _queryDispatcher.Dispatch <GetOrgRoleByID_Q, OrgRole>(context.AccessToken, roleQuery); if (existingRole == null) { throw new Exception("Unable to retrive Role for Update Request"); } //Update OrgRole var roleCmd = new UpdateOrgRole_C { ID = role.ID, OrganizationID = role.OrganizationID, RoleName = role.RoleName, RoleShortName = role.RoleShortName, RoleDisplayName = role.RoleDisplayName, RoleType = role.RoleType, RoleOrderBy = role.RoleOrderBy, IsActive = role.IsActive, IsHidden = role.IsHidden }; var roleResult = _commandDispatcher.Dispatch <UpdateOrgRole_C>(context, roleCmd); if (roleResult.Status != System.Net.HttpStatusCode.OK) { throw new Exception("Error updating Organization Role in DB"); } //Update Mapped PayGrades var pgCmd = new UpdatePayGradesForOrgRole_C { OrgRoleID = role.ID, SupportedPayGrades = new List <int>() }; foreach (var pg in role.SupportedPayGrades) { pgCmd.SupportedPayGrades.Add(pg.ID); } var pgResult = _commandDispatcher.Dispatch <UpdatePayGradesForOrgRole_C>(context, pgCmd); if (pgResult.Status != System.Net.HttpStatusCode.OK) { throw new Exception("Error updating Organization Role - PayGrade Mapping in DB"); } return(roleResult); }
private void GetChildRolesToDelete(OrgRole childRole) { OrgRole tempRole = _orgRoles.Where(r => r.Id == childRole.Id).Include("ChildRoles").FirstOrDefault(); foreach (OrgRole childrole in tempRole.ChildRoles) { GetChildRolesToDelete(childrole); } _orgChildRoles.Add(tempRole); }
public OrgRoleDTO CreateDTO(OrgRole orgRole, bool createChild = true) { return(new OrgRoleDTO() { Id = orgRole.Id.Value, Description = orgRole.Description, Name = orgRole.Name, ParentRole = orgRole.ParentRole == null ? null : CreateDTO(orgRole.ParentRole, false), ParentRoleId = orgRole.ParentRoleId.Value, ChildRoles = createChild ? orgRole.ChildRoles.ToList().Select(sub => CreateDTO(sub, true)).ToList() : null }); }
public IHttpActionResult UpdateOrgRole([FromUri] int id, [FromBody] OrgRole role) { //Ensure that Role Object in Route is the same as Body if (id != role.ID) { return(BadRequest()); } var result = _orgCmdService.UpdateOrgRole(Request.GetUserContext(), role); return(Ok(result)); }
public ActionResult EditOrgRole(OrgRoleEditModel role) { var helper = new HelperFunctions(HttpContext); if (!helper.CheckValidSession()) { return(RedirectToAction("Unauthorized", "Home")); } if (!helper.IsAdmin()) { return(RedirectToAction("Forbidden", "Home")); } try { var roleToEdit = new OrgRole { ID = role.ID, OrganizationID = role.OrganizationID, RoleName = role.RoleName, RoleShortName = role.RoleShortName, RoleDisplayName = role.RoleDisplayName, RoleType = role.RoleType, RoleOrderBy = role.OrderBy, IsActive = role.IsActive, IsHidden = role.IsHidden, SupportedPayGrades = new List <PayGrade>() }; foreach (var pg in role.SupportedPayGrades) { roleToEdit.SupportedPayGrades.Add( new PayGrade { ID = pg } ); } var result = orgRestClient.EditOrgRole(HttpContext, roleToEdit); this.AddToastMessage(result); return(RedirectToAction("EditOrgRole", "Admin", new { roleID = role.ID })); } catch { return(View()); } }
public Result EditOrgRole(HttpContextBase Context, OrgRole Role) { var request = new RestRequest("roles/{id}", Method.PUT) { RequestFormat = DataFormat.Json }; request.AddHeader("Authorization", "access " + Context.Session["AccessToken"].ToString()); request.AddParameter("id", Role.ID, ParameterType.UrlSegment); request.AddBody(Role); var response = _client.Execute<Result>(request); if (response.Content == null) throw new Exception(response.ErrorMessage); return JsonConvert.DeserializeObject<Result>(response.Content); }