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))); }
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)); }
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)); }
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)); }
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))); }
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)); }