/// <summary> /// Save /// </summary> /// <param name="companyId">companyId</param> public void Save(int companyId) { ActualCostsInformationTDS hotelCostsInformationChanges = (ActualCostsInformationTDS)Data.GetChanges(); if (hotelCostsInformationChanges.InsuranceCostsBasicInformation.Rows.Count > 0) { ActualCostsInformationInsuranceCostsBasicInformationGateway actualCostsInformationInsuranceCostsBasicInformationGateway = new ActualCostsInformationInsuranceCostsBasicInformationGateway(hotelCostsInformationChanges); // Update employee foreach (ActualCostsInformationTDS.InsuranceCostsBasicInformationRow row in (ActualCostsInformationTDS.InsuranceCostsBasicInformationDataTable)hotelCostsInformationChanges.InsuranceCostsBasicInformation) { // Insert new hours if ((!row.Deleted) && (!row.InDatabase)) { string comment = ""; if (!row.IsCommentNull()) comment = row.Comment; ActualCostsInsuranceCompaniesCosts actualCostsInsuranceCompaniesCosts = new ActualCostsInsuranceCompaniesCosts(null); actualCostsInsuranceCompaniesCosts.InsertDirect(row.ProjectID, row.RefID, row.InsuranceCompanyID, row.Date, row.RateCad, row.RateUsd, comment, row.Deleted, row.COMPANY_ID); } // Update hours if ((!row.Deleted) && (row.InDatabase)) { int projectId = row.ProjectID; int refId = row.RefID; bool originalDeleted = false; int originalCompanyId = companyId; // Original values int originalInsuranceId = actualCostsInformationInsuranceCostsBasicInformationGateway.GetInsuranceIDOriginal(projectId, refId); DateTime originalDate = actualCostsInformationInsuranceCostsBasicInformationGateway.GetDateOriginal(projectId, refId); decimal originalRateCad = actualCostsInformationInsuranceCostsBasicInformationGateway.GetRateCadOriginal(projectId, refId); decimal originalRateUsd = actualCostsInformationInsuranceCostsBasicInformationGateway.GetRateUsdOriginal(projectId, refId); string originalComment = actualCostsInformationInsuranceCostsBasicInformationGateway.GetCommentOriginal(projectId, refId); // New values int newInsuranceId = actualCostsInformationInsuranceCostsBasicInformationGateway.GetInsuranceID(projectId, refId); DateTime newDate = actualCostsInformationInsuranceCostsBasicInformationGateway.GetDate(projectId, refId); decimal newRateCad = actualCostsInformationInsuranceCostsBasicInformationGateway.GetRateCad(projectId, refId); decimal newRateUsd = actualCostsInformationInsuranceCostsBasicInformationGateway.GetRateUsd(projectId, refId); string newComment = actualCostsInformationInsuranceCostsBasicInformationGateway.GetComment(projectId, refId); ActualCostsInsuranceCompaniesCosts actualCostsInsuranceCompaniesCosts = new ActualCostsInsuranceCompaniesCosts(null); actualCostsInsuranceCompaniesCosts.UpdateDirect(projectId, refId, originalInsuranceId, originalDate, originalRateCad, originalRateUsd, originalComment, originalDeleted, originalCompanyId, projectId, refId, newInsuranceId, newDate, newRateCad, newRateUsd, newComment, originalDeleted, originalCompanyId); } // Delete hours if ((row.Deleted) && (row.InDatabase)) { ActualCostsInsuranceCompaniesCosts actualCostsInsuranceCompaniesCosts = new ActualCostsInsuranceCompaniesCosts(null); actualCostsInsuranceCompaniesCosts.DeleteDirect(row.ProjectID, row.RefID, row.COMPANY_ID); } } } }
/// <summary> /// Save all to database (direct) /// </summary> /// <param name="companyId">companyId</param> public void Save(int companyId) { ActualCostsAddTDS insuranceCompaniesChanges = (ActualCostsAddTDS)Data.GetChanges(); if (insuranceCompaniesChanges != null) { if (insuranceCompaniesChanges.InsuranceCompaniesCosts.Rows.Count > 0) { ActualCostsAddInsuranceCompaniesCostsGateway actualCostsAddInsuranceCompaniesCostsGateway = new ActualCostsAddInsuranceCompaniesCostsGateway(insuranceCompaniesChanges); foreach (ActualCostsAddTDS.InsuranceCompaniesCostsRow row in (ActualCostsAddTDS.InsuranceCompaniesCostsDataTable)insuranceCompaniesChanges.InsuranceCompaniesCosts) { // Insert new insurance cost if ((!row.Deleted) && (!row.InDatabase)) { int projectId = row.ProjectID; int refId = row.RefID; int insuranceCompanyId = row.InsuranceCompanyID; decimal rateUsd = 0; if (!row.IsRateUsdNull()) rateUsd = row.RateUsd; string comment = ""; if (!row.IsCommentNull()) comment = row.Comment; ActualCostsInsuranceCompaniesCosts actualCostsInsuranceCompaniesCosts = new ActualCostsInsuranceCompaniesCosts(null); actualCostsInsuranceCompaniesCosts.InsertDirect(projectId, refId, insuranceCompanyId, row.Date, row.RateCad, rateUsd, comment, row.Deleted, row.COMPANY_ID); } } } } }