public async Task <IActionResult> CreateMember([FromBody] MemberBindingModel bindingModel) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var member = await this.membersRepository.AddAsync( bindingModel.FirstName, bindingModel.LastName); return(this.Created("api/members", member)); }
public IHttpActionResult Invite(int id, MemberBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var houseHold = Context .HouseHolds .FirstOrDefault(p => p.Id == id); if (houseHold == null) { return(NotFound()); } var userId = User .Identity .GetUserId(); if (userId != houseHold.OwnerId) { ModelState.AddModelError("Not the Owner", "Only the owner can invite members"); return(BadRequest(ModelState)); } var user = Context .Users .FirstOrDefault(p => p.Email == model.UserEmail); if (user == null) { ModelState.AddModelError("Not Found", "User does not exist"); return(BadRequest(ModelState)); } houseHold.InvitedUsers.Add(user); Context.SaveChanges(); EmailService emailInvitation = new EmailService(); emailInvitation.Send(model.UserEmail, "You have been invited to a new House Hold.", "Invitation"); return(Ok()); }
public async Task <IActionResult> Delete(Guid memberId, [FromBody] MemberBindingModel bindingModel) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var member = await this.membersRepository.UpdateAsync( memberId, bindingModel.FirstName, bindingModel.LastName); if (member == null) { return(this.BadRequest(memberId)); } return(this.Ok(member)); }