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); } } }
public async void UnassignUserPlan(int userId, int planId) { PlanUser userPlan = await FindByUserIdAndPlanId(userId, planId); if (userPlan != null) { Remove(userPlan); } }
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); } }
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}")); } }
public void Remove(PlanUser userPlan) { _context.PlanUsers.Remove(userPlan); }
public async Task AddAsync(PlanUser userPlan) { await _context.PlanUsers.AddAsync(userPlan); }
public void Create(PlanUser planUser) { _planUserRepository.Create(planUser); }