コード例 #1
0
        public static void UpdateMaterialRegisterHeader(this MaterialRegisterHeader materialRegisterHeader, MaterialRegisterHeaderVM materialRegisterHeaderVM)
        {
            var materialRegisterHeaderNew = AutoMapper.Map <MaterialRegisterHeaderVM, MaterialRegisterHeader>(materialRegisterHeaderVM);

            materialRegisterHeader.SupplierID             = materialRegisterHeaderNew.SupplierID;
            materialRegisterHeader.ThirdPartyInspectionID = materialRegisterHeaderNew.ThirdPartyInspectionID;
            materialRegisterHeader.SpecificationsID       = materialRegisterHeaderNew.SpecificationsID;
            materialRegisterHeader.Dimension         = materialRegisterHeaderNew.Dimension;
            materialRegisterHeader.RawMaterialFormID = materialRegisterHeaderNew.RawMaterialFormID;

            //materialRegisterHeader.MaterialRegisterSubSeriess = materialRegisterHeaderNew.MaterialRegisterSubSeriess;

            materialRegisterHeader.ModifiedBy = materialRegisterHeaderNew.ModifiedBy;
            materialRegisterHeader.ModifiedOn = materialRegisterHeaderNew.ModifiedOn;

            materialRegisterHeader.SupplierPONumber = materialRegisterHeaderNew.SupplierPONumber;
            materialRegisterHeader.SupplierPODate   = materialRegisterHeaderNew.SupplierPODate;

            materialRegisterHeader.StatusID = materialRegisterHeaderNew.StatusID;

            materialRegisterHeader.PartiallyAcceptedRemarks = materialRegisterHeaderNew.PartiallyAcceptedRemarks;
            materialRegisterHeader.OtherInfo = materialRegisterHeaderVM.OtherInfo;
            materialRegisterHeader.Quantity  = materialRegisterHeaderVM.Quantity;

            materialRegisterHeader.IsDeleted = materialRegisterHeaderNew.IsDeleted;
        }
コード例 #2
0
        private void UpdateSubSeriesListAddUpdate(MaterialRegisterHeader materialRegisterHeader, MaterialRegisterHeaderVM materialRegisterHeaderVM)
        {
            if (materialRegisterHeaderVM.MaterialRegisterSubSeriess == null || !materialRegisterHeaderVM.MaterialRegisterSubSeriess.Any())
            {
                return;
            }

            foreach (var materialSub in materialRegisterHeaderVM.MaterialRegisterSubSeriess)
            {
                var existingSubSeries = materialRegisterHeader.MaterialRegisterSubSeriess.Where(x => x.ID == materialSub.ID).SingleOrDefault();

                if (existingSubSeries != null)
                {
                    existingSubSeries.UpdateMaterialRegisterSubSeries(materialSub);

                    UpdateSubSeriesTestRemoveTestRelationship(existingSubSeries, materialSub);
                    UpdateSubSeriesTestAddUpdate(existingSubSeries, materialSub);

                    UpdateMillDetailsAddUpdate(existingSubSeries, materialSub);
                    UpdateLabReportsAddUpdate(existingSubSeries, materialSub);

                    UpdateSubSeriesRemoveFileDetails(existingSubSeries, materialSub);
                    UpdateSubSeriesFileDetailsAddUpdate(existingSubSeries, materialSub);

                    _materialRegisterSubseriessRepository.Update(existingSubSeries);
                }
                else
                {
                    var updatedMaterialSubSeries = AutoMapper.Map <MaterialRegisterSubSeriesVM, MaterialRegisterSubSeries>(materialSub);
                    materialRegisterHeader.MaterialRegisterSubSeriess.Add(updatedMaterialSubSeries);
                }
            }
        }
コード例 #3
0
        public HttpResponseMessage Update(HttpRequestMessage request, MaterialRegisterHeaderVM materialRegisterHeaderVM)
        {
            MemoryCache _cache = MemoryCache.Default;

            _cache.Remove("MaterialRegisterHeaders");
            _cache.Remove("MaterialRegisterSubSeries");

            _requiredRepositories = new List <Type>()
            {
                typeof(MaterialRegisterHeader),
                typeof(MillDetail),
                typeof(LabReport),
                typeof(Error),
                typeof(MaterialRegisterSubSeries),
                typeof(MaterialRegisterSubseriesTestRelationship),
                typeof(MaterialRegisterFileDetail),
            };

            return(CreateHttpResponse(request, _requiredRepositories, () =>
            {
                HttpResponseMessage response = null;
                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    MaterialRegisterHeader _materialRegisterHeader = _materialRegisterHeadersRepository.GetSingleByMaterialRegisterHeaderID(materialRegisterHeaderVM.ID);

                    if (_materialRegisterHeader == null)
                    {
                        ModelState.AddModelError("Invalid material register", "CT Number does not exists");
                        response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                          ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                    }
                    else
                    {
                        _materialRegisterHeader.UpdateMaterialRegisterHeader(materialRegisterHeaderVM);

                        UpdateSubSeriesListRemoveSubSeries(_materialRegisterHeader, materialRegisterHeaderVM);

                        UpdateSubSeriesListAddUpdate(_materialRegisterHeader, materialRegisterHeaderVM);

                        _materialRegisterHeadersRepository.Update(_materialRegisterHeader);

                        _materialRegisterHeadersRepository.Commit();
                    }

                    response = request.CreateResponse <MaterialRegisterHeaderVM>(HttpStatusCode.Created, materialRegisterHeaderVM);
                }
                return response;
            }));
        }
