protected static FR_CAS_CDO_1250 Execute(DbConnection Connection, DbTransaction Transaction, P_CAS_CDO_1250 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_CAS_CDO_1250(); returnValue.Result = new CAS_CDO_1250(); //Put your code here var treatment_planned_action_id = cls_Get_Treatment_Planned_Action_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GTPAfCID_0946() { CaseID = Parameter.case_id }, securityTicket).Result; var drug_order_status_latestQ = new ORM_ORD_PRC_ProcurementOrder_Status.Query(); drug_order_status_latestQ.ORD_PRC_ProcurementOrder_StatusID = Parameter.ord_drug_order_header.Current_ProcurementOrderStatus_RefID; drug_order_status_latestQ.Tenant_RefID = securityTicket.TenantID; drug_order_status_latestQ.IsDeleted = false; var drug_order_status_latest = ORM_ORD_PRC_ProcurementOrder_Status.Query.Search(Connection, Transaction, drug_order_status_latestQ).SingleOrDefault(); if (drug_order_status_latest.Status_Code == 6) { var previous_status = cls_Get_Previous_Order_Status_for_HeaderID.Invoke(Connection, Transaction, new P_OR_GPOSfHID_1347() { HeaderID = Parameter.ord_drug_order_header.ORD_PRC_ProcurementOrder_HeaderID }, securityTicket).Result; returnValue.Result.previous_status = previous_status != null ? "MO" + previous_status.OrderStatus : ""; } else { returnValue.Result.previous_status = "MO" + drug_order_status_latest.Status_Code; } var cancellation_code = drug_order_status_latest.Status_Code == 0 ? 9 : 6; var cancellation_status = String.Format("MO{0}", cancellation_code); var new_status = new ORM_ORD_PRC_ProcurementOrder_Status(); new_status.Status_Code = cancellation_code; new_status.GlobalPropertyMatchingID = String.Format("mm.doc.connect.drug.order.status.{0}", cancellation_status.ToLower()); new_status.Tenant_RefID = securityTicket.TenantID; new_status.Modification_Timestamp = DateTime.Now; Parameter.ord_drug_order_header.Current_ProcurementOrderStatus_RefID = new_status.ORD_PRC_ProcurementOrder_StatusID; Parameter.ord_drug_order_header.Save(Connection, Transaction); new_status.Status_Name = new Dict(ORM_ORD_PRC_ProcurementOrder_Status.TableName); foreach (var lang in Parameter.all_languagesL) { new_status.Status_Name.AddEntry(lang.CMN_LanguageID, cancellation_status); } new_status.Save(Connection, Transaction); var new_status_history_entry = new ORM_ORD_PRC_ProcurementOrder_StatusHistory(); new_status_history_entry.IsStatus_Canceled = true; new_status_history_entry.Tenant_RefID = securityTicket.TenantID; new_status_history_entry.Modification_Timestamp = DateTime.Now; new_status_history_entry.ProcurementOrder_Header_RefID = Parameter.ord_drug_order_header.ORD_PRC_ProcurementOrder_HeaderID; new_status_history_entry.ProcurementOrder_Status_RefID = new_status.ORD_PRC_ProcurementOrder_StatusID; new_status_history_entry.TriggeredAt_Date = DateTime.Now; new_status_history_entry.TriggeredBy_BusinessParticipant_RefID = Parameter.created_by_bpt; new_status_history_entry.Save(Connection, Transaction); var ord_drug_order_position_history_entry = new ORM_ORD_PRC_ProcurementOrder_Position_History(); ord_drug_order_position_history_entry.Tenant_RefID = securityTicket.TenantID; ord_drug_order_position_history_entry.ProcurementOrder_Position_RefID = Parameter.procurement_order_position_id; ord_drug_order_position_history_entry.IsRemoved = true; ord_drug_order_position_history_entry.Modification_Timestamp = DateTime.Now; ord_drug_order_position_history_entry.Save(Connection, Transaction); var practice_invoice_universal_property = ORM_HEC_CAS_Case_UniversalProperty.Query.Search(Connection, Transaction, new ORM_HEC_CAS_Case_UniversalProperty.Query() { GlobalPropertyMatchingID = "mm.doc.connect.case.practice.invoice", Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).SingleOrDefault(); var practice_invoice_universal_property_value = ORM_HEC_CAS_Case_UniversalPropertyValue.Query.Search(Connection, Transaction, new ORM_HEC_CAS_Case_UniversalPropertyValue.Query() { HEC_CAS_Case_UniversalProperty_RefID = practice_invoice_universal_property.HEC_CAS_Case_UniversalPropertyID, HEC_CAS_Case_RefID = Parameter.case_id, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).SingleOrDefault(); if (practice_invoice_universal_property_value != null) { practice_invoice_universal_property_value.IsDeleted = true; practice_invoice_universal_property_value.Modification_Timestamp = DateTime.Now; practice_invoice_universal_property_value.Save(Connection, Transaction); } return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6TR_SaOQTwPO_1620 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here P_L6TR_SQT_1308 param = new P_L6TR_SQT_1308(); param = Parameter.QuickTreatment; Guid TreatmentID = cls_Save_Quick_Treatment.Invoke(Connection, Transaction, param, securityTicket).Result; #region Save Order var status_query = new ORM_ORD_PRC_ProcurementOrder_Status.Query(); status_query.IsDeleted = false; status_query.Tenant_RefID = securityTicket.TenantID; status_query.GlobalPropertyMatchingID = STLD_ORD_CUO_CustomerOrder_Status.Ordered.ToString(); var notOrderedstatus = ORM_ORD_PRC_ProcurementOrder_Status.Query.Search(Connection, Transaction, status_query).First(); var prod_param = new P_L6PD_GPaPOSfT_1702(); prod_param.TreatmentID = TreatmentID; var products = cls_Get_Product_and_ProcurementOrderStatuses_for_TreatmentID.Invoke(Connection, Transaction, prod_param, securityTicket).Result; var notOrdered_Products = products.Where(i => i.BoundTo_ProcurementOrderPosition_RefID == Guid.Empty); if (notOrdered_Products.Count() == 0) { return(returnValue); } #region Save Header and Status var header_query = new ORM_ORD_PRC_ProcurementOrder_Header.Query(); header_query.IsDeleted = false; header_query.Tenant_RefID = securityTicket.TenantID; var headers = ORM_ORD_PRC_ProcurementOrder_Header.Query.Search(Connection, Transaction, header_query); var count = 0; if (headers != null) { count = headers.Count(); } String ordernumber = "000000000000" + (count + 1).ToString(); ordernumber = ordernumber.Substring(ordernumber.Length - 12); var header = new ORM_ORD_PRC_ProcurementOrder_Header(); header.ORD_PRC_ProcurementOrder_HeaderID = Guid.NewGuid(); header.Current_ProcurementOrderStatus_RefID = notOrderedstatus.ORD_PRC_ProcurementOrder_StatusID; header.ProcurementOrder_Number = ordernumber; header.ProcurementOrder_Date = DateTime.Now; header.Creation_Timestamp = DateTime.Now; header.Tenant_RefID = securityTicket.TenantID; header.Save(Connection, Transaction); var history = new ORM_ORD_PRC_ProcurementOrder_StatusHistory(); history.ORD_PRC_ProcurementOrder_StatusHistoryID = Guid.NewGuid(); history.ProcurementOrder_Header_RefID = header.ORD_PRC_ProcurementOrder_HeaderID; history.ProcurementOrder_Status_RefID = notOrderedstatus.ORD_PRC_ProcurementOrder_StatusID; history.StatusHistoryComment = ""; history.Creation_Timestamp = DateTime.Now; history.Tenant_RefID = securityTicket.TenantID; history.Save(Connection, Transaction); #endregion int cnt = 0; foreach (var product in notOrdered_Products) { cnt++; var position = new ORM_ORD_PRC_ProcurementOrder_Position(); position.ORD_PRC_ProcurementOrder_PositionID = Guid.NewGuid(); position.ProcurementOrder_Header_RefID = header.ORD_PRC_ProcurementOrder_HeaderID; position.Position_OrdinalNumber = cnt; position.Position_Quantity = product.Quantity; position.Position_ValuePerUnit = 1; position.Position_ValueTotal = decimal.Parse(product.Quantity.ToString()); position.CMN_PRO_Product_Variant_RefID = Guid.Empty; position.CMN_PRO_Product_RefID = product.CMN_PRO_ProductID; position.CMN_PRO_Product_Release_RefID = Guid.Empty; position.Position_RequestedDateOfDelivery = product.ExpectedDateOfDelivery; position.Creation_Timestamp = DateTime.Now; position.Tenant_RefID = securityTicket.TenantID; position.Save(Connection, Transaction); var item = new ORM_HEC_Patient_Treatment_RequiredProduct(); item.Load(Connection, Transaction, product.HEC_Patient_Treatment_RequiredProductID); item.BoundTo_CustomerOrderPosition_RefID = position.ORD_PRC_ProcurementOrder_PositionID; item.Save(Connection, Transaction); } #endregion return(returnValue); #endregion UserCode }