public IHttpActionResult Put(Guid id, [FromBody] OrgInvitationDTO value) { if (id == Guid.Empty) { return(BadRequest("id is empty")); } var invitation = UnitOfWork.OrgInvitationsRepository.Find(id); if (invitation == null) { return(NotFound()); } invitation.Name = value.Name; invitation.Token = value.Token; invitation.Limit = value.Limit; invitation.IsActive = value.IsActive; invitation.OrganisationId = Guid.Parse(value.Organisation.Id); try { UnitOfWork.OrgInvitationsRepository.InsertOrUpdate(invitation); UnitOfWork.Save(); MemoryCacher.DeleteStartingWith(CACHE_KEY); return(Ok()); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Post([FromBody] OrgInvitationDTO value) { var invitation = Mapper.Map <OrganisationInvitation>(value); if (CurrentUser is OrgUser) { invitation.Organisation = CurrentOrgUser.Organisation; } else { invitation.OrganisationId = Guid.Parse(value.Organisation.Id); invitation.Organisation = null; } UnitOfWork.OrgInvitationsRepository.InsertOrUpdate(invitation); try { UnitOfWork.Save(); MemoryCacher.DeleteStartingWith(CACHE_KEY); return(Ok()); } catch (DbUpdateException) { return(BadRequest("cannot create duplicate invitation tokens")); } catch (Exception ex) { return(InternalServerError(ex)); } }