///<summary> /// Method Invocation of wrapper classes ///<summary> protected static FR_L6OH_GCOoCORHwPrCI_1643 Invoke(DbConnection Connection, DbTransaction Transaction, string ConnectionString, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { bool cleanupConnection = Connection == null; bool cleanupTransaction = Transaction == null; FR_L6OH_GCOoCORHwPrCI_1643 functionReturn = new FR_L6OH_GCOoCORHwPrCI_1643(); try { if (cleanupConnection == true) { Connection = CSV2Core_MySQL.Support.DBSQLSupport.CreateConnection(ConnectionString); Connection.Open(); } if (cleanupTransaction == true) { Transaction = Connection.BeginTransaction(); } functionReturn = Execute(Connection, Transaction, securityTicket); #region Cleanup Connection/Transaction //Commit the transaction if (cleanupTransaction == true) { Transaction.Commit(); } //Close the connection if (cleanupConnection == true) { Connection.Close(); } #endregion } catch (Exception ex) { try { if (cleanupTransaction == true && Transaction != null) { Transaction.Rollback(); } } catch { } try { if (cleanupConnection == true && Connection != null) { Connection.Close(); } } catch { } throw new Exception("Exception occured in method cls_Get_CustomerOrder_or_CustomerOrderReturn_Headers_with_Positions_relatedTo_CustomerInteractions", ex); } return(functionReturn); }
protected static FR_L6OH_GCOoCORHwPrCI_1643 Execute(DbConnection Connection, DbTransaction Transaction, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6OH_GCOoCORHwPrCI_1643(); #region Get CustomerInteractions var customerInteractions = ORM_CMN_POS_CustomerInteraction.Query.Search( Connection, Transaction, new ORM_CMN_POS_CustomerInteraction.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false }); if (customerInteractions == null || customerInteractions.Count <= 0) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } #endregion #region Get CustomerOrder Headers with Positions var customerInteractionsWithoutReturnOrderHeaders = customerInteractions .Where(ci => ci.IsCustomerOrderInteraction == true && ci.IsCustomerOrderReturnInteraction == false); var parameterCustomerOrderHeaders = new P_L3CO_GCOHwPbH_1604() { CustomerOrderHeaderIDs = customerInteractionsWithoutReturnOrderHeaders .Select(ci => ci.CustomerOrderHeader_RefID).ToArray() }; L3CO_GCOHwPbH_1604[] customerOrderHeaders = null; if (parameterCustomerOrderHeaders.CustomerOrderHeaderIDs != null && parameterCustomerOrderHeaders.CustomerOrderHeaderIDs.Count() > 0) { customerOrderHeaders = cls_Get_CustomerOrderHeaders_with_Positions_by_HeaderIDs.Invoke( Connection, Transaction, new P_L3CO_GCOHwPbH_1604() { CustomerOrderHeaderIDs = parameterCustomerOrderHeaders.CustomerOrderHeaderIDs.ToArray() }, securityTicket).Result; } if (customerOrderHeaders != null && customerOrderHeaders.Count() != customerInteractionsWithoutReturnOrderHeaders.Count()) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } #endregion #region Get CustomerOrderReturn Headers with Positions var customerInteractionsWithoutOrderHeaders = customerInteractions .Where(ci => ci.IsCustomerOrderInteraction == false && ci.IsCustomerOrderReturnInteraction == true); var parameterCustomerOrderReturnHeaders = new P_L3CO_GCORHwPbH_1610() { CustomerOrderReturnHeaderIDs = customerInteractionsWithoutOrderHeaders .Select(ci => ci.CustomerOrderReturnHeader_RefID).ToArray() }; L3CO_GCORHwPbH_1610[] customerOrderReturnHeaders = null; if (parameterCustomerOrderReturnHeaders.CustomerOrderReturnHeaderIDs != null && parameterCustomerOrderReturnHeaders.CustomerOrderReturnHeaderIDs.Count() > 0) { customerOrderReturnHeaders = cls_Get_CustomerOrderReturnHeaders_with_Positions_by_HeaderIDs.Invoke( Connection, Transaction, new P_L3CO_GCORHwPbH_1610() { CustomerOrderReturnHeaderIDs = parameterCustomerOrderReturnHeaders.CustomerOrderReturnHeaderIDs.ToArray() }, securityTicket).Result; } if (customerOrderReturnHeaders != null && customerOrderReturnHeaders.Count() != customerInteractionsWithoutOrderHeaders.Count()) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } #endregion #region Get Both Headers with Positions var customerInteractionsWithBothHeaders = customerInteractions.Where(ci => ci.IsCustomerOrderInteraction == true && ci.IsCustomerOrderReturnInteraction == true); var bothHeaders = cls_Get_CustomerOrder_or_CustomerOrderReturn_Headers_with_Positions_by_HeaderIDs.Invoke( Connection, Transaction, new P_L3CO_GCOoCORHwPbH_1622() { CustomerOrderHeaderIDs = customerInteractionsWithBothHeaders.Select(ci => ci.CustomerOrderHeader_RefID).ToArray(), CustomerOrderReturnHeaderIDs = customerInteractionsWithBothHeaders.Select(ci => ci.CustomerOrderReturnHeader_RefID).ToArray() }, securityTicket).Result; if ((bothHeaders != null && bothHeaders.CustomerOrderHeaders != null && bothHeaders.CustomerOrderHeaders.Count() != customerInteractionsWithBothHeaders.Count()) || (bothHeaders != null && bothHeaders.CustomerOrderReturnHeaders != null && bothHeaders.CustomerOrderReturnHeaders.Count() != customerInteractionsWithBothHeaders.Count())) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } #endregion #region Set Result returnValue.Result = new L6OH_GCOoCORHwPrCI_1643(); #region Set CustomerOrder Result var resultOrderHeaders = new List <L6OH_GCOoCORHwPrCI_1643a>(); foreach (var interaction in customerInteractionsWithoutReturnOrderHeaders) { resultOrderHeaders.Add(new L6OH_GCOoCORHwPrCI_1643a() { CustomerInteractionID = interaction.CMN_POS_CustomerInteractionID, CustomerOrderHeader = customerOrderHeaders.Where(coh => coh.ORD_CUO_CustomerOrder_HeaderID == interaction.CustomerOrderHeader_RefID).FirstOrDefault() }); } returnValue.Result.OrderHeaders = resultOrderHeaders.ToArray(); #endregion #region Set CustomerOrderReturn Result var resultReturnOrderHeaders = new List <L6OH_GCOoCORHwPrCI_1643b>(); foreach (var interaction in customerInteractionsWithoutOrderHeaders) { resultReturnOrderHeaders.Add(new L6OH_GCOoCORHwPrCI_1643b() { CustomerInteractionID = interaction.CMN_POS_CustomerInteractionID, CustomerOrderReturnHeader = customerOrderReturnHeaders.Where(corh => corh.ORD_CUO_CustomerOrderReturn_HeaderID == interaction.CustomerOrderReturnHeader_RefID).FirstOrDefault() }); } returnValue.Result.ReturnOrderHeaders = resultReturnOrderHeaders.ToArray(); #endregion #region Set Both Headers Result var resultBothHeaders = new List <L6OH_GCOoCORHwPrCI_1643c>(); foreach (var interaction in customerInteractionsWithBothHeaders) { resultBothHeaders.Add(new L6OH_GCOoCORHwPrCI_1643c() { CustomerInteractionID = interaction.CMN_POS_CustomerInteractionID, CustomerOrderHeader = bothHeaders.CustomerOrderHeaders.Where(coh => coh.ORD_CUO_CustomerOrder_HeaderID == interaction.CustomerOrderHeader_RefID).FirstOrDefault(), CustomerOrderReturnHeader = bothHeaders.CustomerOrderReturnHeaders.Where(corh => corh.ORD_CUO_CustomerOrderReturn_HeaderID == interaction.CustomerOrderReturnHeader_RefID).FirstOrDefault() }); } returnValue.Result.BothHeaders = resultBothHeaders.ToArray(); #endregion returnValue.Status = FR_Status.Success; #endregion return(returnValue); #endregion UserCode }