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());
        }
Esempio n. 3
0
        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)));
        }