public ResponseMessage CreateProject(AddProject project) { try { if (_context.Project.Where(x => x.Name == project.Name && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Project Name already exist."); } int projCount = _context.Project.Count() + 1; string projCode = constantVal.ProjCodePrefix + projCount.ToString().PadLeft(6, '0'); ResponseMessage responseMessage = new ResponseMessage(); Project projectDB = _mapper.Map <Project> (project); projectDB.ProjCode = projCode; _context.Project.Add(projectDB); _context.SaveChanges(); //Add the site location // if (project.ProjectSiteLocationDetails.Any ()) { // foreach (var item in project.ProjectSiteLocationDetails) { // ProjectSitelocation projectSitelocation = new ProjectSitelocation (); // projectSitelocation.Name = item.Name; // projectSitelocation.ProjectId = projectDB.Id; // _context.ProjectSitelocation.Add (projectSitelocation); // } // } // _context.SaveChanges (); responseMessage.Message = "Project created sucessfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
public ResponseMessage UpdateComponentDetails(ReceiveComponentPayload receiveComponentPayload) { ResponseMessage responseMessage = new ResponseMessage(); try { var dispatchStructureComponent = _context.DispStructureComp.Where(x => x.Id == receiveComponentPayload.DispatchStructureComponentId).FirstOrDefault(); if (dispatchStructureComponent != null) { dispatchStructureComponent.LastScandate = receiveComponentPayload.ScanDate; dispatchStructureComponent.Remarks = receiveComponentPayload.Remarks; dispatchStructureComponent.ScannedBy = receiveComponentPayload.ScannedBy; var componentDetail = _context.Component.Where(x => x.Id == receiveComponentPayload.DispatchComponentId).FirstOrDefault(); if (componentDetail != null) { componentDetail.QrCode = receiveComponentPayload.QRCode; } _context.SaveChanges(); return(responseMessage = new ResponseMessage() { Message = "Component updated successfully.", }); } else { throw new ValueNotFoundException("Component not available."); } } catch (Exception ex) { throw ex; } }
public ResponseMessage CreateVendor(AddVendor vendor) { try { if (_context.SubContractor.Where(x => x.Name == vendor.Name && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Vendor Name already exist."); } ResponseMessage responseMessage = new ResponseMessage(); SubContractor sc = _mapper.Map <SubContractor> (vendor); sc.CreatedAt = DateTime.Now; sc.CreatedBy = 1; //TODO _context.SubContractor.Add(sc); _context.SaveChanges(); //Add the sub contractor service type if (vendor.VendorServiceTypeDetails.Any()) { foreach (var item in vendor.VendorServiceTypeDetails) { SubContractorServiceType subContractorServiceType = new SubContractorServiceType(); subContractorServiceType.SubcontId = vendor.Id; subContractorServiceType.ServicetypeId = item.ServiceTypeId; _context.SubContractorServiceType.Add(subContractorServiceType); } } responseMessage.Message = "Vendor created sucessfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
public string StructureRemoveDocs(int docId) { try { SiteStrctPhysicalverfDoc structDocs = _context.SiteStrctPhysicalverfDoc.Where(x => x.Id == docId).FirstOrDefault(); _context.SiteStrctPhysicalverfDoc.Remove(structDocs); _context.SaveChanges(); return(structDocs.Path); } catch (Exception ex) { throw ex; } }
public ResponseMessage CreateBU(AddBusinessUnit businessunit) { try { ResponseMessage responseMessage = new ResponseMessage(); // LoginUser lgnUSer = WebHelpers.GetLoggedUser(); using (var transaction = _context.Database.BeginTransaction()) { try { foreach (var item in businessunit.lstBussUnit) { if (_context.BusinessUnit.Where(x => x.Name == item.Name && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Business Unit Name already exist."); } BusinessUnit bizzUnit = new BusinessUnit(); bizzUnit.IcId = businessunit.IcId; bizzUnit.SbgId = businessunit.SbgId; bizzUnit.Name = item.Name; bizzUnit.IsActive = true; bizzUnit.IsDelete = false; bizzUnit.CreatedAt = DateTime.Now; bizzUnit.CreatedBy = 1; //TODO lgnUSer.Id; _context.BusinessUnit.Add(bizzUnit); } _context.SaveChanges(); responseMessage.Message = "Business Unit created sucessfully"; AuditLogs audit = new AuditLogs() { Action = "Business Unit", Message = string.Format("Business Unit Added Successfully"), CreatedAt = DateTime.Now, }; _commonRepo.AuditLog(audit); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw ex; } } return(responseMessage); } catch (Exception ex) { throw ex; } }
public int AddSurplus(AddSurplus surplusDetails) { ResponseMessage response = new ResponseMessage(); using (var transaction = _context.Database.BeginTransaction()) { try { // if (_context.SiteDeclaration.Where(x => x.StructId == surplusDetails.DispStructId && x.SitereqId == surplusDetails.SiteReqId).Count() > 0) // { // throw new ValueNotFoundException("Structure Id already declared as surplus."); // } // else { SiteDeclaration surplusDb = _mapper.Map <SiteDeclaration> (surplusDetails); surplusDb.CreatedAt = DateTime.Now; surplusDb.UpdatedBy = 1; //TODO; surplusDb.Status = Util.GetDescription(commonEnum.SurPlusDeclSatus.NEW).ToString(); surplusDb.StatusInternal = Util.GetDescription(commonEnum.SurPlusDeclSatus.NEW).ToString(); surplusDb.CreatedAt = DateTime.Now; surplusDb.CreatedBy = 1; //TODO surplusDb.RoleId = 4; //TODO // surplusDb.SitereqId = 11; _context.SiteDeclaration.Add(surplusDb); _context.SaveChanges(); SitedeclStatusHistory siteStatusHist = new SitedeclStatusHistory(); siteStatusHist.SitedecId = surplusDb.Id; siteStatusHist.RoleId = surplusDb.RoleId; siteStatusHist.SitedecId = surplusDb.SitereqId; siteStatusHist.Status = surplusDb.Status; siteStatusHist.Notes = ""; siteStatusHist.StatusInternal = surplusDb.StatusInternal; siteStatusHist.UpdatedAt = DateTime.Now; siteStatusHist.UpdatedBy = 1; //TODO; _context.SitedeclStatusHistory.Add(siteStatusHist); _context.SaveChanges(); ProjectStructure projStructDB = _context.ProjectStructure.Where(x => x.Id == surplusDetails.ProjStructId).FirstOrDefault(); projStructDB.CurrentStatus = Util.GetDescription(commonEnum.StructureInternalStatus.SURPLUSINITIATED).ToString(); _context.SaveChanges(); transaction.Commit(); return(surplusDb.Id); } } catch (Exception ex) { transaction.Rollback(); throw ex; } } }
public ResponseMessage UpdatePageAccess(List <PageAccess> pageAccessDetails) { ResponseMessage responseMessage = new ResponseMessage(); try { foreach (PageAccess pageAccess in pageAccessDetails) { var pageAccessFromDB = _context.RolesApplicationforms.Where(x => x.FormId == pageAccess.PageDetailId && x.RoleId == pageAccess.RoleId).FirstOrDefault(); pageAccessFromDB.IsAdd = pageAccess.PageDetail.IsAdd; pageAccessFromDB.IsDelete = pageAccess.PageDetail.IsDelete; pageAccessFromDB.IsUpdate = pageAccess.PageDetail.IsUpdate; pageAccessFromDB.IsView = pageAccess.PageDetail.IsView; _context.SaveChanges(); AuditLogs audit = new AuditLogs() { Action = "Role Management", Message = "PageAccess Updated Succussfully", CreatedAt = DateTime.Now, }; _commonRepo.AuditLog(audit); } return(responseMessage = new ResponseMessage() { Message = "Page Access updated successfully." }); } catch (Exception ex) { throw ex; } }
public int UpsertProjectStructure(AssignStructureComponentDetails request) { ResponseMessage response = new ResponseMessage(); response.Message = "Structure-compoennet assigned succusfully"; // 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.StructureId == request.StructureId && x.ProjectId == request.ProjectId && x.IsDelete == false).FirstOrDefault(); if (request.ProjectStructureId != null) { projectStructure = _context.ProjectStructure.Where(x => x.Id == request.ProjectStructureId && x.IsDelete == false).FirstOrDefault(); } if (projectStructure != null) { projectStructure = ConstructProjectStructure(request, projectStructure); projectStructureID = projectStructure.Id; isUpdate = true; _context.SaveChanges(); } else { ProjectStructure projStructdb = null; projStructdb = ConstructProjectStructure(request, projStructdb); projStructdb.StructureStatus = Util.GetDescription(commonEnum.StructureStatus.AVAILABLE).ToString(); projStructdb.CurrentStatus = Util.GetDescription(commonEnum.StructureInternalStatus.NEW).ToString(); _context.ProjectStructure.Add(projStructdb); _context.SaveChanges(); projectStructureID = projStructdb.Id; } transaction.Commit(); return(projectStructureID); } catch (Exception ex) { transaction.Rollback(); throw ex; } } } catch (Exception ex) { throw ex; } }
public ResponseMessage SiteStructurePhysicalverify(SitePhysicalInpection Structure) { try { ResponseMessage responseMessage = new ResponseMessage(); int inspecCount = _context.SitePhysicalVerf.Count() + 1; string InspectionId = constantVal.InspectionPrefix + inspecCount.ToString().PadLeft(6, '0'); SitePhysicalVerf AddItem = new SitePhysicalVerf(); if (Structure != null) { AddItem.DuedateFrom = Structure.FromDueDate; AddItem.DuedateTo = Structure.ToDueDate; AddItem.InspectionId = InspectionId; AddItem.CreatedBy = 1;// To Do; AddItem.CreatedAt = DateTime.Now; } _context.SitePhysicalVerf.Add(AddItem); _context.SaveChanges(); Structure.StructList.ForEach(item => { SiteStructurePhysicalverf AddItem = new SiteStructurePhysicalverf(); AddItem.DuedateFrom = Structure.FromDueDate; AddItem.DuedateTo = Structure.ToDueDate; AddItem.SiteVerfId = _context.SitePhysicalVerf.OrderByDescending(o => o.Id).FirstOrDefault().Id; AddItem.ProjectId = item.ProjectId; AddItem.ProjStructId = item.ProjectstructureId; AddItem.Status = item.Status; AddItem.StatusInternal = item.StatusInternal; AddItem.RoleId = item.RoleId; AddItem.CreatedBy = 1;// To Do; AddItem.CreatedAt = DateTime.Now; _context.SiteStructurePhysicalverf.Add(AddItem); _context.SaveChanges(); }); responseMessage.Message = "Project created sucessfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
// public StructureComponentDetails GetStructureCompById(int id) // { // StructureComponentDetails response = new StructureComponentDetails(); // var responsedb = _context.ProjectStructure.Include(c=>c.Component).Where(x => x.StructureId == id && x.IsDelete == false).ToList(); // if (responsedb != null) // response = _mapper.Map<StructureComponentDetails>(responsedb); // return response; // } public ResponseMessage AddStructure(StructureDetails structureDetails) { ResponseMessage response = new ResponseMessage(); try { var structureDb = _mapper.Map <Structures> (structureDetails); _context.Structures.Add(structureDb); _context.SaveChanges(); return(response = new ResponseMessage() { Message = "Structure added successfully." }); // } } catch (Exception ex) { throw ex; } }
public ResponseMessage CreateStructureType(AddStructureType structureType) { try { if (_context.StructureType.Where(x => x.Name == structureType.Name && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Structure Type Name already exist."); } ResponseMessage responseMessage = new ResponseMessage(); StructureType st = _mapper.Map <StructureType> (structureType); _context.StructureType.Add(st); _context.SaveChanges(); responseMessage.Message = "Structure Type created sucessfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
public void AuditLog(AuditLogs audit) { try { audit.CreatedAt = DateTime.Now; _context.AuditLogs.Add(audit); _context.SaveChanges(); } catch (Exception ex) { throw ex; } }
public ResponseMessage UpdateFinalDispatchStatus(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; } }
public ResponseMessage CreateIC(AddIndependentCompany independentCompany) { try { if (_context.IndependentCompany.Where(x => x.Name == independentCompany.Name && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Independent Company Name already exist."); } ResponseMessage responseMessage = new ResponseMessage(); IndependentCompany ic = _mapper.Map <IndependentCompany> (independentCompany); _context.IndependentCompany.Add(ic); _context.SaveChanges(); responseMessage.Message = "Independent Company created sucessfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
public ResponseMessage CreateRequirement(AddSiteRequirement siteRequirement) { using (var transaction = _context.Database.BeginTransaction()) { try { ResponseMessage responseMessage = new ResponseMessage(); SiteRequirement sitereq = _mapper.Map <SiteRequirement> (siteRequirement); int siteReqCount = _context.SiteRequirement.Count() + 1; string mrno = constantVal.MRNoPrefix + siteReqCount.ToString().PadLeft(6, '0'); sitereq.CreatedAt = DateTime.Now; sitereq.CreatedBy = 1; //TODO sitereq.RoleId = 13; // TODO sitereq.MrNo = mrno; sitereq.Status = "NEW"; sitereq.StatusInternal = "NEW"; _context.SiteRequirement.Add(sitereq); _context.SaveChanges(); //Add the site requirement structure if (siteRequirement.SiteRequirementStructures.Any()) { foreach (var item in siteRequirement.SiteRequirementStructures) { SiteReqStructure siteReqStructure = new SiteReqStructure(); siteReqStructure.SiteReqId = sitereq.Id; siteReqStructure.StructId = item.StructId; siteReqStructure.Quantity = item.Quantity; siteReqStructure.PlanReleasedate = item.PlanReleasedate; siteReqStructure.PlanStartdate = item.PlanStartdate; siteReqStructure.RequireWbsId = item.RequireWbsId; siteReqStructure.ActualReleasedate = DateTime.Now; siteReqStructure.ActualStartdate = item.RequireByDate; siteReqStructure.StructureAttributesVal = item.StructureAttributesVal; _context.SiteReqStructure.Add(siteReqStructure); } } _context.SaveChanges(); SitereqStatusHistory siteStatusHist = new SitereqStatusHistory(); siteStatusHist.MrNo = sitereq.MrNo; siteStatusHist.RoleId = sitereq.RoleId; siteStatusHist.Status = sitereq.Status; siteStatusHist.StatusInternal = sitereq.StatusInternal; siteStatusHist.SitereqId = sitereq.Id; siteStatusHist.UpdatedAt = DateTime.Now; siteStatusHist.UpdatedBy = 1; //TODO _context.SitereqStatusHistory.Add(siteStatusHist); _context.SaveChanges(); responseMessage.Message = $"Site Requirement {sitereq.MrNo} created sucessfully"; transaction.Commit(); return(responseMessage); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }
public ResponseMessage InitiateScrapStructure(InitiateScrapStructure scrapStructure) { try { ResponseMessage responseMessage = new ResponseMessage(); ScrapStructure scrapStructureDB = new ScrapStructure(); scrapStructureDB.CreatedBy = 1; //TODO scrapStructureDB.RoleId = 1; //TODO scrapStructureDB.CreatedAt = DateTime.Now; scrapStructureDB.FromProjectId = scrapStructure.FromProjectId; scrapStructureDB.ProjStructId = scrapStructure.ProjStructId; scrapStructureDB.Status = commonEnum.ScrapStatus.NEW.ToString(); scrapStructureDB.DispStructureId = scrapStructure.DispStructId; _context.ScrapStructure.Add(scrapStructureDB); // _context.SaveChanges(); /*udpate structure status*/ int projStructID = Convert.ToInt32(scrapStructureDB.ProjStructId); ProjectStructure prjStruct = _context.ProjectStructure.Where(x => x.Id == projStructID).FirstOrDefault(); prjStruct.StructureStatus = Util.GetDescription(commonEnum.StructureStatus.NOTAVAILABLE).ToString(); prjStruct.CurrentStatus = Util.GetDescription(commonEnum.StructureInternalStatus.SCRAPPED).ToString(); _context.ProjectStructure.Update(prjStruct); // _context.SaveChanges(); ScrapStatusHistory sshDB = new ScrapStatusHistory(); sshDB.RoleId = scrapStructure.RoleId; sshDB.ScrapStuctreId = scrapStructureDB.Id; sshDB.Status = commonEnum.ScrapStatus.NEW.ToString(); sshDB.UpdatedAt = DateTime.Now; sshDB.UpdatedBy = scrapStructureDB.CreatedBy; _context.ScrapStatusHistory.Add(sshDB); _context.SaveChanges(); responseMessage.Message = "Scrap Structure created sucessfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
public ResponseMessage AddComponentType(ComponentTypeDetails componentTypeDetails) { ResponseMessage response = new ResponseMessage(); try { //TODO: ID auto incremented?? if (_context.ComponentType.Where(x => x.Id == componentTypeDetails.Id && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("ComponentType Id already exist."); } else if (_context.ComponentType.Where(x => x.Name == componentTypeDetails.Name && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("ComponentType Name already exist."); } else { var componentType = _mapper.Map <ComponentType> (componentTypeDetails); _context.ComponentType.Add(componentType); _context.SaveChanges(); //TODO: is audit required for componentType? /* AuditLogs audit = new AuditLogs () { * Action = "ComponentType", * Message = string.Format ("New ComponentType added successfully {0}", componentTypeDetails.Name), * CreatedAt = DateTime.Now * }; * _commonRepo.AuditLog(audit); */ return(response = new ResponseMessage() { Message = "ComponentType added successfully." }); } } catch (Exception ex) { throw ex; } }
public ResponseMessage BulkInsertWBS(List <AddWorkBreakDown> lstWorkBreakDown) { try { foreach (AddWorkBreakDown wbs in lstWorkBreakDown) { WorkBreakdown wbData = new WorkBreakdown(); WorkBreakdown wbData1 = _context.WorkBreakdown.Where(x => x.WbsId == wbs.WorkBreakDownCode && x.ProjectId == wbs.ProjectId && x.Segment == wbs.Segment && x.SubSegment == wbs.SubSegment && x.Elements == wbs.Element && x.IsDelete == false).FirstOrDefault(); if (wbData1 == null) { wbData.WbsId = wbs.WorkBreakDownCode; wbData.Segment = wbs.Segment; wbData.SubSegment = wbs.SubSegment; wbData.Elements = wbs.Element; wbData.ProjectId = wbs.ProjectId; wbData.CreatedAt = DateTime.Now; wbData.CreatedBy = 1; //to do _context.WorkBreakdown.Add(wbData); _context.SaveChanges(); } } AuditLogs audit = new AuditLogs() { Action = "WBS Insert", Message = string.Format("WBS BulkUpload completed Succussfully"), CreatedBy = null, //TODO:will get from session }; _commonRepo.AuditLog(audit); return(new ResponseMessage() { Message = "WBS Bulk Upload Completed successfully.", }); } catch (Exception ex) { throw ex; } }
public ResponseMessage CreateStrategicBusiness(AddStrategicBusiness strategicBusiness) { try { if (_context.StrategicBusiness.Where(x => x.Name == strategicBusiness.Name && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Strategic Business Group already exist"); } ResponseMessage response = new ResponseMessage(); StrategicBusiness sbg = _mapper.Map <StrategicBusiness>(strategicBusiness); sbg.IsDelete = false; sbg.IsActive = strategicBusiness.IsActive; _context.StrategicBusiness.Add(sbg); _context.SaveChanges(); response.Message = "Strategic Business Group added successfully"; return(response); } catch (Exception ex) { throw ex; } }
public ResponseMessage AddUser(UserDetails userDetails) { ResponseMessage responseMessage = new ResponseMessage(); try { userDetails.userId = 0; if (_context.Users.Where(x => x.Email == userDetails.email && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("Email Id already exist."); } else if (_context.Users.Where(x => x.PsNo == userDetails.userName && x.IsDelete == false).Count() > 0) { throw new ValueNotFoundException("UserName already exist."); } else { Users userDtls = _mapper.Map <Users> (userDetails); userDtls.IsActive = true; _context.Users.Add(userDtls); _context.SaveChanges(); AuditLogs audit = new AuditLogs() { Action = "User", Message = string.Format("New User added Succussfully {0}", userDetails.userName), CreatedAt = DateTime.Now, CreatedBy = userDetails.createdBy }; _commonRepo.AuditLog(audit); return(responseMessage = new ResponseMessage() { Message = "User added successfully." }); } } catch (Exception ex) { throw ex; } }
public ResponseMessage AddStructurecomponent(ADDStructureComponentDetails input) { try { ResponseMessage responseMessage = new ResponseMessage(); ProjectStructure structid = _context.ProjectStructure.Single(w => w.Id == input.ProjectStructureId); structid.ActualWbs = input.ActualWbs; structid.FabricationYear = input.FabricationYear; structid.ActualWeight = input.ActualWeight; structid.Reusuability = input.Reusuability; structid.ExpReleaseDate = input.ExpReleaseDate; 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); DispatchRequirement DispatchRequirement = _context.DispatchRequirement.Single(w => w.Id == input.DispatchRequirementId); if (DispatchRequirement != null) { DispatchRequirement.Status = Util.GetDescription(commonEnum.SiteDispStructureStatus.FABRICATIONCOMPLETED).ToString(); DispatchRequirement.StatusInternal = Util.GetDescription(commonEnum.SiteDispStructureStatus.FABRICATIONCOMPLETED).ToString(); } _context.ProjectStructure.Update(structid); _context.DispatchRequirement.Update(DispatchRequirement); _context.SaveChanges(); responseMessage.Message = "ProjectStructure Updated sucessfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
public ResponseMessage OSAssignVendor(OSDispatchReqSubCont oSDispatchReqSubCont) { try { ResponseMessage responseMessage = new ResponseMessage(); string[] strAllowedService = { commonEnum.ServiceType.Fabrication.ToString(), commonEnum.ServiceType.OutSourcing.ToString(), commonEnum.ServiceType.Reuse.ToString() }; DispatchRequirement dispReq = _context.DispatchRequirement.Include(c => c.Servicetype).Where(x => x.DispatchNo == oSDispatchReqSubCont.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 = new DispatchreqSubcont(); dispatchreqSubcont.ServicetypeId = oSDispatchReqSubCont.ServiceType; dispatchreqSubcont.DispatchNo = oSDispatchReqSubCont.DispatchNo; dispatchreqSubcont.DispreqId = oSDispatchReqSubCont.DispreqId; // dispatchreqSubcont. dispatchreqSubcont.CreatedAt = DateTime.Now; dispatchreqSubcont.CreatedBy = 1; //TODO dispatchreqSubcont.Status = "New"; dispatchreqSubcont.StatusInternal = "New"; if (oSDispatchReqSubCont.ServiceType > 0) { dispatchreqSubcont.ServicetypeId = oSDispatchReqSubCont.ServiceType; } else { dispatchreqSubcont.ServicetypeId = 2; } //Add the dispatch subcont structure if (oSDispatchReqSubCont.VendorStructures.Any()) { var groupbyVendor = oSDispatchReqSubCont.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 == oSDispatchReqSubCont.DispreqId).FirstOrDefault(); if (drsDB == null) { throw new ValueNotFoundException("Dispatch Requirement ID & Project Struct ID doesn't exists"); } DispSubcontStructure dispSubcontStructure = new DispSubcontStructure(); dispSubcontStructure.ProjStructId = item.ProjStructureId; dispSubcontStructure.DispreqsubcontId = dispatchreqSubcont.Id; dispSubcontStructure.DispStructureId = drsDB.Id; _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 assigned successfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
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; } }
public ResponseMessage UpdateSiteDispatchVendorDocuments(SiteDispatchUpload uploadDocs, int dispatchRequestSubContractorId) { ResponseMessage responseMessage = new ResponseMessage(); try { DispSubcontDocuments doc = new DispSubcontDocuments(); doc.FileName = uploadDocs.FileName; doc.FileType = uploadDocs.FileType; doc.Path = uploadDocs.Path; doc.DispSubcontId = dispatchRequestSubContractorId; _context.DispSubcontDocuments.Add(doc); _context.SaveChanges(); responseMessage.Message = "File uploaded successfully"; return(responseMessage); } catch (Exception ex) { throw ex; } }
public ResponseMessage AddComponents(AddComponents request) { ResponseMessage response = new ResponseMessage(); response.Message = "Components added succusfully"; List <dispatchedStrucCount> result = new List <dispatchedStrucCount>(); int count = _context.Component.Where(s => s.ProjStructId == request.ProjStructId).Count(); int Quantity = request.Components.Where(x => x.CompId == null).Count(); int excedCout = count + Quantity; int totalcount = _context.ProjectStructure.Single(s => s.Id == request.ProjStructId).ComponentsCount ?? 0; if (totalcount < excedCout) { throw new ValueNotFoundException("Dispatch Components should match the required quantity."); } try { // using (var transaction = _context.Database.BeginTransaction ()) try { var isUpdate = false; var projectStructureID = 0; ProjectStructure projectStructure = _context.ProjectStructure.Where(x => x.Id == request.ProjStructId && x.IsDelete == false).FirstOrDefault(); int compCount = _context.Component.Where(x => x.ProjStructId == request.ProjStructId).Count(); int payLoadeCompCount = request.Components.Where(x => x.CompId == null).Count(); int excedcout = payLoadeCompCount + compCount; if (projectStructure.ComponentsCount < excedcout) { throw new ValueNotFoundException("Component limit exceed"); } if (projectStructure == null) { throw new ValueNotFoundException("Project Structure not yet assigned"); } projectStructureID = projectStructure.Id; if (request.Components?.Count > 0) { List <Component> componentls = new List <Component> (); List <ComponentHistory> componentHistls = new List <ComponentHistory> (); foreach (var comp in request.Components) { ComponentType compTypeDB = _context.ComponentType.Where(x => x.Name == comp.CompTypeName && x.IsDelete == false).FirstOrDefault(); if (compTypeDB == null) { throw new ValueNotFoundException("Component Type Name doesn't exist"); } } foreach (var comp in request.Components) { var compdb = _context.Component.Where(x => x.CompId == comp.CompId && x.IsDelete == false).FirstOrDefault(); ComponentType compTypeDB = _context.ComponentType.Where(x => x.Name == comp.CompTypeName && x.IsDelete == false).FirstOrDefault(); if (compTypeDB == null) { throw new ValueNotFoundException("Component Type Name doesn't exist"); } if (compdb != null) { compdb = ConstructComponent(projectStructureID, comp, compdb, compTypeDB); _context.SaveChanges(); } else { Component component = null; comp.CompStatus = "O"; component = ConstructComponent(projectStructureID, comp, component, compTypeDB); _context.Component.Add(component); _context.SaveChanges(); } } // projectStructure.ComponentsCount = request.Components.Count (); _context.SaveChanges(); } return(response); } catch (Exception ex) { // transaction.Rollback (); throw ex; } } catch (Exception ex) { throw ex; } }