/// <summary> /// Save /// </summary> /// <param name="countryId">countryId</param> /// <param name="provinceId">provinceId</param> /// <param name="countyId">countyId</param> /// <param name="cityId">cityId</param> /// <param name="projectId">projectId</param> /// <param name="assetId">assetId</param> /// <param name="companyId">companyId</param> /// <param name="inProject">inProject</param> /// <returns>WorkID</returns> public int Save(Int64? countryId, Int64? provinceId, Int64? countyId, Int64? cityId, int projectId, int assetId, int companyId, bool inProject) { ManholeRehabilitationTDS manholeRehabilitationChanges = (ManholeRehabilitationTDS)Data.GetChanges(); int workId = 0; if (manholeRehabilitationChanges.WorkDetails.Rows.Count > 0) { ManholeRehabilitationWorkDetailsGateway manholeRehabilitationWorkDetailsGateway = new ManholeRehabilitationWorkDetailsGateway(manholeRehabilitationChanges); // Update manhole rehabilitation foreach (ManholeRehabilitationTDS.WorkDetailsRow row in (ManholeRehabilitationTDS.WorkDetailsDataTable)manholeRehabilitationChanges.WorkDetails) { // Unchanged values workId = row.WorkID; WorkManholeRehabilitationGateway workManholeRehabilitationGateway = new WorkManholeRehabilitationGateway(); workManholeRehabilitationGateway.LoadByWorkId(workId, companyId); if (workManholeRehabilitationGateway.Table.Rows.Count > 0) { // Update Information // Original values // ... work values DateTime? originalPreppedDate = manholeRehabilitationWorkDetailsGateway.GetPreppedDateOriginal(workId); DateTime? originalSprayedDate = manholeRehabilitationWorkDetailsGateway.GetSprayedDateOriginal(workId); // ... Comments string originalComments = manholeRehabilitationWorkDetailsGateway.GetCommentsOriginal(workId); // New variables DateTime? newPreppedDate = manholeRehabilitationWorkDetailsGateway.GetPreppedDate(workId); DateTime? newSprayedDate = manholeRehabilitationWorkDetailsGateway.GetSprayedDate(workId); // comments string newComments = manholeRehabilitationWorkDetailsGateway.GetComments(workId); // Update work UpdateWork(countryId, provinceId, countyId, cityId, projectId, assetId, originalPreppedDate, originalSprayedDate, row.BatchID, originalComments, false, companyId, newPreppedDate, newSprayedDate, row.BatchID, newComments, false); } else { // Loading workId WorkGateway workGateway = new WorkGateway(); workGateway.LoadByProjectIdAssetIdWorkType(projectId, assetId, "Manhole Rehabilitation", companyId); if (workGateway.Table.Rows.Count == 0) { // New variables DateTime? newPreppedDate = manholeRehabilitationWorkDetailsGateway.GetPreppedDate(workId); DateTime? newSprayedDate = manholeRehabilitationWorkDetailsGateway.GetSprayedDate(workId); int? newBatchId = manholeRehabilitationWorkDetailsGateway.GetBatchID(workId); string newComments = manholeRehabilitationWorkDetailsGateway.GetComments(workId); // InsertWork Work work = new Work(); int? libraryCategories = null; string history = ""; int newWorkId = work.InsertDirect(projectId, assetId, "Manhole Rehabilitation", libraryCategories, false, companyId, newComments, history); // ... Insert manhole rehabilitation work WorkManholeRehabilitation workManholeRehabilitation = new WorkManholeRehabilitation(); workManholeRehabilitation.InsertDirect(newWorkId, newPreppedDate, newSprayedDate, newBatchId, false, companyId); workId = newWorkId; } } } } return workId; }
// //////////////////////////////////////////////////////////////////////// // PRIVATE METHODS // /// <summary> /// UpdateWork /// </summary> /// <param name="countryId">countryId</param> /// <param name="provinceId">provinceId</param> /// <param name="countyId">countyId</param> /// <param name="cityId">cityId</param> /// <param name="projectId">projectId</param> /// <param name="assetId">assetId</param> /// <param name="originalPreppedDate">originalPreppedDate</param> /// <param name="originalSprayedDate">originalSprayedDate</param> /// <param name="originalBatchId">originalBatchId</param> /// <param name="originalComments">originalComments</param> /// <param name="originalDeleted">originalDeleted</param> /// <param name="originalCompanyId">originalCompanyId</param> /// /// <param name="newPreppedDate">newPreppedDate</param> /// <param name="newSprayedDate">newSprayedDate</param> /// <param name="newBatchId">newBatchId</param> /// <param name="newComments">newComments</param> /// <param name="newDeleted">newDeleted</param> private void UpdateWork(Int64? countryId, Int64? provinceId, Int64? countyId, Int64? cityId, int projectId, int assetId, DateTime? originalPreppedDate, DateTime? originalSprayedDate, int originalBatchId, string originalComments, bool originalDeleted, int originalCompanyId, DateTime? newPreppedDate, DateTime? newSprayedDate, int newBatchId, string newComments, bool newDeleted) { int newWorkId = 0; // Loading workId WorkGateway workGateway = new WorkGateway(); workGateway.LoadByProjectIdAssetIdWorkType(projectId, assetId, "Manhole Rehabilitation", originalCompanyId); if (workGateway.Table.Rows.Count > 0) { newWorkId = workGateway.GetWorkId(assetId, "Manhole Rehabilitation", projectId); int? libraryCategoriesId = workGateway.GetLibraryCategoriesId(newWorkId); string history = workGateway.GetHistory(newWorkId); // Updating work Work work = new Work(); work.UpdateDirect(newWorkId, projectId, assetId, "Manhole Rehabilitation", libraryCategoriesId, originalDeleted, originalCompanyId, originalComments, history, newWorkId, projectId, assetId, "Manhole Rehabilitation", libraryCategoriesId, originalDeleted, originalCompanyId, newComments, history); // Update manhole rehabilitation work WorkManholeRehabilitation workManholeRehabilitation = new WorkManholeRehabilitation(); workManholeRehabilitation.UpdateDirect(newWorkId, originalPreppedDate, originalSprayedDate, originalBatchId, originalDeleted, originalCompanyId, newWorkId, newPreppedDate, newSprayedDate, newBatchId, newDeleted, originalCompanyId); } }
/// <summary> /// DeleteDirect /// </summary> /// <param name="workId">workId</param> /// <param name="companyId">companyId</param> public void DeleteDirect(int workId, int companyId) { // Delete work WorkManholeRehabilitation workManholeRehabilitation = new WorkManholeRehabilitation(null); workManholeRehabilitation.DeleteDirect(workId, companyId); }
/// <summary> /// SaveMHRehabWork /// </summary> /// <param name="projectId">projectId</param> /// <param name="mh_assetId">mh_assetId</param> /// <param name="companyId">companyId</param> private void SaveMHRehabWork(int projectId, int mh_assetId, int companyId) { MrBatchVerificationGateway mrBatchVerificationForLastBatch = new MrBatchVerificationGateway(); mrBatchVerificationForLastBatch.LoadLastBatch(companyId); int? batchId = null; if (mrBatchVerificationForLastBatch.Table.Rows.Count > 0) { WorkManholeRehabilitationBatchGateway workManholeRehabilitationBatchGateway = new WorkManholeRehabilitationBatchGateway(); batchId = workManholeRehabilitationBatchGateway.GetLastId(companyId); } WorkManholeRehabilitation workManholeRehabilitation = new WorkManholeRehabilitation(null); workManholeRehabilitation.InsertDirectEmptyWorks(projectId, mh_assetId, null, null, batchId, false, companyId); }