Esempio n. 1
0
 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);
     }
 }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 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
     });
 }
Esempio n. 8
0
        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));
        }
Esempio n. 9
0
        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());
            }
        }
Esempio n. 10
0
        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);
        }