Example #1
0
        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));
        }
Example #2
0
        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();
     }
 }
Example #4
0
        public async Task Add(Collaborator collaborator)
        {
            if (!IsValid(collaborator))
            {
                return;
            }

            await _collaboratorRepository.Add(collaborator);
        }
Example #5
0
 public void Add(Collaborator collaborator)
 {
     _collaboratorRepository.Add(collaborator);
 }
Example #6
0
 public Collaborator Add(Collaborator collaborator)
 {
     return(_collaboratorRepository.Add(collaborator));
 }