public void UpdateProject_Test() { // ARRANGE CreateProject(); var projectToUpdate = this.uow.Projects.GetAll().First(); var updateParam = new ProjectUpdateParam { Description = "Test description updated", Name = "Test project updated" }; var projectLogic = new ProjectLogic(); // ACT projectLogic.UpdateProject(updateParam, projectToUpdate.Id); projectLogic.Dispose(); this.uow.Dispose(); this.uow = new UnitOfWork(); // ASSERT var updatedProject = this.uow.Projects.Get(projectToUpdate.Id); Assert.IsNotNull(updatedProject); Assert.AreNotEqual(projectToUpdate.Name, updatedProject.Name); Assert.AreEqual(updateParam.Name, updatedProject.Name); Assert.AreEqual(updateParam.Description, updatedProject.Description); }
public async Task <ServiceResult> Update([FromBody] ProjectUpdateParam updateParams) { await ProjectService.UpdateAsync(updateParams); return(await ServiceResult.IsSuccess()); }
public async Task <ProjectDto> UpdateAsync(ProjectUpdateParam projectDto) { Projects.Project project = await ProjectRepository.FindAsync(projectDto.ID); if (project == null) { throw new ArgumentException(L["ProjectError:NameDuplicate"]); } if (!projectDto.Name.IsNullOrEmpty() && !projectDto.Name.Equals(project.Name)) { project.Name = projectDto.Name; } if (!projectDto.Description.IsNullOrEmpty() && !projectDto.Description.Equals(project.Description)) { project.Description = projectDto.Description; } if (!projectDto.StartDate.Equals(project.StartDate)) { project.StartDate = projectDto.StartDate; } if (!projectDto.Address.IsNullOrEmpty() && !projectDto.Address.Equals(project.Address)) { project.Address = projectDto.Address; } if (!projectDto.ProjectEstimate.Equals(project.ProjectEstimate)) { project.ProjectEstimate = projectDto.ProjectEstimate; } if (!projectDto.ConstructionUnit.IsNullOrEmpty() && !projectDto.ConstructionUnit.Equals(project.ConstructionUnit)) { project.ConstructionUnit = projectDto.ConstructionUnit; } if (!projectDto.MainContractor.IsNullOrEmpty() && !projectDto.MainContractor.Equals(project.MainContractor)) { project.MainContractor = projectDto.MainContractor; } if (!projectDto.DesignOrganization.IsNullOrEmpty() && !projectDto.DesignOrganization.Equals(project.DesignOrganization)) { project.DesignOrganization = projectDto.DesignOrganization; } if (!projectDto.SupervisingUnit.IsNullOrEmpty() && !projectDto.SupervisingUnit.Equals(project.SupervisingUnit)) { project.SupervisingUnit = projectDto.SupervisingUnit; } if (!projectDto.ConsultingUnit.IsNullOrEmpty() && !projectDto.ConsultingUnit.Equals(project.ConsultingUnit)) { project.ConsultingUnit = projectDto.ConsultingUnit; } if (!projectDto.Area.Equals(project.Area)) { project.Area = projectDto.Area; } if (!projectDto.CompleteDate.Equals(project.CompleteDate)) { project.CompleteDate = projectDto.CompleteDate; } if (!projectDto.Longitude.Equals(project.Longitude)) { project.Longitude = projectDto.Longitude; } if (!projectDto.Latitude.Equals(project.Latitude)) { project.Latitude = projectDto.Latitude; } if (!projectDto.Principal.Equals(project.Principal)) { project.Principal = projectDto.Principal; } project.LastModificationTime = Clock.Now; project.LastModifierId = this.CurrentUser.Id; return(ObjectMapper.Map <Projects.Project, ProjectDto>(await ProjectRepository.UpdateAsync(project))); }