Ejemplo n.º 1
0
        public async Task <AssignUserModel> PrepareAssignUserModel(AssignUserModel model, StoreUserAssign storeUserAssign)
        {
            if (storeUserAssign != null)
            {
                model = model ?? new AssignUserModel();

                model.Id = storeUserAssign.Id;
                model.SelectedUserStoreId = storeUserAssign.StoreId;
                model.SelectedUserIds     = storeUserAssign.StoreUserAssignStore.Select(map => map.UserId).ToList();
                model.CreatedOn           = _dateTimeHelper.ConvertToUserTime(storeUserAssign.CreatedOnUtc, DateTimeKind.Utc);
                model.LastActivityDate    = _dateTimeHelper.ConvertToUserTime(storeUserAssign.ModifiedOnUtc.GetValueOrDefault(DateTime.UtcNow), DateTimeKind.Utc);
            }

            //store
            var stores = await _storeService.GetStores();

            model.AvailableUserStores = stores.Select(store => new SelectListItem
            {
                Text  = store.P_BranchNo.ToString() + " - " + store.P_Name,
                Value = store.P_BranchNo.ToString()
            }).ToList();

            //users
            var users = await _userService.GetUsersAsync();

            model.AvailableUsers = users.Select(user => new SelectListItem
            {
                Text  = user.Username,
                Value = user.Id.ToString()
            }).ToList();

            return(await Task.FromResult(model));
        }
Ejemplo n.º 2
0
        public async Task <AssignUserModel> PrepareAssignUserListModel()
        {
            var assignUsers = await _outletManagementService.GetAllAssignUsersAsync();

            var model = new AssignUserModel
            {
                StoreUsers = assignUsers
            };

            return(model);
        }
 public IHttpActionResult Assign(AssignUserModel model)
 {
     try
     {
         var context   = Repository.HomeContext();
         var userGroup = Repository.Get(model.GroupId);
         var user      = new Repository <User>(context).Get(model.UserId);
         if (model.Assign)
         {
             userGroup.Users.Add(user);
         }
         else
         {
             userGroup.Users.Remove(user);
         }
         context.SaveChanges();
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Ejemplo n.º 4
0
        public IHttpActionResult AddMemberToProject([FromUri] int vacancyId, int projectId, [FromBody] AssignUserModel userId)
        {
            if (Request.Headers.Authorization == null)
            {
                return(Content(HttpStatusCode.Unauthorized, "Invalid token"));
            }
            var token       = Request.Headers.Authorization.ToString();
            var tokenString = token.Substring("Basic ".Length).Trim();

            var project = _projectManager.GetProject(projectId);

            if (_authorizer.GetTokenInfo(tokenString) == null)
            {
                return(Content(HttpStatusCode.Unauthorized, "Invalid token"));
            }

            if (project.Leader != _authorizer.GetTokenInfo(tokenString).UserId)
            {
                return(Content(HttpStatusCode.Unauthorized, "Invalid token"));
            }

            if (_projectManager.GetProjects(prj => prj.Vacancies.Any(vaca => vaca.VacancyId == vacancyId)).SingleOrDefault() == null)
            {
                return(Content(HttpStatusCode.BadRequest, "Vacancy doesn't belong to this project"));
            }

            if (_projectManager.GetProjects(prj => prj.Vacancies.Any(vaca => vaca.VacancyId == vacancyId)).Single().ProjectId != projectId)
            {
                return(Content(HttpStatusCode.BadRequest, "Vacancy doesn't belong to this project"));
            }
            try
            {
                _projectManager.AddMemberToProject(vacancyId, userId.memberId);
            }
            catch (ArgumentOutOfRangeException)
            {
                return(BadRequest());
            }
            catch (AccountNotFoundException ex)
            {
                return(Content(HttpStatusCode.NotFound, ex.Message));
            }
            catch (VacancyNotFoundException ex)
            {
                return(Content(HttpStatusCode.NotFound, ex.Message));
            }
            return(Ok());
        }