예제 #1
0
        public ResponseMessage FBAssignVendor(FBDispatchReqSubCont fBDispatchReqSubCont)
        {
            try
            {
                ResponseMessage     responseMessage   = new ResponseMessage();
                string[]            strAllowedService = { commonEnum.ServiceType.Fabrication.ToString(), commonEnum.ServiceType.OutSourcing.ToString() };
                DispatchRequirement dispReq           = _context.DispatchRequirement.Include(c => c.Servicetype).Where(x => x.DispatchNo == fBDispatchReqSubCont.DispatchNo).FirstOrDefault();
                if (dispReq.StatusInternal != Util.GetDescription(commonEnum.SiteDispatchSatus.NEW).ToString() && !strAllowedService.Contains(dispReq.Servicetype.Name))
                {
                    throw new ValueNotFoundException("Assign Vendor not allowed");
                }

                DispatchreqSubcont dispatchreqSubcont = _mapper.Map <DispatchreqSubcont>(fBDispatchReqSubCont);
                dispatchreqSubcont.CreatedAt      = DateTime.Now;
                dispatchreqSubcont.CreatedBy      = 1; //TODO
                dispatchreqSubcont.Status         = "New";
                dispatchreqSubcont.StatusInternal = "New";
                dispatchreqSubcont.ServicetypeId  = 1;
                //Add the dispatch subcont structure
                if (fBDispatchReqSubCont.VendorStructures.Any())
                {
                    var groupbyVendor = fBDispatchReqSubCont.VendorStructures.GroupBy(c => c.SubContId);
                    foreach (var group in groupbyVendor)
                    {
                        dispatchreqSubcont.SubconId = group.Key;
                        dispatchreqSubcont.Quantity = group.Count();
                        _context.DispatchreqSubcont.Add(dispatchreqSubcont);
                        _context.SaveChanges();
                        foreach (var item in group)
                        {
                            DispReqStructure drsDB = _context.DispReqStructure.Where(x => x.ProjStructId == item.ProjStructureId && x.DispreqId == fBDispatchReqSubCont.DispreqId).FirstOrDefault();
                            if (drsDB == null)
                            {
                                throw new ValueNotFoundException("Dispatch Requirement ID doesn't exists");
                            }

                            DispSubcontStructure dispSubcontStructure = new DispSubcontStructure();
                            dispSubcontStructure.ProjStructId     = item.ProjStructureId;
                            dispSubcontStructure.DispreqsubcontId = dispatchreqSubcont.Id;
                            dispSubcontStructure.DispStructureId  = drsDB.Id;
                            //  dispSubcontStructure.FabricationCost = item.FabricationCost;
                            _context.DispSubcontStructure.Add(dispSubcontStructure);
                            _context.SaveChanges();
                        }
                    }
                }
                dispReq.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.PROCAPPROVED).ToString();
                dispReq.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.PROCAPPROVED).ToString();
                _context.SaveChanges();
                responseMessage.Message = "Vendor is assigned successfully";
                return(responseMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public ResponseMessage UpdatescannedStatus(ReciveUpdateVm input)
        {
            try
            {
                ResponseMessage responseMessage = new ResponseMessage();
                // ProjectStructure ProjectStruct =
                //            _context.ProjectStructure.Single(w => w.Id == input.projectstructreId);
                // if (ProjectStruct != null)
                // {
                //     ProjectStruct.StructureStatus =Util.GetDescription(commonEnum.StructureStatus.NOTAVAILABLE).ToString();
                //     ProjectStruct.CurrentStatus = Util.GetDescription(commonEnum.StructureInternalStatus.INUSE).ToString();
                // }
                //   _context.ProjectStructure.Update(ProjectStruct);
                int dispReqStrlst =
                    _context.DispReqStructure.Where(w => w.DispreqId == input.DispatchRequiremntId && w.DispStructStatus != Util.GetDescription(commonEnum.SiteDispStructureStatus.FROMSITEAPPROVED).ToString()).Count();

                DispReqStructure dispReqStr =
                    _context.DispReqStructure.Single(w => w.Id == input.DisptachRequiremntstructureId);
                if (dispReqStr != null)
                {
                    dispReqStr.DispStructStatus = Util.GetDescription(commonEnum.SiteDispStructureStatus.FROMSITEAPPROVED).ToString();
                    // dispReqStr.Location =input.Location;
                }
                _context.DispReqStructure.Update(dispReqStr);
                DispatchRequirement disprequirement =
                    _context.DispatchRequirement.Single(w => w.Id == input.DispatchRequiremntId);

                if (dispReqStrlst == 0)
                {
                    if (disprequirement != null)
                    {
                        disprequirement.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.FROMSITEAPPROVED).ToString();
                        disprequirement.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.FROMSITEAPPROVED).ToString();
                    }
                    else
                    {
                        disprequirement.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.PARIALLYFROMSITEAPPROVED).ToString();
                        disprequirement.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.PARIALLYFROMSITEAPPROVED).ToString();
                    }
                }



                _context.DispatchRequirement.Update(disprequirement);

                _context.SaveChanges();

                responseMessage.Message = "Status Updated sucessfully";
                return(responseMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        public int UpsertProjectStructure(CMPCUpdateStructure request)
        {
            ResponseMessage response = new ResponseMessage();

            response.Message = "Structure Updated successfully";
            // if (request?.ProjectStructureDetail == null)
            //  throw new ValueNotFoundException ("ProjectStructureDetail Request cannot be empty.");

            try {
                using (var transaction = _context.Database.BeginTransaction()) {
                    try {
                        var isUpdate           = false;
                        var projectStructureID = 0;
                        var projectStructure   = _context.ProjectStructure.Where(x => x.Id == request.ProjStructureId && x.IsDelete == false).FirstOrDefault();

                        projectStructure.DrawingNo       = request.DrawingNo;
                        projectStructure.UpdatedAt       = DateTime.Now;
                        projectStructure.EstimatedWeight = Convert.ToDecimal(request.EstimatedWeight);
                        projectStructure.ComponentsCount = request.CompCount;
                        _context.SaveChanges();
                        projectStructureID = projectStructure.Id;

                        DispReqStructure dispStruct = _context.DispReqStructure.Where(x => x.Id == request.dispStructureId).FirstOrDefault();
                        dispStruct.DispStructStatus = Util.GetDescription(commonEnum.SiteDispStructureStatus.CMPCAPPROVED).ToString();
                        _context.SaveChanges();

                        int?dispReqId = dispStruct.DispreqId;

                        DispatchRequirement dispReq = _context.DispatchRequirement.Where(x => x.Id == dispReqId).FirstOrDefault();
                        var lstDispStruct           = _context.DispReqStructure.Where(x => x.DispreqId == dispReqId).ToList();
                        if (lstDispStruct.Count() == lstDispStruct.Where(x => x.DispStructStatus == Util.GetDescription(commonEnum.SiteDispStructureStatus.CMPCAPPROVED).ToString()).Count())
                        {
                            dispReq.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCAPPROVED).ToString();
                            dispReq.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCAPPROVED).ToString();
                        }
                        else
                        {
                            dispReq.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                            dispReq.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                        }
                        _context.SaveChanges();

                        transaction.Commit();
                        return(projectStructureID);
                    } catch (Exception ex) {
                        transaction.Rollback();
                        throw ex;
                    }
                }
            } catch (Exception ex) {
                throw ex;
            }
        }