コード例 #4
0
        public static MaterialRegisterHeaderVM MapMaterialRegisterHeader(MaterialRegisterHeader materialRegisterHeader)
        {
            var materialRegisterHeaderVM = AutoMapper.Map <MaterialRegisterHeader, MaterialRegisterHeaderVM>(materialRegisterHeader);

            materialRegisterHeaderVM.MaterialRegisterSubSeriess = MapMaterialRegisterSubSeriesList(materialRegisterHeader.MaterialRegisterSubSeriess.ToList());


            materialRegisterHeaderVM.SupplierSelected             = AutoMapper.Map <Supplier, SupplierVM>(materialRegisterHeader.Suppliers);
            materialRegisterHeaderVM.ThirdPartyInspectionSelected = AutoMapper.Map <ThirdPartyInspection, ThirdPartyInspectionVM>(materialRegisterHeader.ThirdPartyInspections);
            materialRegisterHeaderVM.SpecificationSelected        = AutoMapper.Map <Specifications, SpecificationsVM>(materialRegisterHeader.Specification);
            materialRegisterHeaderVM.Dimension = materialRegisterHeader.Dimension;
            materialRegisterHeaderVM.RawMaterialFormSelected = AutoMapper.Map <RawMaterialForm, RawMaterialFormVM>(materialRegisterHeader.RawMaterialForms);

            materialRegisterHeaderVM.IsShowDownLoad = materialRegisterHeader.MaterialRegisterSubSeriess != null &&
                                                      materialRegisterHeader.MaterialRegisterSubSeriess.Any(x => x.MaterialRegisterFileDetails.Any()) ? true:false;
            return(materialRegisterHeaderVM);
        }
コード例 #5
0
        public HttpResponseMessage Create(HttpRequestMessage request, MaterialRegisterHeaderVM materialRegisterHeaderVM)
        {
            MemoryCache _cache = MemoryCache.Default;

            _cache.Remove("MaterialRegisterHeaders");
            _cache.Remove("MaterialRegisterSubSeries");

            _requiredRepositories = new List <Type>()
            {
                typeof(MaterialRegisterHeader), typeof(Error)
            };

            return(CreateHttpResponse(request, _requiredRepositories, () =>
            {
                HttpResponseMessage response = null;
                if (!ModelState.IsValid)
                {
                    response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                      ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                }
                else
                {
                    if (_materialRegisterHeadersRepository.MaterialRegisterHeaderExists(materialRegisterHeaderVM.CTNumber))
                    {
                        ModelState.AddModelError("Invalid material register", "CT Number exists");
                        response = request.CreateResponse(HttpStatusCode.BadRequest,
                                                          ModelState.Keys.SelectMany(k => ModelState[k].Errors).Select(m => m.ErrorMessage).ToArray());
                    }
                    else
                    {
                        MaterialRegisterHeader newMaterialRegisterHeader = new MaterialRegisterHeader();
                        newMaterialRegisterHeader = AutoMapper.Map <MaterialRegisterHeaderVM, MaterialRegisterHeader>(materialRegisterHeaderVM);

                        _materialRegisterHeadersRepository.Insert(newMaterialRegisterHeader);
                        _materialRegisterHeadersRepository.Commit();

                        // Update view model
                        materialRegisterHeaderVM = AutoMapper.Map <MaterialRegisterHeader, MaterialRegisterHeaderVM>(newMaterialRegisterHeader);
                        response = request.CreateResponse <MaterialRegisterHeaderVM>(HttpStatusCode.Created, materialRegisterHeaderVM);
                    }
                }
                return response;
            }));
        }
コード例 #6
0
        public static MaterialRegisterHeader GetMaterialRegisterHeader()
        {
            var materialRegisterHeader = new MaterialRegisterHeader()
            {
                CreatedBy              = "Udhay",
                RawMaterialFormID      = 1,
                SupplierID             = 1,
                SpecificationsID       = 1,
                ThirdPartyInspectionID = 1,
                CreatedOn              = DateTime.Now,
                CTNumber   = "MP1212",
                Dimension  = string.Empty,
                ModifiedBy = "udhay",
                ModifiedOn = DateTime.Now,
                PartiallyAcceptedRemarks = "Testing",
                StatusID         = 1,
                SupplierPODate   = DateTime.Now,
                SupplierPONumber = "XYZ"
            };

            return(materialRegisterHeader);
        }
コード例 #7
0
        private void UpdateSubSeriesListRemoveSubSeries(MaterialRegisterHeader materialRegisterHeader, MaterialRegisterHeaderVM materialRegisterHeaderVM)
        {
            if (materialRegisterHeader.MaterialRegisterSubSeriess == null || !materialRegisterHeader.MaterialRegisterSubSeriess.Any())
            {
                return;
            }

            var deletableMaterialRegisterHeaders = materialRegisterHeader.MaterialRegisterSubSeriess.Where(sub => !materialRegisterHeaderVM.MaterialRegisterSubSeriess.Any(x => x.ID == sub.ID)).ToList();

            foreach (var materialSub in deletableMaterialRegisterHeaders)
            {
                if (materialSub.MillDetail != null)
                {
                    _millDetailsRepository.Delete(materialSub.MillDetail);
                }

                if (materialSub.LabReport != null)
                {
                    _labReportssRepository.Delete(materialSub.LabReport);
                }
                _materialRegisterSubseriessRepository.Delete(materialSub);
            }
        }