private void UpdateDatabase() { // Get ids int projectId = int.Parse(hdfCurrentProjectId.Value); int refId = int.Parse(hdfCurrentRefId.Value); int companyId = int.Parse(hdfCompanyId.Value); // Delete DB.Open(); DB.BeginTransaction(); try { ProjectRevenue projectRevenue = new ProjectRevenue(); projectRevenue.DeleteDirect(projectId, refId, companyId); DB.CommitTransaction(); } catch (Exception ex) { DB.RollbackTransaction(); string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' ')); Response.Redirect(url); } }
/// <summary> /// Save /// </summary> /// <param name="companyId">companyId</param> public void Save(int companyId) { RevenueInformationTDS revenueInformationChanges = (RevenueInformationTDS)Data.GetChanges(); if (revenueInformationChanges.BasicInformation.Rows.Count > 0) { RevenueInformationBasicInformationGateway revenueBasicInformationGateway = new RevenueInformationBasicInformationGateway(revenueInformationChanges); // Update revneue foreach (RevenueInformationTDS.BasicInformationRow row in (RevenueInformationTDS.BasicInformationDataTable)revenueInformationChanges.BasicInformation) { // Insert new revenue if ((!row.Deleted) && (!row.InDatabase)) { string comment = ""; if (!row.IsCommentNull()) comment = row.Comment; ProjectRevenue projectRevenue = new ProjectRevenue(null); projectRevenue.InsertDirect(row.ProjectID, row.RefID, row.Date, row.Revenue, comment, row.Deleted, row.COMPANY_ID); } // Update revenue if ((!row.Deleted) && (row.InDatabase)) { int projectId = row.ProjectID; int refId = row.RefID; bool originalDeleted = false; int originalCompanyId = companyId; // Original values DateTime originalDate = revenueBasicInformationGateway.GetDateOriginal(projectId, refId); decimal originalRevenue = revenueBasicInformationGateway.GetRevenueOriginal(projectId, refId); string originalComment = revenueBasicInformationGateway.GetCommentOriginal(projectId, refId); // New values DateTime newDate = revenueBasicInformationGateway.GetDate(projectId, refId); decimal newRevenue = revenueBasicInformationGateway.GetRevenue(projectId, refId); string newComment = revenueBasicInformationGateway.GetComment(projectId, refId); ProjectRevenue projectRevenue = new ProjectRevenue(null); projectRevenue.UpdateDirect(projectId, refId, originalDate, originalRevenue, originalComment, originalDeleted, originalCompanyId, projectId, refId, newDate, newRevenue, newComment, originalDeleted, originalCompanyId); } // Delete revenue if ((row.Deleted) && (row.InDatabase)) { ProjectRevenue projectRevenue = new ProjectRevenue(null); projectRevenue.DeleteDirect(row.ProjectID, row.RefID, row.COMPANY_ID); } } } }
// //////////////////////////////////////////////////////////////////////// // PRIVATE METHODS // /// <summary> /// Save all revenues to database (direct) /// </summary> /// <param name="companyId">companyId</param> public void Save(int companyId) { RevenueAddTDS revenueChanges = (RevenueAddTDS)Data.GetChanges(); if (revenueChanges.ProjectRevenue.Rows.Count > 0) { RevenueAddProjectRevenueGateway revenuesAddProjectRevenueGateway = new RevenueAddProjectRevenueGateway(revenueChanges); foreach (RevenueAddTDS.ProjectRevenueRow row in (RevenueAddTDS.ProjectRevenueDataTable)revenueChanges.ProjectRevenue) { //Insert revenues ProjectRevenue projectRevenue = new ProjectRevenue(null); projectRevenue.InsertDirect(row.ProjectID, row.RefID, row.Date, row.Revenue, row.Comment, row.Deleted, row.COMPANY_ID); } } }