private void LoadGeneralData() { // ... for geographical location hdfCountryId.DataBind(); if (hdfCountryId.Value != "") { CountryGateway countryGateway = new CountryGateway(); countryGateway.LoadByCountryId(Int64.Parse(hdfCountryId.Value)); tbxCountry.Text = countryGateway.GetName(Int64.Parse(hdfCountryId.Value)); } else { tbxCountry.Text = ""; } hdfProvinceStateId.DataBind(); if (hdfProvinceStateId.Value != "") { ProvinceGateway provinceGateway = new ProvinceGateway(); provinceGateway.LoadByProvinceId(Int64.Parse(hdfProvinceStateId.Value)); tbxProvinceState.Text = provinceGateway.GetName(Int64.Parse(hdfProvinceStateId.Value)); } else { tbxProvinceState.Text = ""; } hdfCountyId.DataBind(); if (hdfCountyId.Value != "") { CountyGateway countyGateway = new CountyGateway(); countyGateway.LoadByCountyId(Int64.Parse(hdfCountyId.Value)); tbxCounty.Text = countyGateway.GetName(Int64.Parse(hdfCountyId.Value)); } else { tbxCounty.Text = ""; } hdfCityId.DataBind(); if (hdfCityId.Value != "") { CityGateway cityGateway = new CityGateway(); cityGateway.LoadByCityId(Int64.Parse(hdfCityId.Value)); tbxCity.Text = cityGateway.GetName(Int64.Parse(hdfCityId.Value)); } else { tbxCity.Text = ""; } // ... for project ProjectGateway projectGateway = new ProjectGateway(projectTDS); int currentCompanyId = projectGateway.GetClientID(Int32.Parse(hdfProjectId.Value.ToString())); hdfClientId.Value = projectGateway.GetClientID(Int32.Parse(hdfProjectId.Value)).ToString(); // ... for client int companyId = Int32.Parse(hdfCompanyId.Value); CompaniesGateway companiesGateway = new CompaniesGateway(); companiesGateway.LoadAllByCompaniesId(currentCompanyId, companyId); if (projectTDS.LFS_PROJECT.Rows.Count > 0) { tkrdpStartDate.DataBind(); tkrdpEndDate.DataBind(); tkrdpProposalDate.DataBind(); tbxProjectNumber.DataBind(); tbxName.DataBind(); tbxDescription.DataBind(); tbxClientName.Text = companiesGateway.GetName(projectGateway.GetClientID(int.Parse(hdfProjectId.Value))); tbxClientProjectNumber.DataBind(); // ... ... for primary contact ContactsList contactList = new ContactsList(); contactList.LoadAllAndAddItemByCompaniesId(-1, " ", projectGateway.GetClientID(int.Parse(hdfProjectId.Value)), companyId); ddlClientPrimaryContactId.DataSource = contactList.Table; ddlClientPrimaryContactId.DataValueField = "CONTACTS_ID"; ddlClientPrimaryContactId.DataTextField = "Name"; if (projectGateway.GetClientPrimaryContactID(int.Parse(hdfProjectId.Value)).HasValue) { ddlClientPrimaryContactId.SelectedValue = projectGateway.GetClientPrimaryContactID(int.Parse(hdfProjectId.Value)).ToString(); } else { ddlClientPrimaryContactId.SelectedValue = "-1"; } ddlClientPrimaryContactId.DataBind(); // ... ... for secondary contact ddlClientSecondaryContactId.DataSource = contactList.Table; ddlClientSecondaryContactId.DataValueField = "CONTACTS_ID"; ddlClientSecondaryContactId.DataTextField = "Name"; if (projectGateway.GetClientSecondaryContactID(int.Parse(hdfProjectId.Value)).HasValue) { ddlClientSecondaryContactId.SelectedValue = projectGateway.GetClientSecondaryContactID(int.Parse(hdfProjectId.Value)).ToString(); } else { ddlClientSecondaryContactId.SelectedValue = "-1"; } ddlClientSecondaryContactId.DataBind(); // ... for resources // ... ... for project lead EmployeeList employeeList = new EmployeeList(); employeeList.LoadAndAddItem(-1, " "); ddlProjectLeadId.DataSource = employeeList.Table; ddlProjectLeadId.DataValueField = "EmployeeID"; ddlProjectLeadId.DataTextField = "FullName"; ddlProjectLeadId.SelectedValue = (projectGateway.GetProjectLeadID(int.Parse(hdfProjectId.Value)).HasValue) ? ((int)projectGateway.GetProjectLeadID(int.Parse(hdfProjectId.Value))).ToString() : "-1"; ddlProjectLeadId.DataBind(); // ... ... for salesman SalesmanListGateway salesmanListGateway = new SalesmanListGateway(new DataSet()); salesmanListGateway.Load(); ddlSalesmanId.DataSource = salesmanListGateway.Table; ddlSalesmanId.DataValueField = "SalesmanID"; ddlSalesmanId.DataTextField = "FullName"; ddlSalesmanId.SelectedValue = ((int)projectGateway.GetSalesmanID(int.Parse(hdfProjectId.Value))).ToString(); ddlSalesmanId.DataBind(); // ... ... for Pricing if (projectGateway.GetProjectType(int.Parse(hdfProjectId.Value)) == "Ballpark") { ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(projectTDS); if (projectSaleBillingPricingGateway.Table.Rows.Count > 0) { tbxBillPrice.DataBind(); ddlBillMoney.DataBind(); } else { if (projectGateway.GetCountryID(int.Parse(hdfProjectId.Value)) == 1) { ddlBillMoney.SelectedValue = "CAD"; } else { ddlBillMoney.SelectedValue = "USD"; } } } } cbxFairWageApplies.DataBind(); // Data for unit budget tab ProjectNavigatorProjectUnitsBudgetGateway projectNavigatorProjectUnitsBudgetGateway = new ProjectNavigatorProjectUnitsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectUnitsBudgetGateway.Table.Rows.Count > 0) { tbxUnitsBudget.Text = projectNavigatorProjectUnitsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value)).ToString("n2"); } // Data for materials budget tab ProjectNavigatorProjectMaterialsBudgetGateway projectNavigatorProjectMaterialsBudgetGateway = new ProjectNavigatorProjectMaterialsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectMaterialsBudgetGateway.Table.Rows.Count > 0) { tbxMaterialsBudget.Text = projectNavigatorProjectMaterialsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value)).ToString("n2"); } // Data for subcontractors budget tab ProjectNavigatorProjectSubcontractorsBudgetGateway projectNavigatorProjectSubcontractorsBudgetGateway = new ProjectNavigatorProjectSubcontractorsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectSubcontractorsBudgetGateway.Table.Rows.Count > 0) { tbxSubcontractorsBudget.Text = projectNavigatorProjectSubcontractorsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } // Data for hotels budget tab ProjectNavigatorProjectHotelsBudgetGateway projectNavigatorProjectHotelsBudgetGateway = new ProjectNavigatorProjectHotelsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectHotelsBudgetGateway.Table.Rows.Count > 0) { tbxHotelsBudget.Text = projectNavigatorProjectHotelsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } // Data for bondings budget tab ProjectNavigatorProjectBondingsBudgetGateway projectNavigatorProjectBondingsBudgetGateway = new ProjectNavigatorProjectBondingsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectBondingsBudgetGateway.Table.Rows.Count > 0) { tbxBondingsBudget.Text = projectNavigatorProjectBondingsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } // Data for insurances budget tab ProjectNavigatorProjectInsurancesBudgetGateway projectNavigatorProjectInsurancesBudgetGateway = new ProjectNavigatorProjectInsurancesBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectInsurancesBudgetGateway.Table.Rows.Count > 0) { tbxInsurancesBudget.Text = projectNavigatorProjectInsurancesBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } CalculateTotalBudget(); }
private void InsertProjectSaleBillingPricing(int originalProjectId) { // ... Data for current project ProjectTDS projectTDSTemp = new ProjectTDS(); ProjectSaleBillingPricingGateway projectSaleBillingPricingGatewayTemp = new ProjectSaleBillingPricingGateway(projectTDSTemp); projectSaleBillingPricingGatewayTemp.LoadAllByProjectId(originalProjectId); ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(projectTDS); projectSaleBillingPricingGateway.LoadAllByProjectId(originalProjectId); if (projectSaleBillingPricingGateway.Table.Rows.Count > 0) { // ... Definition of general variables bool saleBidProject = projectSaleBillingPricingGateway.GetSaleBidProject(originalProjectId); bool saleRFP = projectSaleBillingPricingGateway.GetSaleRFP(originalProjectId); bool saleSoleSource = projectSaleBillingPricingGateway.GetSaleSoleSource(originalProjectId); bool saleTermContract = projectSaleBillingPricingGateway.GetSaleTermContract(originalProjectId); string saleTermContractDetail = projectSaleBillingPricingGateway.GetSaleTermContractDetail(originalProjectId); bool saleOther = projectSaleBillingPricingGateway.GetSaleOther(originalProjectId); string saleOtherDetail = projectSaleBillingPricingGateway.GetSaleOtherDetail(originalProjectId); int? saleGettingJob = null; if (projectSaleBillingPricingGateway.GetSaleGettingJob(originalProjectId).HasValue) saleGettingJob = (int)projectSaleBillingPricingGateway.GetSaleGettingJob(originalProjectId); decimal? billPrice = null; if (projectSaleBillingPricingGateway.GetBillPrice(originalProjectId).HasValue) billPrice = (decimal)projectSaleBillingPricingGateway.GetBillPrice(originalProjectId); string billMoney = projectSaleBillingPricingGateway.GetBillMoney(originalProjectId); decimal? billSubcontractorAmount = null; if (projectSaleBillingPricingGateway.GetBillSubcontractorAmount(originalProjectId).HasValue) billSubcontractorAmount = (decimal)projectSaleBillingPricingGateway.GetBillSubcontractorAmount(originalProjectId); string billBidHardDollar = projectSaleBillingPricingGateway.GetBillBidHardDollar(originalProjectId); bool billPerUnit = projectSaleBillingPricingGateway.GetBillPerUnit(originalProjectId); bool billHourly = projectSaleBillingPricingGateway.GetBillHourly(originalProjectId); string billExpectExtras = projectSaleBillingPricingGateway.GetBillExpectExtras(originalProjectId); bool chargesWater = projectSaleBillingPricingGateway.GetChargesWater(originalProjectId); decimal? chargesWaterAmount = null; if (projectSaleBillingPricingGateway.GetChargesWaterAmount(originalProjectId).HasValue) chargesWaterAmount = (decimal)projectSaleBillingPricingGateway.GetChargesWaterAmount(originalProjectId); bool chargesDisposal = projectSaleBillingPricingGateway.GetChargesDisposal(originalProjectId); decimal? chargesDisposalAmount = null; if (projectSaleBillingPricingGateway.GetChargesDisposalAmount(originalProjectId).HasValue) chargesDisposalAmount = (decimal)projectSaleBillingPricingGateway.GetChargesDisposalAmount(originalProjectId); // ... Insert Sale/Billing/Pricing ProjectSaleBillingPricing projectSaleBillingPricing = new ProjectSaleBillingPricing(projectTDS); projectSaleBillingPricing.Insert(0, saleBidProject, saleRFP, saleSoleSource, saleTermContract, saleTermContractDetail, saleOther, saleOtherDetail, saleGettingJob, billPrice, billMoney, billBidHardDollar, billPerUnit, billHourly, billExpectExtras, billSubcontractorAmount, chargesWater, chargesWaterAmount, chargesDisposal, chargesDisposalAmount, Int32.Parse(hdfCompanyId.Value.Trim())); } }
// //////////////////////////////////////////////////////////////////////// // EVENTS // protected void Page_Load(object sender, EventArgs e) { // Register client scripts this.RegisterClientScripts(); if (!IsPostBack) { // Security check if (!(Convert.ToBoolean(Session["sgLFS_PROJECTS_VIEW"]) && Convert.ToBoolean(Session["sgLFS_PROJECTS_EDIT"]))) { Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator."); } // Validate query string if (((string)Request.QueryString["source_page"] == null) || ((string)Request.QueryString["project_id"] == null)) { Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in project_edit.aspx"); } // Tag page hdfCompanyId.Value = Session["companyID"].ToString(); hdfProjectId.Value = Request.QueryString["project_id"]; hdfLoginId.Value = Convert.ToInt32(Session["loginID"]).ToString(); hdfDataChanged.Value = Request.QueryString["data_changed"]; hdfDataChangedMessage.Value = "Changes made to this project will not be saved."; // Prepare initial data Session.Remove("projectNotesDummy"); Session.Remove("projectServicesDummy"); Session.Remove("projectTypeOfWorkFunctionClassificationDummy"); Session.Remove("projectJobClassClassificationDummy"); Session.Remove("projectBudgetDummy"); Session.Remove("subcontractorsBudgetDummy"); Session.Remove("hotelsBudgetDummy"); Session.Remove("bondingsBudgetDummy"); Session.Remove("insurancesBudgetDummy"); Session.Remove("otherCostsBudgetDummy"); Session["fairWage"] = "None"; // ... Set initial tab if ((string)Session["dialogOpenedProjects"] != "1") { hdfActiveTab.Value = Request.QueryString["active_tab"]; } else { hdfActiveTab.Value = (string)Session["activeTabProjects"]; } // ... For Library if (Session["lfsLibraryTDS"] != null) { libraryTDS = (LibraryTDS)Session["lfsLibraryTDS"]; } else { libraryTDS = new LibraryTDS(); } // If coming from // ... projects2.aspx or project_add.aspx if (Request.QueryString["source_page"] == "projects2.aspx" || Request.QueryString["source_page"] == "project_add.aspx") { // Store Navigator State, Update control and Origin StoreNavigatorState(); ViewState["update"] = "no"; ViewState["origin"] = "navigator"; // Get Project Id int projectId = int.Parse(hdfProjectId.Value); // ... Attachment control if (Session["fromAttachment"] != null) { if (Session["fromAttachment"].ToString() == "yes") { // Restore dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectNavigatorTDS = (ProjectNavigatorTDS)Session["projectNavigatorTDS"]; projectNotes = (ProjectNavigatorTDS.ProjectNotesDataTable)Session["projectNotes"]; projectServices = (ProjectNavigatorTDS.ProjectServiceDataTable)Session["projectServices"]; projectJobClassClassification = (ProjectNavigatorTDS.LFS_PROJECT_JOB_CLASS_TYPE_RATEDataTable)Session["projectJobClassClassification"]; projectTypeOfWorkFunctionClassification = (ProjectNavigatorTDS.LFS_PROJECT_WORK_FUNCTION_FAIR_WAGEDataTable)Session["projectTypeOfWorkFunctionClassification"]; projectBudget = (ProjectNavigatorTDS.ProjectWorkFunctionBudgetDataTable)Session["projectBudget"]; unitsBudget = (ProjectNavigatorTDS.ProjectUnitsBudgetDataTable)Session["unitsBudget"]; materialsBudget = (ProjectNavigatorTDS.ProjectMaterialsBudgetDataTable)Session["materialsBudget"]; subcontractorsBudget = (ProjectNavigatorTDS.ProjectSubcontractorsBudgetDataTable)Session["subcontractorsBudget"]; hotelsBudget = (ProjectNavigatorTDS.ProjectHotelsBudgetDataTable)Session["hotelsBudget"]; bondingsBudget = (ProjectNavigatorTDS.ProjectBondingsBudgetDataTable)Session["bondingsBudget"]; insurancesBudget = (ProjectNavigatorTDS.ProjectInsurancesBudgetDataTable)Session["insurancesBudget"]; otherCostsBudget = (ProjectNavigatorTDS.ProjectOtherCostsBudgetDataTable)Session["otherCostsBudget"]; } Session.Remove("fromAttachment"); } else { // Get dataset projectTDS = new ProjectTDS(); projectNavigatorTDS = new ProjectNavigatorTDS(); projectNotes = new ProjectNavigatorTDS.ProjectNotesDataTable(); projectServices = new ProjectNavigatorTDS.ProjectServiceDataTable(); projectTypeOfWorkFunctionClassification = new ProjectNavigatorTDS.LFS_PROJECT_WORK_FUNCTION_FAIR_WAGEDataTable(); projectJobClassClassification = new ProjectNavigatorTDS.LFS_PROJECT_JOB_CLASS_TYPE_RATEDataTable(); projectBudget = new ProjectNavigatorTDS.ProjectWorkFunctionBudgetDataTable(); unitsBudget = new ProjectNavigatorTDS.ProjectUnitsBudgetDataTable(); materialsBudget = new ProjectNavigatorTDS.ProjectMaterialsBudgetDataTable(); subcontractorsBudget = new ProjectNavigatorTDS.ProjectSubcontractorsBudgetDataTable(); hotelsBudget = new ProjectNavigatorTDS.ProjectHotelsBudgetDataTable(); bondingsBudget = new ProjectNavigatorTDS.ProjectBondingsBudgetDataTable(); insurancesBudget = new ProjectNavigatorTDS.ProjectInsurancesBudgetDataTable(); otherCostsBudget = new ProjectNavigatorTDS.ProjectOtherCostsBudgetDataTable(); // Get General Data ProjectGateway projectGatewayForLoad = new ProjectGateway(projectTDS); projectGatewayForLoad.LoadByProjectId(projectId); // Get job info ProjectJobInfoGateway projectJobInfoGateway = new ProjectJobInfoGateway(projectNavigatorTDS); projectJobInfoGateway.LoadAllByProjectId(projectId); // Get Sale/Billing/Pricing ProjectSaleBillingPricingGateway projectSaleBillingPricingGatewayForLoad = new ProjectSaleBillingPricingGateway(projectTDS); projectSaleBillingPricingGatewayForLoad.LoadAllByProjectId(projectId); // ... Get Sale/Billing/Pricing - Services ProjectNavigatorProjectService projectNavigatorProjectService = new ProjectNavigatorProjectService(projectNavigatorTDS); projectNavigatorProjectService.LoadAllByProjectId(projectId); projectNavigatorProjectService.UpdateForLoad(); // Get Costing Updates ProjectCostingUpdatesGateway projectCostingUpdatesGatewayForLoad = new ProjectCostingUpdatesGateway(projectTDS); projectCostingUpdatesGatewayForLoad.LoadByProjectId(projectId); // Get Project Terms ProjectTermsPOGateway projectTermsPOGatewayForLoad = new ProjectTermsPOGateway(projectTDS); projectTermsPOGatewayForLoad.LoadByProjectId(projectId); // Get Technical ProjectTechnicalGateway projectTechnicalGatewayForLoad = new ProjectTechnicalGateway(projectTDS); projectTechnicalGatewayForLoad.LoadByProjectId(projectId); // Get Engineer Subcontractors ProjectEngineerSubcontractorsGateway projectEngineerSubcontractorsGatewayForLoad = new ProjectEngineerSubcontractorsGateway(projectTDS); projectEngineerSubcontractorsGatewayForLoad.LoadAllByProjectId(projectId); // ... Get Subcontractors ProjectSubcontractorGateway projectSubcontractorGatewayForLoad = new ProjectSubcontractorGateway(projectTDS); projectSubcontractorGatewayForLoad.LoadAllByProjectId(projectId); // Cost Exceptions // ... Get Type Of Work & Function Classification ProjectNavigatorProjectWorkFunctionFairWage projectNavigatorProjectWorkFunctionFairWage = new ProjectNavigatorProjectWorkFunctionFairWage(projectNavigatorTDS); projectNavigatorProjectWorkFunctionFairWage.LoadAllByProjectId(projectId); // ... Get Job Class Classification ProjectNavigatorProjectJobClassTypeRate projectNavigatorProjectJobClassTypeRate = new ProjectNavigatorProjectJobClassTypeRate(projectNavigatorTDS); projectNavigatorProjectJobClassTypeRate.LoadAllByProjectId(projectId); // Get Budget ProjectNavigatorProjectWorkFunctionBudget projectNavigatorProjectWorkFunctionBudget = new ProjectNavigatorProjectWorkFunctionBudget(projectNavigatorTDS); projectNavigatorProjectWorkFunctionBudget.LoadAllByProjectId(projectId); // Get Units Budget ProjectNavigatorProjectUnitsBudget projectNavigatorProjectUnitsBudget = new ProjectNavigatorProjectUnitsBudget(projectNavigatorTDS); projectNavigatorProjectUnitsBudget.LoadAllByProjectId(projectId); // Get Materials Budget ProjectNavigatorProjectMaterialsBudget projectNavigatorProjectMaterialsBudget = new ProjectNavigatorProjectMaterialsBudget(projectNavigatorTDS); projectNavigatorProjectMaterialsBudget.LoadAllByProjectId(projectId); // Get Subcontractors Budget ProjectNavigatorProjectSubcontractorsBudget projectNavigatorProjectSubcontractorsBudget = new ProjectNavigatorProjectSubcontractorsBudget(projectNavigatorTDS); projectNavigatorProjectSubcontractorsBudget.LoadAllByProjectId(projectId); // Get Hotels Budget ProjectNavigatorProjectHotelsBudget projectNavigatorProjectHotelsBudget = new ProjectNavigatorProjectHotelsBudget(projectNavigatorTDS); projectNavigatorProjectHotelsBudget.LoadAllByProjectId(projectId); // Get Bondings Budget ProjectNavigatorProjectBondingsBudget projectNavigatorProjectBondingsBudget = new ProjectNavigatorProjectBondingsBudget(projectNavigatorTDS); projectNavigatorProjectBondingsBudget.LoadAllByProjectId(projectId); // Get Insurances Budget ProjectNavigatorProjectInsurancesBudget projectNavigatorProjectInsurancesBudget = new ProjectNavigatorProjectInsurancesBudget(projectNavigatorTDS); projectNavigatorProjectInsurancesBudget.LoadAllByProjectId(projectId); // Get Other Costs Budget ProjectNavigatorProjectOtherCostsBudget projectNavigatorProjectOtherCostsBudget = new ProjectNavigatorProjectOtherCostsBudget(projectNavigatorTDS); projectNavigatorProjectOtherCostsBudget.LoadAllByProjectId(projectId); // Get Notes ProjectNavigatorProjectNotes projectNavigatorProjectNotes = new ProjectNavigatorProjectNotes(projectNavigatorTDS); projectNavigatorProjectNotes.LoadAllByProjectId(projectId); // Store dataset Session["lfsProjectTDS"] = projectTDS; Session["projectNavigatorTDS"] = projectNavigatorTDS; Session["projectNotes"] = projectNavigatorTDS.ProjectNotes; Session["projectServices"] = projectNavigatorTDS.ProjectService; Session["projectTypeOfWorkFunctionClassification"] = projectNavigatorTDS.LFS_PROJECT_WORK_FUNCTION_FAIR_WAGE; Session["projectJobClassClassification"] = projectNavigatorTDS.LFS_PROJECT_JOB_CLASS_TYPE_RATE; Session["projectBudget"] = projectNavigatorTDS.ProjectWorkFunctionBudget; Session["unitsBudget"] = projectNavigatorTDS.ProjectUnitsBudget; Session["materialsBudget"] = projectNavigatorTDS.ProjectMaterialsBudget; Session["subcontractorsBudget"] = projectNavigatorTDS.ProjectSubcontractorsBudget; Session["hotelsBudget"] = projectNavigatorTDS.ProjectHotelsBudget; Session["bondingsBudget"] = projectNavigatorTDS.ProjectBondingsBudget; Session["insurancesBudget"] = projectNavigatorTDS.ProjectInsurancesBudget; Session["otherCostsBudget"] = projectNavigatorTDS.ProjectOtherCostsBudget; } //grdNotes.DataBind(); //grdServices.DataBind(); grdTypeOfWorkFunctionClassification.DataBind(); grdJobClassClassification.DataBind(); grdBudget.DataBind(); /*grdSubcontractorsBudget.DataBind(); grdHotelsBudget.DataBind(); grdBondingsBudget.DataBind(); grdInsurancesBudget.DataBind();*/ grdOtherCostsBudget.DataBind(); } // ... project_summary.aspx or project_edit.aspx if ((Request.QueryString["source_page"] == "project_summary.aspx") || (Request.QueryString["source_page"] == "project_edit.aspx") || (Request.QueryString["source_page"] == "lm")) { // Store Navigator State, update control and origin StoreNavigatorState(); ViewState["update"] = Request.QueryString["update"]; ViewState["origin"] = Request.QueryString["origin"]; //summary // Restore dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectNavigatorTDS = (ProjectNavigatorTDS)Session["projectNavigatorTDS"]; projectNotes = (ProjectNavigatorTDS.ProjectNotesDataTable)Session["projectNotes"]; projectServices = (ProjectNavigatorTDS.ProjectServiceDataTable)Session["projectServices"]; projectJobClassClassification = (ProjectNavigatorTDS.LFS_PROJECT_JOB_CLASS_TYPE_RATEDataTable)Session["projectJobClassClassification"]; projectTypeOfWorkFunctionClassification = (ProjectNavigatorTDS.LFS_PROJECT_WORK_FUNCTION_FAIR_WAGEDataTable)Session["projectTypeOfWorkFunctionClassification"]; projectBudget = (ProjectNavigatorTDS.ProjectWorkFunctionBudgetDataTable)Session["projectBudget"]; unitsBudget = (ProjectNavigatorTDS.ProjectUnitsBudgetDataTable)Session["unitsBudget"]; materialsBudget = (ProjectNavigatorTDS.ProjectMaterialsBudgetDataTable)Session["materialsBudget"]; subcontractorsBudget = (ProjectNavigatorTDS.ProjectSubcontractorsBudgetDataTable)Session["subcontractorsBudget"]; hotelsBudget = (ProjectNavigatorTDS.ProjectHotelsBudgetDataTable)Session["hotelsBudget"]; bondingsBudget = (ProjectNavigatorTDS.ProjectBondingsBudgetDataTable)Session["bondingsBudget"]; insurancesBudget = (ProjectNavigatorTDS.ProjectInsurancesBudgetDataTable)Session["insurancesBudget"]; otherCostsBudget = (ProjectNavigatorTDS.ProjectOtherCostsBudgetDataTable)Session["otherCostsBudget"]; // Get Project Id int projectId = int.Parse(hdfProjectId.Value); if (ViewState["update"].ToString().Trim() == "yes") { // Get General Data ProjectGateway projectGatewayForLoad = new ProjectGateway(projectTDS); projectGatewayForLoad.LoadByProjectId(projectId); // Get job info ProjectJobInfoGateway projectJobInfoGateway = new ProjectJobInfoGateway(projectNavigatorTDS); projectJobInfoGateway.LoadAllByProjectId(projectId); // Get Sale/Billing/Pricing ProjectSaleBillingPricingGateway projectSaleBillingPricingGatewayForLoad = new ProjectSaleBillingPricingGateway(projectTDS); projectSaleBillingPricingGatewayForLoad.LoadAllByProjectId(projectId); // ... Get Sale/Billing/Pricing - Services ProjectNavigatorProjectService projectNavigatorProjectService = new ProjectNavigatorProjectService(projectNavigatorTDS); projectNavigatorProjectService.LoadAllByProjectId(projectId); projectNavigatorProjectService.UpdateForLoad(); // Get Costing Updates ProjectCostingUpdatesGateway projectCostingUpdatesGatewayForLoad = new ProjectCostingUpdatesGateway(projectTDS); projectCostingUpdatesGatewayForLoad.LoadByProjectId(projectId); // Get Project Terms ProjectTermsPOGateway projectTermsPOGatewayForLoad = new ProjectTermsPOGateway(projectTDS); projectTermsPOGatewayForLoad.LoadByProjectId(projectId); // Get Technical ProjectTechnicalGateway projectTechnicalGatewayForLoad = new ProjectTechnicalGateway(projectTDS); projectTechnicalGatewayForLoad.LoadByProjectId(projectId); // Get Engineer Subcontractors ProjectEngineerSubcontractorsGateway projectEngineerSubcontractorsGatewayForLoad = new ProjectEngineerSubcontractorsGateway(projectTDS); projectEngineerSubcontractorsGatewayForLoad.LoadAllByProjectId(projectId); // ... Get Subcontractors ProjectSubcontractorGateway projectSubcontractorGatewayForLoad = new ProjectSubcontractorGateway(projectTDS); projectSubcontractorGatewayForLoad.LoadAllByProjectId(projectId); // Cost Exceptions // ... Get Type Of Work & Function Classification ProjectNavigatorProjectWorkFunctionFairWage projectNavigatorProjectWorkFunctionFairWage = new ProjectNavigatorProjectWorkFunctionFairWage(projectNavigatorTDS); projectNavigatorProjectWorkFunctionFairWage.LoadAllByProjectId(projectId); // ... Get Job Class Classification ProjectNavigatorProjectJobClassTypeRate projectNavigatorProjectJobClassTypeRate = new ProjectNavigatorProjectJobClassTypeRate(projectNavigatorTDS); projectNavigatorProjectJobClassTypeRate.LoadAllByProjectId(projectId); // Get Budget ProjectNavigatorProjectWorkFunctionBudget projectNavigatorProjectWorkFunctionBudget = new ProjectNavigatorProjectWorkFunctionBudget(projectNavigatorTDS); projectNavigatorProjectWorkFunctionBudget.LoadAllByProjectId(projectId); // Get Units Budget ProjectNavigatorProjectUnitsBudget projectNavigatorProjectUnitsBudget = new ProjectNavigatorProjectUnitsBudget(projectNavigatorTDS); projectNavigatorProjectUnitsBudget.LoadAllByProjectId(projectId); // Get Materials Budget ProjectNavigatorProjectMaterialsBudget projectNavigatorProjectMaterialsBudget = new ProjectNavigatorProjectMaterialsBudget(projectNavigatorTDS); projectNavigatorProjectMaterialsBudget.LoadAllByProjectId(projectId); // Get Subcontractors Budget ProjectNavigatorProjectSubcontractorsBudget projectNavigatorProjectSubcontractorsBudget = new ProjectNavigatorProjectSubcontractorsBudget(projectNavigatorTDS); projectNavigatorProjectSubcontractorsBudget.LoadAllByProjectId(projectId); // Get Hotels Budget ProjectNavigatorProjectHotelsBudget projectNavigatorProjectHotelsBudget = new ProjectNavigatorProjectHotelsBudget(projectNavigatorTDS); projectNavigatorProjectHotelsBudget.LoadAllByProjectId(projectId); // Get Bondings Budget ProjectNavigatorProjectBondingsBudget projectNavigatorProjectBondingsBudget = new ProjectNavigatorProjectBondingsBudget(projectNavigatorTDS); projectNavigatorProjectBondingsBudget.LoadAllByProjectId(projectId); // Get Insurances Budget ProjectNavigatorProjectInsurancesBudget projectNavigatorProjectInsurancesBudget = new ProjectNavigatorProjectInsurancesBudget(projectNavigatorTDS); projectNavigatorProjectInsurancesBudget.LoadAllByProjectId(projectId); // Get Other Costs Budget ProjectNavigatorProjectOtherCostsBudget projectNavigatorProjectOtherCostsBudget = new ProjectNavigatorProjectOtherCostsBudget(projectNavigatorTDS); projectNavigatorProjectOtherCostsBudget.LoadAllByProjectId(projectId); // Get Notes ProjectNavigatorProjectNotes projectNavigatorProjectNotes = new ProjectNavigatorProjectNotes(projectNavigatorTDS); projectNavigatorProjectNotes.LoadAllByProjectId(projectId); //grdNotes.DataBind(); //grdServices.DataBind(); grdTypeOfWorkFunctionClassification.DataBind(); grdJobClassClassification.DataBind(); grdBudget.DataBind(); /*grdSubcontractorsBudget.DataBind(); grdHotelsBudget.DataBind(); grdBondingsBudget.DataBind(); grdInsurancesBudget.DataBind();*/ grdOtherCostsBudget.DataBind(); // Store dataset Session["lfsProjectTDS"] = projectTDS; Session["projectNavigatorTDS"] = projectNavigatorTDS; Session["projectNotes"] = projectNavigatorTDS.ProjectNotes; Session["projectServices"] = projectNavigatorTDS.ProjectService; Session["projectTypeOfWorkFunctionClassification"] = projectNavigatorTDS.LFS_PROJECT_WORK_FUNCTION_FAIR_WAGE; Session["projectJobClassClassification"] = projectNavigatorTDS.LFS_PROJECT_JOB_CLASS_TYPE_RATE; Session["projectBudget"] = projectNavigatorTDS.ProjectWorkFunctionBudget; Session["unitsBudget"] = projectNavigatorTDS.ProjectUnitsBudget; Session["materialsBudget"] = projectNavigatorTDS.ProjectMaterialsBudget; Session["subcontractorsBudget"] = projectNavigatorTDS.ProjectSubcontractorsBudget; Session["hotelsBudget"] = projectNavigatorTDS.ProjectHotelsBudget; Session["bondingsBudget"] = projectNavigatorTDS.ProjectBondingsBudget; Session["insurancesBudget"] = projectNavigatorTDS.ProjectInsurancesBudget; Session["otherCostsBudget"] = projectNavigatorTDS.ProjectOtherCostsBudget; } } // Data for current project ProjectGateway projectGateway = new ProjectGateway(projectTDS); // ... for project int currentProjectId = Int32.Parse(hdfProjectId.Value.ToString()); string name = projectGateway.GetName(currentProjectId); if (name.Length > 23) name = name.Substring(0, 20) + "..."; lblTitleProjectName.Text = name + " (" + projectGateway.GetProjectNumber(currentProjectId) + ")"; // ... for client int companyId = Int32.Parse(hdfCompanyId.Value); int currentClientId = projectGateway.GetClientID(Int32.Parse(hdfProjectId.Value.ToString())); CompaniesGateway companiesGateway = new CompaniesGateway(); companiesGateway.LoadAllByCompaniesId(currentClientId, companyId); lblTitleClientName.Text = "Client: " + companiesGateway.GetName(currentClientId); // Load Data LoadData(); // Store Dataset Session["lfsProjectTDS"] = projectTDS; //// ... For total cost at services //ProjectNavigatorProjectService projectNavigatorProjectServiceForCost = new ProjectNavigatorProjectService(projectNavigatorTDS); //tbxTotalCost.Text = Decimal.Round(projectNavigatorProjectServiceForCost.GetTotalCost(), 2).ToString(); } else { // Restore dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectNavigatorTDS = (ProjectNavigatorTDS)Session["projectNavigatorTDS"]; projectNotes = (ProjectNavigatorTDS.ProjectNotesDataTable)Session["projectNotes"]; projectServices = (ProjectNavigatorTDS.ProjectServiceDataTable)Session["projectServices"]; projectJobClassClassification = (ProjectNavigatorTDS.LFS_PROJECT_JOB_CLASS_TYPE_RATEDataTable)Session["projectJobClassClassification"]; projectTypeOfWorkFunctionClassification = (ProjectNavigatorTDS.LFS_PROJECT_WORK_FUNCTION_FAIR_WAGEDataTable)Session["projectTypeOfWorkFunctionClassification"]; projectBudget = (ProjectNavigatorTDS.ProjectWorkFunctionBudgetDataTable)Session["projectBudget"]; unitsBudget = (ProjectNavigatorTDS.ProjectUnitsBudgetDataTable)Session["unitsBudget"]; materialsBudget = (ProjectNavigatorTDS.ProjectMaterialsBudgetDataTable)Session["materialsBudget"]; subcontractorsBudget = (ProjectNavigatorTDS.ProjectSubcontractorsBudgetDataTable)Session["subcontractorsBudget"]; hotelsBudget = (ProjectNavigatorTDS.ProjectHotelsBudgetDataTable)Session["hotelsBudget"]; bondingsBudget = (ProjectNavigatorTDS.ProjectBondingsBudgetDataTable)Session["bondingsBudget"]; insurancesBudget = (ProjectNavigatorTDS.ProjectInsurancesBudgetDataTable)Session["insurancesBudget"]; otherCostsBudget = (ProjectNavigatorTDS.ProjectOtherCostsBudgetDataTable)Session["otherCostsBudget"]; tbxProjectNumber.DataBind(); if (Session["lfsLibraryTDS"] != null) { libraryTDS = (LibraryTDS)Session["lfsLibraryTDS"]; } else { libraryTDS = new LibraryTDS(); } } }
/// <summary> /// Update4 - Duplicate proposal /// </summary> public void Update4() { ProjectCostingUpdatesGateway projectCostingUpdatesGateway = new ProjectCostingUpdatesGateway(Data); ProjectEngineerSubcontractorsGateway projectEngineerSubcontractorsGateway = new ProjectEngineerSubcontractorsGateway(Data); ProjectHistoryGateway projectHistoryGateway = new ProjectHistoryGateway(Data); ProjectNotesGateway projectNotesGateway = new ProjectNotesGateway(Data); ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(Data); ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(Data); ProjectSubcontractorGateway projectSubcontractorGateway = new ProjectSubcontractorGateway(Data); ProjectTechnicalGateway projectTechnicalGateway = new ProjectTechnicalGateway(Data); ProjectTermsPOGateway projectTermsPOGateway = new ProjectTermsPOGateway(Data); DataTable projectChanges = Table.GetChanges(); DataTable projectCostingUpdatesChanges = projectCostingUpdatesGateway.Table.GetChanges(); DataTable projectEngineerSubcontractorsChanges = projectEngineerSubcontractorsGateway.Table.GetChanges(); DataTable projectHistoryChanges = projectHistoryGateway.Table.GetChanges(); DataTable projectNotesChanges = projectNotesGateway.Table.GetChanges(); DataTable projectSaleBillingPricingChanges = projectSaleBillingPricingGateway.Table.GetChanges(); DataTable projectServiceChanges = projectServiceGateway.Table.GetChanges(); DataTable projectSubcontractorChanges = projectSubcontractorGateway.Table.GetChanges(); DataTable projectTechnicalChanges = projectTechnicalGateway.Table.GetChanges(); DataTable projectTermsPOChanges = projectTermsPOGateway.Table.GetChanges(); if ((projectChanges == null) && (projectCostingUpdatesChanges == null) && (projectEngineerSubcontractorsChanges == null) && (projectHistoryChanges == null) && (projectNotesChanges == null) && (projectSaleBillingPricingChanges == null) && (projectServiceChanges == null) && (projectSubcontractorChanges == null) && (projectTechnicalChanges == null) && (projectTermsPOChanges == null)) return; try { DB.Open(); DB.BeginTransaction(); Adapter.InsertCommand.Transaction = DB.Transaction; Adapter.UpdateCommand.Transaction = DB.Transaction; Adapter.DeleteCommand.Transaction = DB.Transaction; projectCostingUpdatesGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectCostingUpdatesGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectCostingUpdatesGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectEngineerSubcontractorsGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectEngineerSubcontractorsGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectEngineerSubcontractorsGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectHistoryGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectHistoryGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectHistoryGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectNotesGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectNotesGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectNotesGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectSaleBillingPricingGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectSaleBillingPricingGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectSaleBillingPricingGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectServiceGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectServiceGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectServiceGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectSubcontractorGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectSubcontractorGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectSubcontractorGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectTechnicalGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectTechnicalGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectTechnicalGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectTermsPOGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectTermsPOGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectTermsPOGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; if ((projectChanges != null) && (projectChanges.Rows.Count > 0)) { Adapter.Update(projectChanges); int newProjectId = DB.GetIdentCurrent("LFS_PROJECT", DB.Transaction); //Getting projectId for History table ProjectTDS.LFS_PROJECT_HISTORYRow rowHistory = ((ProjectTDS.LFS_PROJECT_HISTORYDataTable)projectHistoryGateway.Table).FindByProjectIDRefID(0, 1); rowHistory.ProjectID = newProjectId; projectHistoryChanges = projectHistoryGateway.Table.GetChanges(); //Getting projectId for Costing Updates table if (projectCostingUpdatesGateway.Table.Rows.Count > 0) { ProjectTDS.LFS_PROJECT_COSTING_UPDATESRow rowProjectCosting = ((ProjectTDS.LFS_PROJECT_COSTING_UPDATESDataTable)projectCostingUpdatesGateway.Table).FindByProjectID(0); rowProjectCosting.ProjectID = newProjectId; projectCostingUpdatesChanges = projectCostingUpdatesGateway.Table.GetChanges(); } //Getting projectId for Engineer Subcontractors table if (projectEngineerSubcontractorsGateway.Table.Rows.Count > 0) { ProjectTDS.LFS_PROJECT_ENGINEER_SUBCONTRACTORSRow rowEngineerSubcontractors = ((ProjectTDS.LFS_PROJECT_ENGINEER_SUBCONTRACTORSDataTable)projectEngineerSubcontractorsGateway.Table).FindByProjectID(0); rowEngineerSubcontractors.ProjectID = newProjectId; projectEngineerSubcontractorsChanges = projectEngineerSubcontractorsGateway.Table.GetChanges(); } //Getting projectId for Notes table foreach (ProjectTDS.LFS_PROJECT_NOTERow rowNotes in (ProjectTDS.LFS_PROJECT_NOTEDataTable)projectNotesGateway.Table) { if (rowNotes.ProjectID == 0) { rowNotes.ProjectID = newProjectId; } } projectNotesChanges = projectNotesGateway.Table.GetChanges(); //Getting projectId for SaleBillingPricing if (projectSaleBillingPricingGateway.Table.Rows.Count > 0) { ProjectTDS.LFS_PROJECT_SALE_BILLING_PRICINGRow rowSaleBillingPricing = ((ProjectTDS.LFS_PROJECT_SALE_BILLING_PRICINGDataTable)projectSaleBillingPricingGateway.Table).FindByProjectID(0); rowSaleBillingPricing.ProjectID = newProjectId; projectSaleBillingPricingChanges = projectSaleBillingPricingGateway.Table.GetChanges(); } //Getting projectId for Subcontractors foreach (ProjectTDS.LFS_PROJECT_SUBCONTRACTORRow rowSubcontractor in (ProjectTDS.LFS_PROJECT_SUBCONTRACTORDataTable)projectSubcontractorGateway.Table) { if (rowSubcontractor.ProjectID == 0) { rowSubcontractor.ProjectID = newProjectId; } } projectSubcontractorChanges = projectSubcontractorGateway.Table.GetChanges(); //Getting projectId for Services foreach (ProjectTDS.LFS_PROJECT_SERVICERow rowService in (ProjectTDS.LFS_PROJECT_SERVICEDataTable)projectServiceGateway.Table) { if (rowService.ProjectID == 0) { rowService.ProjectID = newProjectId; } } projectServiceChanges = projectServiceGateway.Table.GetChanges(); //Getting projectId for Technical if (projectTechnicalGateway.Table.Rows.Count > 0) { ProjectTDS.LFS_PROJECT_TECHNICALRow rowTechnical = ((ProjectTDS.LFS_PROJECT_TECHNICALDataTable)projectTechnicalGateway.Table).FindByProjectID(0); rowTechnical.ProjectID = newProjectId; projectTechnicalChanges = projectTechnicalGateway.Table.GetChanges(); } //Getting projectId for Terms if (projectTermsPOGateway.Table.Rows.Count > 0) { ProjectTDS.LFS_PROJECT_TERMSRow rowTerms = ((ProjectTDS.LFS_PROJECT_TERMSDataTable)projectTermsPOGateway.Table).FindByProjectID(0); rowTerms.ProjectID = newProjectId; projectTermsPOChanges = projectTermsPOGateway.Table.GetChanges(); } } if ((projectCostingUpdatesChanges != null) && (projectCostingUpdatesChanges.Rows.Count > 0)) { projectCostingUpdatesGateway.Adapter.Update(projectCostingUpdatesChanges); } if ((projectEngineerSubcontractorsChanges != null) && (projectEngineerSubcontractorsChanges.Rows.Count > 0)) { projectEngineerSubcontractorsGateway.Adapter.Update(projectEngineerSubcontractorsChanges); } if ((projectHistoryChanges != null) && (projectHistoryChanges.Rows.Count > 0)) { projectHistoryGateway.Adapter.Update(projectHistoryChanges); } if ((projectNotesChanges != null) && (projectNotesChanges.Rows.Count > 0)) { projectNotesGateway.Adapter.Update(projectNotesChanges); } if ((projectSaleBillingPricingChanges != null) && (projectSaleBillingPricingChanges.Rows.Count > 0)) { projectSaleBillingPricingGateway.Adapter.Update(projectSaleBillingPricingChanges); } if ((projectServiceChanges != null) && (projectServiceChanges.Rows.Count > 0)) { projectServiceGateway.Adapter.Update(projectServiceChanges); } if ((projectSubcontractorChanges != null) && (projectSubcontractorChanges.Rows.Count > 0)) { projectSubcontractorGateway.Adapter.Update(projectSubcontractorChanges); } if ((projectTechnicalChanges != null) && (projectTechnicalChanges.Rows.Count > 0)) { projectTechnicalGateway.Adapter.Update(projectTechnicalChanges); } if ((projectTermsPOChanges != null) && (projectTermsPOChanges.Rows.Count > 0)) { projectTermsPOGateway.Adapter.Update(projectTermsPOChanges); } DB.CommitTransaction(); } catch (DBConcurrencyException dBConcurrencyException) { DB.RollbackTransaction(); throw new Exception("Concurrency error: Another user already updated the data you are working on. Your operation has been cancelled.", dBConcurrencyException); } catch (SqlException sqlException) { DB.RollbackTransaction(); byte severityLevel = sqlException.Class; if (severityLevel <= 16) { throw new Exception("Low severity error. Your operation has been cancelled. SQL Error " + severityLevel + "."); } if ((severityLevel >= 17) && (severityLevel <= 19)) { throw new Exception("Mid severity error. Your operation has been cancelled. SQL Error " + severityLevel + "."); } if (severityLevel >= 20) { throw new Exception("High severity error. Your operation has been cancelled. SQL Error " + severityLevel + "."); } } catch (Exception e) { DB.RollbackTransaction(); throw new Exception("Unknow error. Your operation has been cancelled.", e); } finally { DB.Close(); } }
/// <summary> /// Update3 - Update all project /// </summary> public void Update3() { ProjectCostingUpdatesGateway projectCostingUpdatesGateway = new ProjectCostingUpdatesGateway(Data); ProjectEngineerSubcontractorsGateway projectEngineerSubcontractorsGateway = new ProjectEngineerSubcontractorsGateway(Data); ProjectHistoryGateway projectHistoryGateway = new ProjectHistoryGateway(Data); ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(Data); ProjectSubcontractorGateway projectSubcontractorGateway = new ProjectSubcontractorGateway(Data); ProjectTechnicalGateway projectTechnicalGateway = new ProjectTechnicalGateway(Data); ProjectTermsPOGateway projectTermsPOGateway = new ProjectTermsPOGateway(Data); DataTable projectChanges = Table.GetChanges(); DataTable projectCostingUpdatesChanges = projectCostingUpdatesGateway.Table.GetChanges(); DataTable projectEngineerSubcontractorsChanges = projectEngineerSubcontractorsGateway.Table.GetChanges(); DataTable projectHistoryChanges = projectHistoryGateway.Table.GetChanges(); DataTable projectSaleBillingPricingChanges = projectSaleBillingPricingGateway.Table.GetChanges(); DataTable projectSubcontractorChanges = projectSubcontractorGateway.Table.GetChanges(); DataTable projectTechnicalChanges = projectTechnicalGateway.Table.GetChanges(); DataTable projectTermsPOChanges = projectTermsPOGateway.Table.GetChanges(); if ((projectChanges == null) && (projectCostingUpdatesChanges == null) && (projectEngineerSubcontractorsChanges == null) && (projectHistoryChanges == null) && (projectSaleBillingPricingChanges == null) && (projectSubcontractorChanges == null) && (projectTechnicalChanges == null) && (projectTermsPOChanges == null)) return; try { DB.Open(); DB.BeginTransaction(); Adapter.InsertCommand.Transaction = DB.Transaction; Adapter.UpdateCommand.Transaction = DB.Transaction; Adapter.DeleteCommand.Transaction = DB.Transaction; projectCostingUpdatesGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectCostingUpdatesGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectCostingUpdatesGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectEngineerSubcontractorsGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectEngineerSubcontractorsGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectEngineerSubcontractorsGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectHistoryGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectHistoryGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectHistoryGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectSaleBillingPricingGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectSaleBillingPricingGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectSaleBillingPricingGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectSubcontractorGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectSubcontractorGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectSubcontractorGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectTechnicalGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectTechnicalGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectTechnicalGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; projectTermsPOGateway.Adapter.InsertCommand.Transaction = DB.Transaction; projectTermsPOGateway.Adapter.UpdateCommand.Transaction = DB.Transaction; projectTermsPOGateway.Adapter.DeleteCommand.Transaction = DB.Transaction; if ((projectChanges != null) && (projectChanges.Rows.Count > 0)) { Adapter.Update(projectChanges); } if ((projectCostingUpdatesChanges != null) && (projectCostingUpdatesChanges.Rows.Count > 0)) { projectCostingUpdatesGateway.Adapter.Update(projectCostingUpdatesChanges); } if ((projectEngineerSubcontractorsChanges != null) && (projectEngineerSubcontractorsChanges.Rows.Count > 0)) { projectEngineerSubcontractorsGateway.Adapter.Update(projectEngineerSubcontractorsChanges); } if ((projectHistoryChanges != null) && (projectHistoryChanges.Rows.Count > 0)) { projectHistoryGateway.Adapter.Update(projectHistoryChanges); } if ((projectSaleBillingPricingChanges != null) && (projectSaleBillingPricingChanges.Rows.Count > 0)) { projectSaleBillingPricingGateway.Adapter.Update(projectSaleBillingPricingChanges); } if ((projectSubcontractorChanges != null) && (projectSubcontractorChanges.Rows.Count > 0)) { projectSubcontractorGateway.Adapter.Update(projectSubcontractorChanges); } if ((projectTechnicalChanges != null) && (projectTechnicalChanges.Rows.Count > 0)) { projectTechnicalGateway.Adapter.Update(projectTechnicalChanges); } if ((projectTermsPOChanges != null) && (projectTermsPOChanges.Rows.Count > 0)) { projectTermsPOGateway.Adapter.Update(projectTermsPOChanges); } DB.CommitTransaction(); } catch (DBConcurrencyException dBConcurrencyException) { DB.RollbackTransaction(); throw new Exception("Concurrency error: Another user already updated the data you are working on. Your operation has been cancelled.", dBConcurrencyException); } catch (SqlException sqlException) { DB.RollbackTransaction(); byte severityLevel = sqlException.Class; if (severityLevel <= 16) { throw new Exception("Low severity error. Your operation has been cancelled. SQL Error " + severityLevel + "."); } if ((severityLevel >= 17) && (severityLevel <= 19)) { throw new Exception("Mid severity error. Your operation has been cancelled. SQL Error " + severityLevel + "."); } if (severityLevel >= 20) { throw new Exception("High severity error. Your operation has been cancelled. SQL Error " + severityLevel + "."); } } catch (Exception e) { DB.RollbackTransaction(); throw new Exception("Unknow error. Your operation has been cancelled.", e); } finally { DB.Close(); } }
// //////////////////////////////////////////////////////////////////////// // PUBLIC METHODS // /// <summary> /// Load /// </summary> /// <param name="projectId">projectId</param> /// <param name="companyId">companyId</param> /// <para>Load Original table to process data for Project Costing report without filters </para> public void Load(int projectId, int companyId) { // Initialization of Gateways ProjectGateway projectGateway = new ProjectGateway(Data); projectGateway.LoadByProjectId(projectId); int companiesId = (int)projectGateway.GetClientID(projectId); ProjectJobInfoGateway projectJobInfoGateway = new ProjectJobInfoGateway(Data); projectJobInfoGateway.LoadAllByProjectId(projectId); ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(Data); projectSaleBillingPricingGateway.LoadAllByProjectId(projectId); ProjectTechnicalGateway projectTechnicalGateway = new ProjectTechnicalGateway(Data); projectTechnicalGateway.LoadByProjectId(projectId); ProjectTermsPOGateway projectTermsPOGateway = new ProjectTermsPOGateway(Data); projectTermsPOGateway.LoadByProjectId(projectId); ProjectSubcontractorGateway projectSubcontractorGateway = new ProjectSubcontractorGateway(Data); projectSubcontractorGateway.LoadByProjectId(projectId); ProjectEngineerSubcontractorsGateway projectEngineerSubcontractorsGateway = new ProjectEngineerSubcontractorsGateway(Data); projectEngineerSubcontractorsGateway.LoadAllByProjectId(projectId); ProjectHistoryGateway projectHistoryGateway = new ProjectHistoryGateway(Data); projectHistoryGateway.LoadFirstRow(projectId); ProjectNotesGateway projectNoteGateway = new ProjectNotesGateway(Data); projectNoteGateway.LoadByProjectId(projectId); ProjectServiceGateway projectServiceGateway = new ProjectServiceGateway(Data); projectServiceGateway.LoadByProjectId(projectId); // For Updates // ...Get the loginId for submitted field at report // ...Update LFS_PROJECT this.UpdateForReport(projectId, companiesId, projectGateway.GetSalesmanID(projectId), (projectGateway.GetProjectLeadID(projectId)).GetValueOrDefault(), companyId); // ...Update LFS_PROJECT_ENGINEER_SUBCONTRACTOR ProjectSynopsisEngineerSubcontractors projectSynopsisEngineerSubcontractors = new ProjectSynopsisEngineerSubcontractors(Data); if (projectSynopsisEngineerSubcontractors.Table.Rows.Count > 0) { projectSynopsisEngineerSubcontractors.UpdateForReport(projectId, companiesId, companyId); } // ...Update LFS_PROJECT_SUBCONTRACTOR ProjectSynopsisSubcontractor projectSynopsisSubcontractor = new ProjectSynopsisSubcontractor(Data); if (projectSynopsisSubcontractor.Table.Rows.Count > 0) { projectSynopsisSubcontractor.UpdateForReport(projectId, companiesId, companyId); } // ...Update LFS_PROJECT_NOTE ProjectSynopsisNote projectSynopsisNote = new ProjectSynopsisNote(Data); if (projectSynopsisNote.Table.Rows.Count > 0) { projectSynopsisNote.UpdateForReport(projectId, companyId); } // ...Update LFS_PROJECT_SERVICE and Total Average Price ProjectSynopsisService projectSynopsisService = new ProjectSynopsisService(Data); if (projectSynopsisService.Table.Rows.Count > 0) { ProjectSynopsisReportTDS.LFS_PROJECTRow rowTotalAveragePrice = ((ProjectSynopsisReportTDS.LFS_PROJECTDataTable)Table).FindByProjectID(projectId); rowTotalAveragePrice.TotalAveragePrice = projectSynopsisService.UpdateForReport(projectId, companyId); } }
private void LoadSaleBillingPricing() { // Data for Sale/Billing/Pricing tab ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(projectTDS); if (projectSaleBillingPricingGateway.Table.Rows.Count > 0) { //cbxSaleBidProject.Checked = projectSaleBillingPricingGateway.GetSaleBidProject(int.Parse(hdfProjectId.Value)); //cbxSaleRFP.Checked = projectSaleBillingPricingGateway.GetSaleRFP(int.Parse(hdfProjectId.Value)); //cbxSaleSoleSource.Checked = projectSaleBillingPricingGateway.GetSaleSoleSource(int.Parse(hdfProjectId.Value)); //cbxSaleTermContract.Checked = projectSaleBillingPricingGateway.GetSaleTermContract(int.Parse(hdfProjectId.Value)); //tbxSaleTermContractDetail.Text = projectSaleBillingPricingGateway.GetSaleTermContractDetail(int.Parse(hdfProjectId.Value)); //cbxSaleOther.Checked = projectSaleBillingPricingGateway.GetSaleOther(int.Parse(hdfProjectId.Value)); //tbxSaleOtherDetail.Text = projectSaleBillingPricingGateway.GetSaleOtherDetail(int.Parse(hdfProjectId.Value)); //if (projectSaleBillingPricingGateway.GetSaleGettingJob(int.Parse(hdfProjectId.Value)).HasValue) tbxSaleGettingJob.Text = ((int)projectSaleBillingPricingGateway.GetSaleGettingJob(int.Parse(hdfProjectId.Value))).ToString(); if (projectSaleBillingPricingGateway.GetBillPrice(int.Parse(hdfProjectId.Value)).HasValue) tbxBillPriceSaleBillingPricing.Text = ((decimal)projectSaleBillingPricingGateway.GetBillPrice(int.Parse(hdfProjectId.Value))).ToString("n2"); tbxBillMoneySaleBillingPricing.Text = projectSaleBillingPricingGateway.GetBillMoney(int.Parse(hdfProjectId.Value)); if (projectSaleBillingPricingGateway.GetBillSubcontractorAmount(int.Parse(hdfProjectId.Value)).HasValue) tbxBillSubcontractorAmount.Text = ((decimal)projectSaleBillingPricingGateway.GetBillSubcontractorAmount(int.Parse(hdfProjectId.Value))).ToString("n2"); //tbxBillBidHardDollar.Text = projectSaleBillingPricingGateway.GetBillBidHardDollar(int.Parse(hdfProjectId.Value)); //cbxBillPerUnit.Checked = projectSaleBillingPricingGateway.GetBillPerUnit(int.Parse(hdfProjectId.Value)); //cbxBillHourly.Checked = projectSaleBillingPricingGateway.GetBillHourly(int.Parse(hdfProjectId.Value)); //tbxBillExpectExtras.Text = projectSaleBillingPricingGateway.GetBillExpectExtras(int.Parse(hdfProjectId.Value)); //cbxChargesWater.Checked = projectSaleBillingPricingGateway.GetChargesWater(int.Parse(hdfProjectId.Value)); //if (projectSaleBillingPricingGateway.GetChargesWaterAmount(int.Parse(hdfProjectId.Value)).HasValue) tbxChargesWaterAmount.Text = ((decimal)projectSaleBillingPricingGateway.GetChargesWaterAmount(int.Parse(hdfProjectId.Value))).ToString("n2"); //cbxChargesDisposal.Checked = projectSaleBillingPricingGateway.GetChargesDisposal(int.Parse(hdfProjectId.Value)); //if (projectSaleBillingPricingGateway.GetChargesDisposalAmount(int.Parse(hdfProjectId.Value)).HasValue) tbxChargesDisposalAmount.Text = ((decimal)projectSaleBillingPricingGateway.GetChargesDisposalAmount(int.Parse(hdfProjectId.Value))).ToString("n2"); } else { // ... for project ProjectGateway projectGateway = new ProjectGateway(projectTDS); if (projectGateway.GetCountryID(int.Parse(hdfProjectId.Value)) == 1) { tbxBillMoneySaleBillingPricing.Text = "CAD"; } else { tbxBillMoneySaleBillingPricing.Text = "USD"; } } // Databind Grid for Services //grdServices.DataBind(); }
private void LoadGeneralData() { // Data for General Data tbxProjectNumber.DataBind(); tbxName.DataBind(); tbxProposalDate.DataBind(); tbxStartDate.DataBind(); tbxEndDate.DataBind(); tbxDescription.DataBind(); cbxFairWageApplies.DataBind(); // ... for geographical location hdfCountryId.DataBind(); if (hdfCountryId.Value != "") { CountryGateway countryGateway = new CountryGateway(); countryGateway.LoadByCountryId(Int64.Parse(hdfCountryId.Value)); tbxCountry.Text = countryGateway.GetName(Int64.Parse(hdfCountryId.Value)); } else { tbxCountry.Text = ""; } hdfProvinceStateId.DataBind(); if (hdfProvinceStateId.Value != "") { ProvinceGateway provinceGateway = new ProvinceGateway(); provinceGateway.LoadByProvinceId(Int64.Parse(hdfProvinceStateId.Value)); tbxProvinceState.Text = provinceGateway.GetName(Int64.Parse(hdfProvinceStateId.Value)); } else { tbxProvinceState.Text = ""; } hdfCountyId.DataBind(); if (hdfCountyId.Value != "") { CountyGateway countyGateway = new CountyGateway(); countyGateway.LoadByCountyId(Int64.Parse(hdfCountyId.Value)); tbxCounty.Text = countyGateway.GetName(Int64.Parse(hdfCountyId.Value)); } else { tbxCounty.Text = ""; } hdfCityId.DataBind(); if (hdfCityId.Value != "") { CityGateway cityGateway = new CityGateway(); cityGateway.LoadByCityId(Int64.Parse(hdfCityId.Value)); tbxCity.Text = cityGateway.GetName(Int64.Parse(hdfCityId.Value)); } else { tbxCity.Text = ""; } // ... for project ProjectGateway projectGateway = new ProjectGateway(projectTDS); int currentCompanyId = projectGateway.GetClientID(Int32.Parse(hdfProjectId.Value.ToString())); // ... for client int companyId = Int32.Parse(hdfCompanyId.Value); CompaniesGateway companiesGateway = new CompaniesGateway(); companiesGateway.LoadAllByCompaniesId(currentCompanyId, companyId); tbxClientName.Text = companiesGateway.GetName(currentCompanyId); hdfClientId.Value = projectGateway.GetClientID(int.Parse(hdfProjectId.Value)).ToString(); tbxClientProjectNumber.DataBind(); // ... ... for primary contact if (projectGateway.GetClientPrimaryContactID(int.Parse(hdfProjectId.Value)).HasValue) { hdfClientPrimaryContactID.Value = ((int)projectGateway.GetClientPrimaryContactID(int.Parse(hdfProjectId.Value))).ToString(); ContactsGateway contactsGatewayForPrimaryContact = new ContactsGateway(); contactsGatewayForPrimaryContact.LoadAllByContactId(int.Parse(hdfClientPrimaryContactID.Value), companyId); tbxClientPrimaryContact.Text = contactsGatewayForPrimaryContact.GetCompleteName(int.Parse(hdfClientPrimaryContactID.Value)); } // ... ... for secondary contact if (projectGateway.GetClientSecondaryContactID(int.Parse(hdfProjectId.Value)).HasValue) { hdfClientSecondaryContactID.Value = ((int)projectGateway.GetClientSecondaryContactID(int.Parse(hdfProjectId.Value))).ToString(); ContactsGateway contactsGatewayForSecondaryContact = new ContactsGateway(); contactsGatewayForSecondaryContact.LoadAllByContactId(int.Parse(hdfClientSecondaryContactID.Value), companyId); tbxClientSecondaryContact.Text = contactsGatewayForSecondaryContact.GetCompleteName(int.Parse(hdfClientSecondaryContactID.Value)); } // ... for resources // ... ... for project lead if (projectGateway.GetProjectLeadID(int.Parse(hdfProjectId.Value)).HasValue) { EmployeeGateway employeeGateway = new EmployeeGateway(); employeeGateway.LoadByEmployeeId((int)projectGateway.GetProjectLeadID(int.Parse(hdfProjectId.Value))); tbxProjectLead.Text = employeeGateway.GetFullName((int)projectGateway.GetProjectLeadID(int.Parse(hdfProjectId.Value))); } // ... ... for salesman SalesmanGateway salesmanGateway = new SalesmanGateway(); salesmanGateway.LoadExpandedBySalesmanId(projectGateway.GetSalesmanID(int.Parse(hdfProjectId.Value))); tbxSalesman.Text = salesmanGateway.GetFullName(projectGateway.GetSalesmanID(int.Parse(hdfProjectId.Value))); // ... ... for Pricing if (projectGateway.GetProjectType(int.Parse(hdfProjectId.Value)) == "Ballpark") { ProjectSaleBillingPricingGateway projectSaleBillingPricingGateway = new ProjectSaleBillingPricingGateway(projectTDS); if (projectSaleBillingPricingGateway.Table.Rows.Count > 0) { if (projectSaleBillingPricingGateway.GetBillPrice(int.Parse(hdfProjectId.Value)).HasValue) tbxBillPrice.Text = ((decimal)projectSaleBillingPricingGateway.GetBillPrice(int.Parse(hdfProjectId.Value))).ToString("n2"); tbxBillMoney.Text = projectSaleBillingPricingGateway.GetBillMoney(int.Parse(hdfProjectId.Value)); } else { if (projectGateway.GetCountryID(int.Parse(hdfProjectId.Value)) == 1) { tbxBillMoney.Text = "CAD"; } else { tbxBillMoney.Text = "USD"; } } } // Data for unit budget tab ProjectNavigatorProjectUnitsBudgetGateway projectNavigatorProjectUnitsBudgetGateway = new ProjectNavigatorProjectUnitsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectUnitsBudgetGateway.Table.Rows.Count > 0) { tbxUnitsBudget.Text = projectNavigatorProjectUnitsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value)).ToString("n2"); } // Data for materials budget tab ProjectNavigatorProjectMaterialsBudgetGateway projectNavigatorProjectMaterialsBudgetGateway = new ProjectNavigatorProjectMaterialsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectMaterialsBudgetGateway.Table.Rows.Count > 0) { tbxMaterialsBudget.Text = projectNavigatorProjectMaterialsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value)).ToString("n2"); } // Data for subcontractors budget tab ProjectNavigatorProjectSubcontractorsBudgetGateway projectNavigatorProjectSubcontractorsBudgetGateway = new ProjectNavigatorProjectSubcontractorsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectSubcontractorsBudgetGateway.Table.Rows.Count > 0) { tbxSubcontractorsBudget.Text = projectNavigatorProjectSubcontractorsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } // Data for hotels budget tab ProjectNavigatorProjectHotelsBudgetGateway projectNavigatorProjectHotelsBudgetGateway = new ProjectNavigatorProjectHotelsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectHotelsBudgetGateway.Table.Rows.Count > 0) { tbxHotelsBudget.Text = projectNavigatorProjectHotelsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } // Data for bondings budget tab ProjectNavigatorProjectBondingsBudgetGateway projectNavigatorProjectBondingsBudgetGateway = new ProjectNavigatorProjectBondingsBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectBondingsBudgetGateway.Table.Rows.Count > 0) { tbxBondingsBudget.Text = projectNavigatorProjectBondingsBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } // Data for insurances budget tab ProjectNavigatorProjectInsurancesBudgetGateway projectNavigatorProjectInsurancesBudgetGateway = new ProjectNavigatorProjectInsurancesBudgetGateway(projectNavigatorTDS); if (projectNavigatorProjectInsurancesBudgetGateway.Table.Rows.Count > 0) { tbxInsurancesBudget.Text = projectNavigatorProjectInsurancesBudgetGateway.GetBudget(int.Parse(hdfProjectId.Value), 1, 1).ToString("n2"); } CalculateTotalBudget(); }