Example #1
0
        public void Save(int idPlan, List <SelectDto> selectUsers)
        {
            //Suppression
            //DeleteByIdPlan(idPlan);

            List <PlanUser> planUsers = _planUserService.GetByIdPlan(idPlan);

            //check enregistrement dans planPosteUser non present dans selectUsers
            var planPosteUsers = UserNotInForPlan(idPlan, selectUsers);

            if (planPosteUsers.Count > 0)
            {
                throw new Exception($"Impossible de supprimer l'utilisateur: {planPosteUsers[0].PlanUser.User.LastName}");
            }

            //Enregistrement
            foreach (var user in selectUsers)
            {
                var planUser = planUsers.Where(x => x.IdUser == user.Id).FirstOrDefault();
                if (planUser == null)
                {
                    var planUserNew = new PlanUser
                    {
                        IdPlan = idPlan,
                        IdUser = user.Id
                    };
                    _planUserService.Create(planUserNew);
                }
            }
        }
Example #2
0
        public async void UnassignUserPlan(int userId, int planId)
        {
            PlanUser userPlan = await FindByUserIdAndPlanId(userId, planId);

            if (userPlan != null)
            {
                Remove(userPlan);
            }
        }
Example #3
0
        public async Task AssignUserPlan(int userId, int planId)
        {
            PlanUser userPlan = await FindByUserIdAndPlanId(userId, planId);

            if (userPlan == null)
            {
                userPlan = new PlanUser {
                    UserId = userId, PlanId = planId
                };
                await AddAsync(userPlan);
            }
        }
Example #4
0
        public async Task <UserPlanResponse> UnassignUserPlanAsync(int userId, int planId)
        {
            try
            {
                PlanUser userPlan = await _userPlanRepository.FindByUserIdAndPlanId(userId, planId);

                _userPlanRepository.Remove(userPlan);
                await _unitOfWork.CompleteAsync();

                return(new UserPlanResponse(userPlan));
            }
            catch (Exception ex)
            {
                return(new UserPlanResponse($"An error ocurred while unnasigning Plan to User {ex.Message}"));
            }
        }
Example #5
0
 public void Remove(PlanUser userPlan)
 {
     _context.PlanUsers.Remove(userPlan);
 }
Example #6
0
 public async Task AddAsync(PlanUser userPlan)
 {
     await _context.PlanUsers.AddAsync(userPlan);
 }
Example #7
0
 public void Create(PlanUser planUser)
 {
     _planUserRepository.Create(planUser);
 }