/// <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; }
/// <summary> /// Update /// </summary> /// <param name="workId">workId</param> /// <param name="preppedDate">preppedDate</param> /// <param name="sprayedDate">sprayedDate</param> /// <param name="batchId">batchId</param> /// <param name="date">date</param> /// <param name="companyId">companyId</param> public void Update(int workId, DateTime? preppedDate, DateTime? sprayedDate, int? batchId, DateTime date, int companyId) { WorkManholeRehabilitationGateway workManholeRehabilitationGatewayForReview = new WorkManholeRehabilitationGateway(); workManholeRehabilitationGatewayForReview.LoadByWorkId(workId, companyId); if (workManholeRehabilitationGatewayForReview.Table.Rows.Count > 0) { // Update work ManholeRehabilitationTDS.WorkDetailsRow row = GetRow(workId); if (preppedDate.HasValue) row.PreppedDate = (DateTime)preppedDate; else row.SetPreppedDateNull(); if (sprayedDate.HasValue) row.SprayedDate = (DateTime)sprayedDate; else row.SetSprayedDateNull(); row.Date = date; row.BatchID = (int)batchId; } else { // ... Insert work ManholeRehabilitationTDS.WorkDetailsRow lfsManholeRehabilitationRow = ((ManholeRehabilitationTDS.WorkDetailsDataTable)Table).NewWorkDetailsRow(); workId = GetNewId(); lfsManholeRehabilitationRow.WorkID = workId; if (preppedDate.HasValue) lfsManholeRehabilitationRow.PreppedDate = (DateTime)preppedDate; else lfsManholeRehabilitationRow.SetPreppedDateNull(); if (sprayedDate.HasValue) lfsManholeRehabilitationRow.SprayedDate = (DateTime)sprayedDate; else lfsManholeRehabilitationRow.SetSprayedDateNull(); lfsManholeRehabilitationRow.BatchID = 0; MrBatchVerificationGateway mrBatchVerificationGateway = new MrBatchVerificationGateway(); mrBatchVerificationGateway.LoadAll(companyId); if (mrBatchVerificationGateway.Table.Rows.Count > 0) { WorkManholeRehabilitationBatchGateway workManholeRehabilitationBatchGateway = new WorkManholeRehabilitationBatchGateway(); lfsManholeRehabilitationRow.BatchID = workManholeRehabilitationBatchGateway.GetLastId(companyId); } else { lfsManholeRehabilitationRow.SetBatchIDNull(); } lfsManholeRehabilitationRow.Date = (DateTime)date; lfsManholeRehabilitationRow.Deleted = false; lfsManholeRehabilitationRow.COMPANY_ID = companyId; ((ManholeRehabilitationTDS.WorkDetailsDataTable)Table).AddWorkDetailsRow(lfsManholeRehabilitationRow); } }
/// <summary> /// DeleteDirect a rehabilitation /// </summary> /// <param name="workId">workId</param> /// <param name="companyId">companyId</param> public void DeleteDirect(int workId, int companyId) { WorkManholeRehabilitationGateway workManholeRehabilitationGateway = new WorkManholeRehabilitationGateway(null); workManholeRehabilitationGateway.Delete(workId, companyId); }
// //////////////////////////////////////////////////////////////////////// // PUBLIC METHODS // /// <summary> /// InsertDirect a rehabilitation /// </summary> /// <param name="workId">workId</param> /// <param name="preppredDate">preppredDate</param> /// <param name="sprayedDate">sprayedDate</param> /// <param name="batchId">batchId</param> /// <param name="deleted">deleted</param> /// <param name="companyId">companyId</param> public void InsertDirect(int workId, DateTime? preppredDate, DateTime? sprayedDate, int? batchId, bool deleted, int companyId) { WorkManholeRehabilitationGateway workManholeRehabilitationGateway = new WorkManholeRehabilitationGateway(null); workManholeRehabilitationGateway.Insert(workId, preppredDate, sprayedDate, batchId, deleted, companyId); }
/// <summary> /// UpdateDirect a rehabilitation /// </summary> /// <param name="originalWorkId">originalWorkId</param> /// <param name="originalPreppredDate">originalPreppredDate</param> /// <param name="originalSprayedDate">originalSprayedDate</param> /// <param name="originalBatchId">originalBatchId</param> /// <param name="originalDeleted">originalDeleted</param> /// <param name="originalCompanyId">originalCompanyId</param> /// /// <param name="newWorkId">newWorkId</param> /// <param name="newPreppredDate">newPreppredDate</param> /// <param name="newSprayedDate">newSprayedDate</param> /// <param name="newBatchId">newBatchId</param> /// <param name="newDeleted">newDeleted</param> /// <param name="newCompanyId">newCompanyId</param> public void UpdateDirect(int originalWorkId, DateTime? originalPreppredDate, DateTime? originalSprayedDate, int? originalBatchId, bool originalDeleted, int originalCompanyId, int newWorkId, DateTime? newPreppredDate, DateTime? newSprayedDate, int? newBatchId, bool newDeleted, int newCompanyId) { WorkManholeRehabilitationGateway workManholeRehabilitationGateway = new WorkManholeRehabilitationGateway(null); workManholeRehabilitationGateway.Update(originalWorkId, originalPreppredDate, originalSprayedDate, originalBatchId, originalDeleted, originalCompanyId, newWorkId, newPreppredDate, newSprayedDate, newBatchId, newDeleted, newCompanyId); }