예제 #4
0
        public ResponseMessage AddStructureCost(ADDStructureCost input)
        {
            try
            {
                ResponseMessage  responseMessage = new ResponseMessage();
                ProjectStructure structid        =
                    _context.ProjectStructure.Single(w => w.Id == input.ProjectStructureId);
                DispReqStructure dispstructid =
                    _context.DispReqStructure.Single(w => w.ProjStructId == input.ProjectStructureId);

                dispstructid.FabriacationCost = input.Cost;
                DispFabricationCost fabrcost = new DispFabricationCost();
                fabrcost.DispatchNo      = input.DispatchNo;
                fabrcost.DispReqId       = input.DispatchRequirementId;
                fabrcost.DispStructureId = input.DispatchRequirementStructureId;
                fabrcost.Status          = Util.GetDescription(commonEnum.StructureStatus.NEW).ToString();
                fabrcost.StatusInternal  = Util.GetDescription(commonEnum.StructureStatus.NEW).ToString();
                _context.DispFabricationCost.Add(fabrcost);
                _context.DispReqStructure.Update(dispstructid);
                _context.SaveChanges();

                if (input.uploadDocs != null)
                {
                    foreach (IFormFile file in input.uploadDocs)
                    {
                        Upload_Docs layerDoc = new Upload_Docs();
                        layerDoc.fileName   = file.FileName;
                        layerDoc.filepath   = UploadedFile(file);
                        layerDoc.uploadType = "Docs";
                        layerDoc.fileType   = Path.GetExtension(file.FileName);
                        this._repository.StructureDocsUpload(layerDoc, input.ProjectStructureId);
                        //  _gridRepo.LayerDocsUpload(layerDoc, layerId);
                    }
                }
                RemoveStructureDocs(input.remove_docs_filename);

                _context.SaveChanges();

                responseMessage.Message = "Structure Cost Updated sucessfully";
                return(responseMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #5
0
        public ResponseMessage UpdateFabricationStatus(FabricationVm input)
        {
            try
            {
                ResponseMessage  responseMessage = new ResponseMessage();
                ProjectStructure ProjectStruct   =
                    _context.ProjectStructure.Single(w => w.Id == input.projectstructreId);
                if (ProjectStruct != null)
                {
                    ProjectStruct.StructureStatus = Util.GetDescription(commonEnum.StructureStatus.NOTAVAILABLE).ToString();
                    ProjectStruct.CurrentStatus   = Util.GetDescription(commonEnum.StructureInternalStatus.INUSE).ToString();
                }
                _context.ProjectStructure.Update(ProjectStruct);


                DispReqStructure dispReqStr =
                    _context.DispReqStructure.Single(w => w.Id == input.DisptachRequiremntstructureId);
                if (dispReqStr != null)
                {
                    dispReqStr.DispStructStatus = Util.GetDescription(commonEnum.SiteDispStructureStatus.SCANNED).ToString();
                    dispReqStr.Location         = input.Location;
                }
                _context.DispReqStructure.Update(dispReqStr);

                DispatchRequirement disprequirement =
                    _context.DispatchRequirement.Single(w => w.Id == input.DispatchRequiremntId);
                if (disprequirement != null)
                {
                    disprequirement.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.PARTIALLYSCANNED).ToString();
                    disprequirement.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.PARTIALLYSCANNED).ToString();
                    _context.DispatchRequirement.Update(disprequirement);

                    _context.SaveChanges();
                }


                responseMessage.Message = "Status   Updated sucessfully";
                return(responseMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #6
0
        public ResponseMessage CreateDispatch(TWCCDispatchPayload payload)
        {
            try {
                string dispatchNo     = string.Empty;
                string structCode     = string.Empty;
                int    dispReuseCount = 0;
                int    projectId      = 1;
                List <dispatchedStrucCount> result = new List <dispatchedStrucCount>();
                string count = string.Format("select count(*) as cnt from dispatch_requirement dr inner join disp_req_structure drs on  dr.id  = drs.dispreq_id inner join project_structure ps    on drs.proj_struct_id  = ps.id  where ps.structure_id = {0} and dr.sitereq_id = {1}", payload.StructureId, payload.siteRequirementId);
                result = _context.Set <dispatchedStrucCount>().FromSqlRaw(count).ToList();
                int dispatchedQuantity = result.FirstOrDefault().cnt;
                int excedCout          = dispatchedQuantity + payload.Quantity;
                int totalcount         = _context.SiteReqStructure.Single(s => s.SiteReqId == payload.siteRequirementId && s.StructId == payload.StructureId).Quantity ?? 0;
                if (totalcount < excedCout)
                {
                    throw new ValueNotFoundException("Dispatch quantity should match the required quantity.");
                }
                ServiceType servType = _context.ServiceType.Where(x => x.Id == payload.ServiceTypeId).FirstOrDefault();
                if (servType.Name == commonEnum.ServiceType.Fabrication.ToString())
                {
                    dispReuseCount = _context.DispatchRequirement.Include(m => m.Servicetype).Where(x => x.DispatchNo.Contains("DC")).Count() + 1;
                }
                else if (servType.Name == commonEnum.ServiceType.OutSourcing.ToString())
                {
                    dispReuseCount = _context.DispatchRequirement.Include(m => m.Servicetype).Where(x => x.DispatchNo.Contains("DC")).Count() + 1;
                }
                else if (servType.Name == commonEnum.ServiceType.Reuse.ToString())
                {
                    dispReuseCount = _context.DispatchRequirement.Include(m => m.Servicetype).Where(x => x.DispatchNo.Contains("DA")).Count() + 1;
                }

                SiteRequirement siteReqr = _context.SiteRequirement.Include(c => c.SiteReqStructure).Where(x => x.Id == payload.siteRequirementId).FirstOrDefault();
                //   for structure id override in multiple component
                if (servType.Name == commonEnum.ServiceType.Fabrication.ToString() || servType.Name == commonEnum.ServiceType.OutSourcing.ToString())
                {
                    // int structCount = _context.ProjectStructure.Count () + 1;
                    // structCode = constantVal.StructureIdPrefix + structCount.ToString ().PadLeft (6, '0');
                    dispatchNo = constantVal.DispVendorPrefix + dispReuseCount.ToString().PadLeft(6, '0');
                }
                if (servType.Name == commonEnum.ServiceType.Reuse.ToString())
                {
                    dispatchNo = constantVal.DispReusePrefix + dispReuseCount.ToString().PadLeft(6, '0');
                }
                ResponseMessage responseMessage = new ResponseMessage();
                using (var transaction = _context.Database.BeginTransaction()) {
                    try {
                        DispatchRequirement dispReq = new DispatchRequirement();
                        dispReq.CreatedAt       = DateTime.Now;
                        dispReq.CreatedBy       = payload.CreatedBy; //TODO
                        dispReq.DispatchNo      = dispatchNo;
                        dispReq.RoleId          = 1;                 // TODO
                        dispReq.ServicetypeId   = payload.ServiceTypeId;
                        dispReq.SitereqId       = payload.siteRequirementId;
                        dispReq.SiteReqStructid = _context.SiteReqStructure.Where(x => x.SiteReqId == payload.siteRequirementId && x.StructId == payload.StructureId).FirstOrDefault().Id;
                        dispReq.Status          = Util.GetDescription(commonEnum.SiteDispatchSatus.NEW).ToString();
                        dispReq.StatusInternal  = Util.GetDescription(commonEnum.SiteDispatchSatus.NEW).ToString();
                        dispReq.ToProjectid     = payload.ToProjectId;
                        dispReq.Quantity        = payload.Quantity;
                        _context.DispatchRequirement.Add(dispReq);
                        _context.SaveChanges();
                        int structCountDb = _context.ProjectStructure.Count();
                        for (int iQty = 1; iQty <= payload.Quantity; iQty++)
                        {
                            if (servType.Name == commonEnum.ServiceType.Fabrication.ToString() || servType.Name == commonEnum.ServiceType.OutSourcing.ToString())
                            {
                                int structCount = structCountDb + iQty;
                                structCode = constantVal.StructureIdPrefix + structCount.ToString().PadLeft(6, '0');
                            }

                            ProjectStructure projectStructure = new ProjectStructure();
                            if (servType.Name == commonEnum.ServiceType.Fabrication.ToString() || servType.Name == commonEnum.ServiceType.OutSourcing.ToString())
                            {
                                SiteReqStructure siteRequirementStructure = _context.SiteReqStructure.Where(x => x.SiteReqId == payload.siteRequirementId && x.StructId == payload.StructureId).FirstOrDefault();

                                projectStructure.StructureId            = payload.StructureId;
                                projectStructure.StructCode             = structCode;
                                projectStructure.ProjectId              = payload.ToProjectId;
                                projectStructure.DrawingNo              = "";
                                projectStructure.ComponentsCount        = 0;
                                projectStructure.StructureAttributesVal = siteRequirementStructure != null ? siteRequirementStructure.StructureAttributesVal : "";
                                projectStructure.EstimatedWeight        = 0;
                                projectStructure.StructureStatus        = Util.GetDescription(commonEnum.StructureStatus.NOTAVAILABLE).ToString();
                                projectStructure.CurrentStatus          = Util.GetDescription(commonEnum.StructureInternalStatus.DISPATCHINPROGRESS).ToString();
                                projectStructure.IsDelete  = false;
                                projectStructure.CreatedBy = payload.CreatedBy;
                                projectStructure.CreatedAt = DateTime.Now;
                                _context.ProjectStructure.Add(projectStructure);
                                _context.SaveChanges();
                            }
                            else
                            {
                                ProjectStructure structDB = _context.ProjectStructure.Where(x => x.Id == payload.ProjectStructureId).FirstOrDefault();
                                structDB.CurrentStatus   = Util.GetDescription(commonEnum.StructureInternalStatus.DISPATCHINPROGRESS).ToString();
                                structDB.StructureStatus = Util.GetDescription(commonEnum.StructureStatus.NOTAVAILABLE).ToString();
                                _context.SaveChanges();
                            }

                            DispReqStructure dispStrcture = new DispReqStructure();
                            dispStrcture.ProjStructId = servType.Name == commonEnum.ServiceType.Fabrication.ToString() || servType.Name == commonEnum.ServiceType.OutSourcing.ToString() ? projectStructure.Id : payload.ProjectStructureId;
                            dispStrcture.DispreqId    = dispReq.Id;
                            if (servType.Name == commonEnum.ServiceType.Reuse.ToString())
                            {
                                dispStrcture.FromProjectId = payload.FromProjectId;
                                dispStrcture.SurplusDate   = payload.SurplusFromDate;
                            }
                            dispStrcture.DispStructStatus = Util.GetDescription(commonEnum.SiteDispStructureStatus.NEW).ToString();
                            _context.DispReqStructure.Add(dispStrcture);
                            _context.SaveChanges();


                            if (servType.Name == commonEnum.ServiceType.Reuse.ToString())
                            {
                                var componentList = _context.Component.Where(x => x.ProjStructId == payload.ProjectStructureId).ToList();
                                foreach (Component comp in componentList)
                                {
                                    DispStructureComp dsc = new DispStructureComp();
                                    dsc.DispStructureId = dispStrcture.Id;
                                    dsc.DispCompId      = comp.Id;
                                    _context.DispStructureComp.Add(dsc);
                                }
                                _context.SaveChanges();
                            }
                        }

                        /***update site requirement Structure status  ***/

                        CodeList         dispQty = _context.Query <CodeList>().FromSqlRaw(string.Format("select  count(*) as Id,'' as Name , 0 as ServiceTypeId from dispatch_requirement dr inner join disp_req_structure drs on dr.id = drs.dispreq_id  inner join project_structure ps  on  drs.proj_struct_id = ps.id where ps.structure_id ={0} and dr.sitereq_id ={1} and drs.disp_struct_status <> '{2}'", payload.StructureId, payload.siteRequirementId, Util.GetDescription(commonEnum.SiteDispStructureStatus.REJECT).ToString())).FirstOrDefault();
                        var              dispatchedStrucCount = dispQty.Id;
                        SiteRequirement  dbSiteReq            = _context.SiteRequirement.Where(x => x.Id == payload.siteRequirementId).FirstOrDefault();
                        SiteReqStructure dbSiteReqStructure   = _context.SiteReqStructure.Where(x => x.SiteReqId == payload.siteRequirementId && x.StructId == payload.StructureId).FirstOrDefault();
                        if (dbSiteReqStructure.Quantity > dispatchedStrucCount)
                        {
                            dbSiteReqStructure.Status = Util.GetDescription(commonEnum.SiteRequiremntStatus.PARTIALLYDISPATCHED).ToString();
                        }
                        else
                        {
                            dbSiteReqStructure.Status = Util.GetDescription(commonEnum.SiteRequiremntStatus.DISPATCHED).ToString();
                        }
                        _context.SaveChanges();


                        /***update site requirement status ***/
                        List <SiteReqStructure> lstReqStructure = _context.SiteReqStructure.Where(x => x.SiteReqId == payload.siteRequirementId).ToList();
                        if (lstReqStructure.Count() > 0 && lstReqStructure.Where(x => x.Status != Util.GetDescription(commonEnum.SiteRequiremntStatus.DISPATCHED).ToString()).Count() > 0)
                        {
                            dbSiteReq.Status         = Util.GetDescription(commonEnum.SiteRequiremntStatus.PARTIALLYDISPATCHED).ToString();
                            dbSiteReq.StatusInternal = Util.GetDescription(commonEnum.SiteRequiremntStatus.PARTIALLYDISPATCHED).ToString();
                        }
                        else
                        {
                            dbSiteReq.Status         = Util.GetDescription(commonEnum.SiteRequiremntStatus.DISPATCHED).ToString();
                            dbSiteReq.StatusInternal = Util.GetDescription(commonEnum.SiteRequiremntStatus.DISPATCHED).ToString();
                        }
                        _context.SaveChanges();


                        DisreqStatusHistory dispatchReqStatusHistory = new DisreqStatusHistory();
                        dispatchReqStatusHistory.DispatchNo     = dispatchNo;
                        dispatchReqStatusHistory.DispreqId      = dispReq.Id;
                        dispatchReqStatusHistory.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.NEW).ToString();
                        dispatchReqStatusHistory.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.NEW).ToString();
                        dispatchReqStatusHistory.Notes          = "";
                        dispatchReqStatusHistory.RoleId         = payload.RoleId;
                        dispatchReqStatusHistory.CreatedBy      = payload.CreatedBy;
                        dispatchReqStatusHistory.CreatedAt      = DateTime.Now;
                        _context.DisreqStatusHistory.Add(dispatchReqStatusHistory);
                        _context.SaveChanges();
                        transaction.Commit();
                        responseMessage = new ResponseMessage()
                        {
                            Message = "Saved Successfully"
                        };
                    } catch (Exception ex) {
                        transaction.Rollback();
                        responseMessage = new ResponseMessage()
                        {
                            Message = "Error was found. Exception : " + ex.Message
                        };
                        throw ex;
                    }
                }

                return(responseMessage);
            } catch (Exception ex) {
                throw ex;
            }
        }
예제 #7
0
        public ResponseMessage UpdatestructureModify(List <DispReqStructureDto> structure)
        {
            try
            {
                ResponseMessage responseMessage = new ResponseMessage();
                structure.ForEach(item =>
                {
                    DispReqStructure structid =
                        _context.DispReqStructure.Single(w => w.ProjStructId == item.ProjStructId &&
                                                         w.DispreqId == item.DispreqId);
                    DispatchRequirement disreq = _context.DispatchRequirement
                                                 .Single(w => w.Id == item.DispatchRequirementId);

                    if (structid != null && disreq != null)
                    {
                        if (disreq.Status != "NEW")
                        {
                            responseMessage.Message = "Invalid Status";
                        }
                        else
                        {
                            if (item.IsModification)
                            {
                                structid.IsModification   = item.IsModification;
                                structid.DispStructStatus = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCAPPROVED).ToString();
                            }
                            else
                            {
                                structid.IsModification   = item.IsModification;
                                structid.DispStructStatus = Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString();
                            }

                            responseMessage.Message = "Structure Modification status updated";
                        }
                    }
                    _context.DispReqStructure.Update(structid);
                    _context.SaveChanges();
                });

                structure.ForEach(item =>
                {
                    DisreqStatusHistory disReqHis = new DisreqStatusHistory();
                    DispatchRequirement disreq    = _context.DispatchRequirement
                                                    .Single(w => w.Id == item.DispatchRequirementId);
                    var totalCount = _context.DispReqStructure.Where(x => x.DispreqId == item.DispatchRequirementId).Count();
                    var appCount   = _context.DispReqStructure.Where(x => x.DispreqId == item.DispatchRequirementId && x.DispStructStatus == Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCAPPROVED).ToString()).Count();
                    var delivCount = _context.DispReqStructure.Where(x => x.DispreqId == item.DispatchRequirementId && x.DispStructStatus == Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString()).Count();
                    if (totalCount != appCount)
                    {
                        disreq.Status            = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                        disreq.StatusInternal    = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                        disreq.UpdatedBy         = 1; //To DO
                        disReqHis.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                        disReqHis.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                        disreq.UpdatedAt         = DateTime.Now;
                        disReqHis.DispatchNo     = disreq.DispatchNo;
                        disReqHis.RoleId         = disreq.RoleId;
                        disReqHis.CreatedBy      = 1; //To DO
                        disReqHis.CreatedAt      = DateTime.Now;
                    }
                    else
                    {
                        disreq.Status            = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCAPPROVED).ToString();
                        disreq.StatusInternal    = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCAPPROVED).ToString();
                        disreq.UpdatedBy         = 1; //To DO
                        disreq.UpdatedAt         = DateTime.Now;
                        disReqHis.DispatchNo     = disreq.DispatchNo;
                        disReqHis.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                        disReqHis.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYAPPROVED).ToString();
                        disReqHis.RoleId         = disreq.RoleId;
                        disReqHis.CreatedBy      = 1; //To DO
                        disReqHis.CreatedAt      = DateTime.Now;
                    }
                    if (totalCount == delivCount)
                    {
                        disreq.Status            = Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString();
                        disreq.StatusInternal    = Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString();
                        disreq.UpdatedBy         = 1; //To DO
                        disReqHis.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString();
                        disReqHis.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString();
                        disreq.UpdatedAt         = DateTime.Now;
                        disReqHis.DispatchNo     = disreq.DispatchNo;
                        disReqHis.RoleId         = disreq.RoleId;
                        disReqHis.CreatedBy      = 1; //To DO
                        disReqHis.CreatedAt      = DateTime.Now;
                    }
                    _context.DispatchRequirement.Update(disreq);
                    _context.DisreqStatusHistory.Add(disReqHis);
                    _context.SaveChanges();
                });


                return(responseMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #8
0
        public ResponseMessage UpdateComponentHistory(DispComponentDto Component)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    ResponseMessage responseMessage     = new ResponseMessage();
                    List <ComponentDetailsInput> result = new List <ComponentDetailsInput>();
                    int    id       = Component.DispStructureId;
                    string strQuery = string.Format("select dsc.id DispstructCompId, dsc.disp_structure_id DispStructureId,c.id DispCompId  from disp_structure_comp dsc inner join  component c  on  dsc.disp_comp_id  = c.id inner join disp_mod_stage_component dmsc on dmsc.dispstruct_comp_id =dsc.id inner join component_type ct on c.comp_type_id =ct.id where dsc.disp_structure_id ={0}", id);
                    result = _context.Query <ComponentDetailsInput>().FromSqlRaw(strQuery).ToList();

                    List <DispStructureComp> dispStructureComp = _context.DispStructureComp.Where(w => w.DispStructureId == Component.DispStructureId).ToList();


                    result.ForEach(item =>
                    {
                        Component compDetails =
                            _context.Component.Single(w => w.Id == item.DispCompId);
                        ComponentHistory AddItem = new ComponentHistory();
                        if (compDetails != null)
                        {
                            AddItem.Weight    = compDetails.Weight;
                            AddItem.Leng      = compDetails.Leng;
                            AddItem.Breath    = compDetails.Breath;
                            AddItem.Height    = compDetails.Height;
                            AddItem.Thickness = compDetails.Thickness;
                            //AddItem.MakeType=compDetails.MakeType;
                            AddItem.CreatedAt    = DateTime.Now;
                            AddItem.CreatedBy    = 1;   //To do
                            AddItem.ProjStructId = compDetails.ProjStructId;
                            AddItem.CompId       = compDetails.CompId;
                            AddItem.ProjStructId = compDetails.ProjStructId;
                            AddItem.CompTypeId   = compDetails.CompTypeId;
                        }
                        _context.ComponentHistory.Add(AddItem);
                        _context.SaveChanges();

                        DispModStageComponent compModStageDetails = _context.DispModStageComponent.OrderByDescending(o => o.CreatedAt).FirstOrDefault(x => x.DispstructCompId == item.DispstructCompId);

                        compDetails.Weight       = compModStageDetails.Weight;
                        compDetails.Leng         = compModStageDetails.Leng;
                        compDetails.Breath       = compModStageDetails.Breath;
                        compDetails.Height       = compModStageDetails.Height;
                        compDetails.Thickness    = compModStageDetails.Thickness;
                        compDetails.MakeType     = compModStageDetails.MakeType;
                        compDetails.ProjStructId = compDetails.ProjStructId;
                        _context.Component.Update(compDetails);
                        _context.SaveChanges();
                    });

                    DispReqStructure structid =
                        _context.DispReqStructure.FirstOrDefault(w => w.ProjStructId == Component.ProjectStructureId &&
                                                                 w.Id == Component.DispStructureId);

                    if (Component.IsVendor)
                    {
                        if (structid != null)
                        {
                            {
                                responseMessage = _dispatchReqSubConRepository.OSAssignVendor(Component.OSDispatchReqSubCont);
                            }
                            structid.DispStructStatus = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCMODIFYAPRD).ToString();
                            _context.DispReqStructure.Update(structid);

                            _context.SaveChanges();
                        }
                    }


                    if (Component.IsSite)
                    {
                        DispReqStructure dispstructid =
                            _context.DispReqStructure.SingleOrDefault(w => w.ProjStructId == Component.ProjectStructureId &&
                                                                      w.Id == Component.DispStructureId);

                        if (dispstructid != null)
                        {
                            dispstructid.DispStructStatus = Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString();
                            _context.DispReqStructure.Update(dispstructid);

                            _context.SaveChanges();
                        }
                    }

                    DisreqStatusHistory disReqHis = new DisreqStatusHistory();
                    DispatchRequirement disreq    = _context.DispatchRequirement
                                                    .SingleOrDefault(w => w.Id == Component.DispatchRequirementId);
                    var totalCount = _context.DispReqStructure.Where(x => x.DispreqId == Component.DispatchRequirementId).Count();
                    var appCount   = _context.DispReqStructure.Where(x => x.DispreqId == Component.DispatchRequirementId && (x.DispStructStatus == Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCMODIFYAPRD).ToString() || x.DispStructStatus == Util.GetDescription(commonEnum.SiteDispatchSatus.READYTODELIVER).ToString())).Count();
                    // if(disreq!=null){
                    //      throw new ValueNotFoundException ("DispatchRequirementId Not Available");
                    // }
                    if (totalCount != appCount)
                    {
                        disreq.Status            = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCPARIALLYMODIFYAPRD).ToString();
                        disreq.StatusInternal    = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCPARIALLYMODIFYAPRD).ToString();
                        disreq.UpdatedBy         = 1; //To DO
                        disReqHis.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCPARIALLYMODIFYAPRD).ToString();
                        disReqHis.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCPARIALLYMODIFYAPRD).ToString();
                        disreq.UpdatedAt         = DateTime.Now;
                        disReqHis.DispatchNo     = disreq.DispatchNo;
                        disReqHis.RoleId         = disreq.RoleId;
                        disReqHis.CreatedBy      = 1; //To DO
                        disReqHis.CreatedAt      = DateTime.Now;
                    }
                    else
                    {
                        disreq.Status            = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCMODIFYAPRD).ToString();
                        disreq.StatusInternal    = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCMODIFYAPRD).ToString();
                        disreq.UpdatedBy         = 1; //To DO
                        disreq.UpdatedAt         = DateTime.Now;
                        disReqHis.DispatchNo     = disreq.DispatchNo;
                        disReqHis.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCMODIFYAPRD).ToString();
                        disReqHis.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.TWCCMODIFYAPRD).ToString();
                        disReqHis.RoleId         = disreq.RoleId;
                        disReqHis.CreatedBy      = 1; //To DO
                        disReqHis.CreatedAt      = DateTime.Now;
                    }

                    _context.DispatchRequirement.Update(disreq);
                    _context.DisreqStatusHistory.Add(disReqHis);
                    _context.SaveChanges();
                    responseMessage.Message = "Component updated";
                    transaction.Commit();
                    return(responseMessage);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
        }
