public void Update(CorrosionStudyDTO CorrosionStudyDTO) { var response = _unitOfWork.CorrosionStudy.FindById(CorrosionStudyDTO.ID); if (response != null) { response.PlantCode = CorrosionStudyDTO.PlantCode; response.LoopNo = CorrosionStudyDTO.LoopNo; response.FluidCode = CorrosionStudyDTO.FluidCode; response.FluidName = CorrosionStudyDTO.FluidName; response.SubFluidCode = CorrosionStudyDTO.SubFluidCode; response.ProcessDescription = CorrosionStudyDTO.ProcessDescription; response.MinPressure = CorrosionStudyDTO.MinPressure; response.MaxPressure = CorrosionStudyDTO.MaxPressure; response.MinTemperature = CorrosionStudyDTO.MinTemperature; response.MaxTemperature = CorrosionStudyDTO.MaxTemperature; response.CreatedBy = CorrosionStudyDTO.CreatedBy; response.CreatedDate = CorrosionStudyDTO.CreatedDate; response.ModifiedBy = CorrosionStudyDTO.ModifiedBy; response.ModifiedDate = DateTime.Now; } _unitOfWork.CorrosionStudy.Update(response); _unitOfWork.SaveChanges(); }
public CorrosionStudyResponseDTO GetPipeClustersByLoopNo(CorrosionStudyFilterDTO corrosionStudyFilterDTO) { CorrosionStudyResponseDTO response = new CorrosionStudyResponseDTO(); List <CorrosionStudyDTO> list = new List <CorrosionStudyDTO>(); IQueryable <CorrosionStudyDTO> query = (from p in _unitOfWork.PipeMaster.GenerateEntityAsIQueryable() join l in _context.Plant on p.PlantCode equals l.Code select new CorrosionStudyDTO { ID = p.ID, ParentPlantCode = l.ParentPlant.Code, PlantCode = p.PlantCode, LoopNo = p.CorrosionLoopNo, FluidCode = p.FluidCode, FluidName = p.FluidName, SubFluidCode = p.SubFluid, ProcessDescription = "", MinPressure = p.DesignPressure, MaxPressure = p.DesignPressure, MinTemperature = p.DesignTemperature, MaxTemperature = p.DesignTemperature, ClusterNo = p.PipeClusterNo, MaterialCode = p.MaterialCode }); if (corrosionStudyFilterDTO != null) { if (!string.IsNullOrWhiteSpace(corrosionStudyFilterDTO.LoopNo)) { query = (from re in query where re.LoopNo == corrosionStudyFilterDTO.LoopNo select re); } if (!string.IsNullOrWhiteSpace(corrosionStudyFilterDTO.PlantCode)) { query = (from re in query where re.PlantCode == corrosionStudyFilterDTO.PlantCode select re); } if (!string.IsNullOrWhiteSpace(corrosionStudyFilterDTO.FluidCode)) { query = (from re in query where re.FluidCode == corrosionStudyFilterDTO.FluidCode select re); } if (!string.IsNullOrWhiteSpace(corrosionStudyFilterDTO.ParentPlantCode)) { query = (from re in query where re.ParentPlantCode == corrosionStudyFilterDTO.ParentPlantCode select re); } list = query.OrderBy(p => p.LoopNo).ToList(); } response.CorrosionStudyDTO = new CorrosionStudyDTO(); response.COFMasterDTOList = new List <COFMasterDTO>(); response.IOWDTOList = new List <IOWDTO>(); response.PipeClusterPOFDTOList = new List <PipeClusterPOFDTO>(); CorrosionStudyDTO corrosionStudy = new CorrosionStudyDTO(); if (list != null && list.Count > 0) { corrosionStudy.ID = 0; corrosionStudy.LoopNo = list.Min(p => p.LoopNo); corrosionStudy.MinPressure = list.Min(p => p.MinPressure); corrosionStudy.MaxPressure = list.Max(p => p.MinPressure); corrosionStudy.MinTemperature = list.Min(p => p.MinTemperature); corrosionStudy.MaxTemperature = list.Max(p => p.MinTemperature); corrosionStudy.FluidCode = list.Max(p => p.FluidCode); corrosionStudy.FluidName = list.Max(p => p.FluidName); corrosionStudy.PlantCode = list.Max(p => p.PlantCode); corrosionStudy.ParentPlantCode = list.Max(p => p.ParentPlantCode); corrosionStudy.ClusterNos = list.Select(p => p.ClusterNo).Distinct().ToList <string>(); response.CorrosionStudyDTO = corrosionStudy; foreach (string cluster in corrosionStudy.ClusterNos) { PipeClusterPOFDTO pipeCluster = new PipeClusterPOFDTO(); pipeCluster.ID = 0; pipeCluster.Fluid = response.CorrosionStudyDTO.FluidCode; pipeCluster.ClusterNo = cluster; pipeCluster.MaterialCode = list.Where(c => c.ClusterNo == cluster).Select(c => c.MaterialCode).FirstOrDefault(); pipeCluster.MinPressure = list.Where(c => c.ClusterNo == cluster).Min(c => c.MinPressure); pipeCluster.MaxPressure = list.Where(c => c.ClusterNo == cluster).Max(c => c.MinPressure); pipeCluster.MinTemperature = list.Where(c => c.ClusterNo == cluster).Min(c => c.MinTemperature); pipeCluster.MaxTemperature = list.Where(c => c.ClusterNo == cluster).Max(c => c.MinTemperature); pipeCluster.CorrosionStudyID = 0; pipeCluster.DMGuideList = new List <DMGuideDTO>(); response.PipeClusterPOFDTOList.Add(pipeCluster); } } return(response); }