/// <summary> /// Save all data to database (direct) /// </summary> /// <param name="companyId">companyId</param> public void Save(int companyId) { ProjectNavigatorTDS changes = (ProjectNavigatorTDS)Data.GetChanges(); if (changes != null) { if (changes.ProjectOtherCostsBudget.Rows.Count > 0) { ProjectNavigatorProjectOtherCostsBudgetGateway projectNavigatorProjectOtherCostsBudgetGateway = new ProjectNavigatorProjectOtherCostsBudgetGateway(changes); foreach (ProjectNavigatorTDS.ProjectOtherCostsBudgetRow row in (ProjectNavigatorTDS.ProjectOtherCostsBudgetDataTable)changes.ProjectOtherCostsBudget) { // Insert new work function budget if ((!row.Deleted) && (!row.InDatabase)) { ProjectOtherCostsBudget projectOtherCostsBudget = new ProjectOtherCostsBudget(null); projectOtherCostsBudget.InsertDirect(row.ProjectID, row.Category, row.RefID, row.Budget, row.Deleted, row.COMPANY_ID); } // Update work function budget if ((!row.Deleted) && (row.InDatabase)) { int projectId = row.ProjectID; int refId = row.RefID; bool originalDeleted = false; int originalCompanyId = companyId; // original values decimal originalBudget = projectNavigatorProjectOtherCostsBudgetGateway.GetBudgetOriginal(projectId, row.Category, refId); // new values decimal newBudget = projectNavigatorProjectOtherCostsBudgetGateway.GetBudget(projectId, row.Category, refId); ProjectOtherCostsBudget projectOtherCostsBudget = new ProjectOtherCostsBudget(null); projectOtherCostsBudget.UpdateDirect(projectId, row.Category, refId, originalBudget, originalDeleted, originalCompanyId, projectId, row.Category, refId, newBudget, originalDeleted, originalCompanyId); } // Delete work function budget if ((row.Deleted) && (row.InDatabase)) { ProjectOtherCostsBudget projectOtherCostsBudget = new ProjectOtherCostsBudget(null); projectOtherCostsBudget.DeleteDirect(row.ProjectID, row.Category, row.RefID, row.Budget, row.Deleted, row.COMPANY_ID); } } } } }
// //////////////////////////////////////////////////////////////////////// // PUBLIC METHODS // /// <summary> /// LoadAllByProjectId /// </summary> /// <param name="projectId">projectId</param> public void LoadAllByProjectId(int projectId) { ProjectNavigatorProjectOtherCostsBudgetGateway projectNavigatorProjectOtherCostsBudgetGateway = new ProjectNavigatorProjectOtherCostsBudgetGateway(Data); projectNavigatorProjectOtherCostsBudgetGateway.LoadAllByProjectId(projectId); }