예제 #9
0
        public ResponseMessage UpdateDispatchComponent(List <DispModStageComponentDto> Component)
        {
            try
            {
                ResponseMessage responseMessage = new ResponseMessage();
                Component.ForEach(item =>
                {
                    DisreqStatusHistory disReqHis = new DisreqStatusHistory();
                    DispModStageComponent AddItem = new DispModStageComponent();
                    if (item != null)
                    {
                        AddItem.DispstructCompId = item.DispstructCompId;
                        AddItem.Weight           = item.Weight;
                        AddItem.Leng             = item.Leng;
                        AddItem.Breath           = item.Breath;
                        AddItem.Height           = item.Height;
                        AddItem.Thickness        = item.Thickness;
                        AddItem.MakeType         = item.MakeType;
                        AddItem.Addplate         = item.Addplate;
                        AddItem.CreatedAt        = DateTime.Now;
                    }
                    DispReqStructure structid =
                        _context.DispReqStructure.Single(w => w.ProjStructId == item.ProjectStructureId &&
                                                         w.Id == item.DispStructureId);

                    if (structid != null)
                    {
                        structid.DispStructStatus = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString();
                        disReqHis.Status          = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString();
                        disReqHis.StatusInternal  = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString();
                        disReqHis.DispatchNo      = item.DCNumber;
                        disReqHis.CreatedBy       = 1; //To DO
                        disReqHis.CreatedAt       = DateTime.Now;
                    }


                    _context.DispReqStructure.Update(structid);
                    _context.DispModStageComponent.Add(AddItem);
                    _context.DisreqStatusHistory.Add(disReqHis);

                    _context.SaveChanges();

                    DispatchRequirement disreq = _context.DispatchRequirement
                                                 .Single(w => w.Id == item.DispatchRequirementId);
                    var totalCount = _context.DispReqStructure.Where(x => x.DispreqId == item.DispatchRequirementId).Count();
                    var appCount   = _context.DispReqStructure.Where(x => x.DispreqId == item.DispatchRequirementId && x.DispStructStatus == Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString()).Count();
                    DisreqStatusHistory disReqHis1 = new DisreqStatusHistory();
                    if (totalCount != appCount)
                    {
                        disreq.Status             = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYMODIFIED).ToString();
                        disreq.StatusInternal     = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYMODIFIED).ToString();
                        disreq.UpdatedBy          = 1; //To DO
                        disreq.UpdatedAt          = DateTime.Now;
                        disReqHis1.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYMODIFIED).ToString();
                        disReqHis1.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCPARTIALLYMODIFIED).ToString();
                        disReqHis1.DispatchNo     = disreq.DispatchNo;
                        disReqHis1.RoleId         = disreq.RoleId;
                        disReqHis1.CreatedBy      = 1; //To DO
                        disReqHis1.CreatedAt      = DateTime.Now;
                    }
                    else
                    {
                        disreq.Status             = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString();
                        disreq.StatusInternal     = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString();
                        disreq.UpdatedBy          = 1; //To DO
                        disreq.UpdatedAt          = DateTime.Now;
                        disReqHis1.DispatchNo     = item.DCNumber;
                        disReqHis1.Status         = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString();
                        disReqHis1.StatusInternal = Util.GetDescription(commonEnum.SiteDispatchSatus.CMPCMODIFIED).ToString();
                        disReqHis1.RoleId         = disreq.RoleId;
                        disReqHis1.CreatedBy      = 1; //To DO
                        disReqHis1.CreatedAt      = DateTime.Now;
                        disReqHis1.DispreqId      = item.DispatchRequirementId;
                    }

                    _context.DispatchRequirement.Update(disreq);
                    _context.DisreqStatusHistory.Add(disReqHis1);
                    _context.SaveChanges();
                    responseMessage.Message = "Component updated";
                });

                return(responseMessage);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }