/// <summary> /// Determines if the specified user has authorization to a specific position /// </summary> /// <param name="procParams"></param> /// <returns></returns> public AuthorizationResultViewModel Execute(PositionAuthorizationParams procParams) { return(new AuthorizationResultViewModel { UserAuthorized = _context.Positions .Any(x => x.Id == procParams.PositionId && x.Company.JobSearch.User.Id == procParams.RequestingUserId) }); }
public PositionDisplayViewModel Execute(EditPositionParams procParams) { // Verify the user is authorized for the position var authParams = new PositionAuthorizationParams { PositionId = procParams.Id, RequestingUserId = procParams.RequestingUserId }; if (!_positionAuthProcess.Execute(authParams).UserAuthorized) { throw new UserNotAuthorizedForEntityException(typeof(Position), procParams.Id, procParams.RequestingUserId); } Position position = _context.Positions.SingleOrDefault(x => x.Id == procParams.Id); if (position == null) { throw new MJLEntityNotFoundException(typeof(Position), procParams.Id); } position.Title = procParams.Title; position.HasApplied = procParams.HasApplied; position.Notes = procParams.Notes; position.History.Add(new PositionHistory { Title = procParams.Title, HasApplied = procParams.HasApplied, Notes = procParams.Notes, LinkedInId = position.LinkedInId, AuthoringUserId = procParams.RequestingUserId, DateModified = DateTime.Now, HistoryAction = MJLConstants.HistoryUpdate }); _context.SaveChanges(); return(Mapper.Map <Position, PositionDisplayViewModel>(position)); }