/// <summary> /// Save all data to database (direct) /// </summary> /// <param name="companyId">companyId</param> public void Save(int companyId) { ProjectNavigatorTDS workFunctionChanges = (ProjectNavigatorTDS)Data.GetChanges(); if (workFunctionChanges != null) { if (workFunctionChanges.ProjectWorkFunctionBudget.Rows.Count > 0) { ProjectNavigatorProjectWorkFunctionBudgetGateway projectNavigatorProjectWorkFunctionBudgetGateway = new ProjectNavigatorProjectWorkFunctionBudgetGateway(workFunctionChanges); foreach (ProjectNavigatorTDS.ProjectWorkFunctionBudgetRow row in (ProjectNavigatorTDS.ProjectWorkFunctionBudgetDataTable)workFunctionChanges.ProjectWorkFunctionBudget) { // Insert new work function budget if ((!row.Deleted) && (!row.InDatabase)) { ProjectWorkFunctionBudget projectWorkFunctionBudget = new ProjectWorkFunctionBudget(null); projectWorkFunctionBudget.InsertDirect(row.ProjectID, row.Work_, row.Function_, row.RefID, row.Budget, row.Deleted, row.COMPANY_ID, row.Budget_); } // Update work function budget if ((!row.Deleted) && (row.InDatabase)) { int projectId = row.ProjectID; string work_ = row.Work_; string function = row.Function_; int refId = row.RefID; bool originalDeleted = false; int originalCompanyId = companyId; // original values decimal originalBudget = projectNavigatorProjectWorkFunctionBudgetGateway.GetBudgetOriginal(projectId, work_, function, refId); decimal originalBudget_ = projectNavigatorProjectWorkFunctionBudgetGateway.GetBudget_Original(projectId, work_, function, refId); // new values decimal newBudget = projectNavigatorProjectWorkFunctionBudgetGateway.GetBudget(projectId, work_, function, refId); decimal newBudget_ = projectNavigatorProjectWorkFunctionBudgetGateway.GetBudget_(projectId, work_, function, refId); ProjectWorkFunctionBudget projectWorkFunctionBudget = new ProjectWorkFunctionBudget(null); projectWorkFunctionBudget.UpdateDirect(projectId, work_, function, refId, originalBudget, originalDeleted, originalCompanyId, projectId, work_, function, refId, newBudget, originalDeleted, originalCompanyId, originalBudget_, newBudget_); } // Delete work function budget if ((row.Deleted) && (row.InDatabase)) { ProjectWorkFunctionBudget projectWorkFunctionBudget = new ProjectWorkFunctionBudget(null); projectWorkFunctionBudget.DeleteDirect(row.ProjectID, row.Work_, row.Function_, row.RefID, row.Budget, row.Deleted, row.COMPANY_ID); } } } } }
// //////////////////////////////////////////////////////////////////////// // PUBLIC METHODS // /// <summary> /// LoadAllByProjectId /// </summary> /// <param name="projectId">projectId</param> public void LoadAllByProjectId(int projectId) { ProjectNavigatorProjectWorkFunctionBudgetGateway projectNavigatorProjectWorkFunctionBudgetGateway = new ProjectNavigatorProjectWorkFunctionBudgetGateway(Data); projectNavigatorProjectWorkFunctionBudgetGateway.LoadAllByProjectId(projectId); }