public Member Create(Member member) { IInvitationRepository _invitationRepository = new InvitationRepository(); // interdiction de créer un membre s'il n'y a pas d'invitation en cours Invitation invitation = _invitationRepository.GetByUserAndPlanning(member.IdUser, member.IdPlanning); if (invitation == null) { return(null); } using (var connection = Database.GetConnection()) { connection.Open(); var command = connection.CreateCommand(); command.CommandText = MemberQueries.ReqCreate; command.Parameters.AddWithValue($"@{MemberQueries.ColIdUser}", member.IdUser); command.Parameters.AddWithValue($"@{MemberQueries.ColIdPlanning}", member.IdPlanning); command.Parameters.AddWithValue($"@{MemberQueries.ColIsGranted}", member.IsGranted); command.ExecuteNonQuery(); } // une fois le membre présent, plus besoin de l'invitation _invitationRepository.Delete(invitation.Id); return(member); }
public bool canCreate(Invitation invitation) { MemberRepository _memberRepository = new MemberRepository(); UserRepository _userRepository = new UserRepository(); PlanningRepository _planningRepository = new PlanningRepository(); InvitationRepository _invitationRepository = new InvitationRepository(); // interdiction d'inviter le même utilisateur pour le même planning if (_invitationRepository.GetByUserAndPlanning(invitation.IdUserRecever, invitation.IdUserRecever) != null) { return(false); } // interdiction d'inviter un utilisateur déjà existant dans le planning if (_memberRepository.Get(invitation.IdUserRecever, invitation.IdPlanning) != null) { return(false); } // interdiction d'inviter un utilisateur qui n'existe pas if (_userRepository.Get(invitation.IdUserRecever) == null) { return(false); } // interdiction d'inviter un superUtilisateur à son propre planning if (_planningRepository.GetBySuperUser(invitation.IdUserRecever) != null) { return(false); } // interdiction d'inviter un utilisateur vers un planning qui n'existe pas if (_planningRepository.Get(invitation.IdPlanning) == null) { return(false); } return(true); }
public ActionResult<Invitation> GetByIdUserRecever(int idUserRecever, int idPlanning) { Invitation invitation = _invitationRepository.GetByUserAndPlanning(idUserRecever, idPlanning); return invitation != null ? (ActionResult<Invitation>)Ok(invitation) : NotFound(); }