public async Task <IActionResult> Create([FromBody] Collaborator item) { if (item == null) { return(BadRequest()); } var userId = _userManager.GetUserId(HttpContext.User); var collaborator = _collaboratorRepository.Find(item.ProjectID, item.UserID); var currentCollaborator = _collaboratorRepository.Find(item.ProjectID, userId); if (currentCollaborator == null || currentCollaborator.Permission != Permissions.Owner) { return(new UnauthorizedResult()); } else if (collaborator != null) { return(CreatedAtRoute("GetCollaborator", new { id = collaborator.Id }, collaborator)); } _collaboratorRepository.Add(item); // Broadcast new collaborator var project = _projectRepository.Find(item.ProjectID); await _projAndCollabHandler.Add(project.Id); var newCollaborator = _collaboratorRepository.Find(item.Id); return(CreatedAtAction("GetCollaborator", new { id = item.Id }, newCollaborator)); }
public async Task <CollaboratorViewModel> Add(CollaboratorInsertViewModel collaboratorInsertViewModel) { var collaborative = await _collaborativeRepository.GetByMail(_user.Email); if (collaborative == null) { throw new Exception("Collaborative not found!"); } var model = _mapper.Map <Collaborator>(collaboratorInsertViewModel); model.CollaborativeId = collaborative.Id; var validation = new CollaboratorInsertValidation(_collaboratorRepository).Validate(model); if (!validation.IsValid) { throw new Exception("Collaborator is invalid!"); } _collaboratorRepository.Add(model); _unitOfWork.Commit(); model.Collaborative = collaborative; return(_mapper.Map <CollaboratorViewModel>(model)); }
public void AddCollaborator(Collaborator collaborator) { if (!collaboratorRepository.Any(c => c.CollaboratorId == collaborator.CollaboratorId)) { collaboratorRepository.Add(collaborator); SaveCollaborator(); } }
public async Task Add(Collaborator collaborator) { if (!IsValid(collaborator)) { return; } await _collaboratorRepository.Add(collaborator); }
public void Add(Collaborator collaborator) { _collaboratorRepository.Add(collaborator); }
public Collaborator Add(Collaborator collaborator) { return(_collaboratorRepository.Add(collaborator)); }