string recordProjectActuals(SOOrder sOOrder) { string result = ""; string transID = ""; try { ClientConversation.authenticate(userName, password); TransactionService transactionService = new TransactionService() { Timeout = sessionTimeout, Url = $"{urlPrefix(dbName)}TransactionService" }; PLNSC.TransactionRef.OperationContext transContext = new PLNSC.TransactionRef.OperationContext() { district = districtCode, position = positionID, maxInstances = maxInstance }; transID = transactionService.begin(transContext); string raisedDate = (sOOrder.OrderDate ?? DateTime.Now).ToString("yyyyMMdd"); PLNSC.ProjectService.OperationContext projectOperationContext = new PLNSC.ProjectService.OperationContext() { district = districtCode, position = positionID, maxInstances = maxInstance, transaction = transID }; ProjectService projectService = new ProjectService() { Timeout = sessionTimeout, Url = $"{urlPrefix(dbName)}ProjectService" }; ProjectServiceActualsRequestDTO projectServiceActualsRequestDTO = new ProjectServiceActualsRequestDTO() { actualStrDate = raisedDate, districtCode = "SC01", projectNo = sOOrder.OrderNbr.Trim() }; ProjectServiceActualsReplyDTO projectServiceActualsReplyDTO = projectService.actuals(projectOperationContext, projectServiceActualsRequestDTO); PLNSC.ProjectService.WarningMessageDTO[] actualErrors = projectServiceActualsReplyDTO.warningsAndInformation; if (actualErrors.Length > 0) { result = actualErrors[0].message; transContext.transaction = transID; transactionService.rollback(transContext); } else { result = "OK"; transContext.transaction = transID; transactionService.commit(transContext); } } catch (Exception ex) { result = ex.Message; } return(result); }
string actualEffort(string sONbr) { string result = string.Empty; string transID = ""; try { ClientConversation.authenticate(userName, password); TransactionService transactionService = new TransactionService() { Timeout = sessionTimeout, Url = $"{urlPrefix(dbName)}TransactionService" }; PLNSC.TransactionRef.OperationContext transContext = new PLNSC.TransactionRef.OperationContext() { district = districtCode, position = positionID, maxInstances = maxInstance }; transID = transactionService.begin(transContext); ProjectService projectService = new ProjectService() { Timeout = transactionService.Timeout, Url = $"{urlPrefix(dbName)}ProjectService" }; PLNSC.ProjectService.OperationContext projectServiceContext = new PLNSC.ProjectService.OperationContext() { district = transContext.district, position = transContext.position, maxInstances = transContext.maxInstances }; ProjectServiceReadRequestDTO projectServiceReadRequestDTO = new ProjectServiceReadRequestDTO() { districtCode = transContext.district, projectNo = sONbr.Trim() }; ProjectServiceReadReplyDTO projectServiceReadReplyDTO = projectService.read(projectServiceContext, projectServiceReadRequestDTO); PLNSC.ProjectService.WarningMessageDTO[] errorRead = projectServiceReadReplyDTO.warningsAndInformation; if (errorRead.Length > 0) { result = errorRead[0].message.Trim(); transContext.transaction = transID; transactionService.rollback(transContext); return(result); } string actStrDate = projectServiceReadReplyDTO.actualStrDate; ProjectServiceActualsRequestDTO projectServiceActualsRequestDTO = new ProjectServiceActualsRequestDTO() { districtCode = transContext.district, projectNo = sONbr.Trim(), actualStrDate = actStrDate, actualFinDate = DateTime.Now.ToString("yyyyMMdd") }; ProjectServiceActualsReplyDTO projectServiceActualReplyDTO = projectService.actuals(projectServiceContext, projectServiceActualsRequestDTO); PLNSC.ProjectService.WarningMessageDTO[] errors = projectServiceActualReplyDTO.warningsAndInformation; if (errors.Length > 0) { result = errors[0].message.Trim(); transContext.transaction = transID; transactionService.rollback(transContext); return(result); } else { result = "OK"; transContext.transaction = transID; transactionService.commit(transContext); } } catch (Exception ex) { result = ex.Message; } return(result); }