Exemplo n.º 1
0
        public ActionResult <ProjectResource> UpdateProject(int id, [FromBody] SaveProjectResource saveProjectResource)
        {
            var validator        = new SaveProjectResourceValidator();
            var validationResult = validator.Validate(saveProjectResource);

            bool requestIsInvalid = id == 0 || !validationResult.IsValid;

            if (requestIsInvalid)
            {
                return(BadRequest(validationResult.Errors));
            }

            var projectToBeUpdate = _projectService.GetProject(id);

            if (projectToBeUpdate == null)
            {
                return(NotFound());
            }

            var project = _mapper.Map <SaveProjectResource, Project>(saveProjectResource);

            project.ProjectId = id;
            _projectService.UpdateProject(project);

            var updatedProject         = _projectService.GetProject(id);
            var updatedProjectResource = _mapper.Map <Project, ProjectResource>(updatedProject);

            return(Ok(updatedProjectResource));
        }
        public async Task <IActionResult> Update(int id, [FromBody] SaveProjectResource saveProjectResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var project = await _unitOfWork.Projects.GetAsync(id);

            if (project == null)
            {
                return(NotFound());
            }

            _mapper.Map(saveProjectResource, project);

            //awaiting approval = 2
            if (project.StatusId == 2)
            {
                var adminUsers = await _accountManager.GetUsersByRole("administrator");

                foreach (var user in adminUsers)
                {
                    user.Notify(new Notification(NotificationType.ProjectUpdated, project));
                }
            }

            await _unitOfWork.CompleteAsync();

            project = await _unitOfWork.Projects.GetAsync(project.Id);

            return(Ok(_mapper.Map <Project, ProjectResource>(project)));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] SaveProjectResource resource)
        {
            var guardian = _mapper.Map <SaveProjectResource, Project>(resource);
            var result   = await _projectService.UpdateAsync(id, guardian);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }
            var projectResource = _mapper.Map <Project, SaveProjectResource>(result.Resource);

            return(Ok(projectResource));
        }
        public async Task <IActionResult> PostAsync([FromBody] SaveProjectResource resource)
        {
            var project = _mapper.Map <SaveProjectResource, Project>(resource);
            var result  = await _projectService.SaveAsync(project);

            if (!result.Success)
            {
                return(BadRequest(new ErrorResource(result.Message)));
            }

            var projectResource = _mapper.Map <Project, ProjectResource>(result.Resource);

            return(Ok(projectResource));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> PostAsync([FromBody] SaveProjectResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }
            var guardian = _mapper.Map <SaveProjectResource, Project>(resource);
            var result   = await _projectService.SaveAsync(guardian);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var projectResource = _mapper.Map <Project, SaveProjectResource>(result.Resource);

            return(Ok(projectResource));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Create([FromBody] SaveProjectResource saveProjectResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var project = new Project(CurrentUser.Id);

            Mapper.Map <SaveProjectResource, Project>(saveProjectResource, project);

            await UnitOfWork.Repository <Project>().AddAsync(project);

            UnitOfWork.Commit();

            var projectResource = Mapper.Map <Project, ProjectResource>(project);

            return(Ok(projectResource));
        }
Exemplo n.º 7
0
        public ActionResult <ProjectResource> CreateProject([FromBody] SaveProjectResource saveProjectResource)
        {
            var validator        = new SaveProjectResourceValidator();
            var validationResult = validator.Validate(saveProjectResource);

            if (!validationResult.IsValid)
            {
                return(BadRequest(validationResult.Errors));
            }

            var projectToCreate = _mapper.Map <SaveProjectResource, Project>(saveProjectResource);

            _projectService.CreateProject(projectToCreate);

            var project         = _projectService.GetProject(projectToCreate.ProjectId);
            var projectResource = _mapper.Map <Project, ProjectResource>(project);

            return(Ok(projectResource));
        }
        public async Task <IActionResult> Create([FromBody] SaveProjectResource saveProjectResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var project = _mapper.Map <SaveProjectResource, Project>(saveProjectResource);
            await _unitOfWork.Projects.AddAsync(project);

            var user = await _accountManager.GetUserByIdAsync(project.AssignedUserId);

            var notification = new Notification(NotificationType.ProjectCreated, project);

            user.Notify(notification);

            await _unitOfWork.CompleteAsync();

            project = await _unitOfWork.Projects.GetAsync(project.Id);

            return(Ok(_mapper.Map <Project, ProjectResource>(project)));
        }
Exemplo n.º 9
0
        public async Task <IActionResult> Update([FromBody] SaveProjectResource saveProjectResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var project = await UnitOfWork.Repository <Project>().GetByIdAsync(saveProjectResource.Id);

            if (project == null)
            {
                return(NotFound());
            }

            Mapper.Map <SaveProjectResource, Project>(saveProjectResource, project);
            project.UpdateDate   = DateTime.Now;
            project.UpdateUserId = CurrentUser.Id;

            UnitOfWork.Commit();

            var projectResource = Mapper.Map <Project, ProjectResource>(project);

            return(Ok(projectResource));
        }