protected static FR_CL6_GCOoCORPwHDfCI_1312 Execute(DbConnection Connection, DbTransaction Transaction, P_CL6_GCOoCORPwHDfCI_1312 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_CL6_GCOoCORPwHDfCI_1312(); #region Get CustomerInteraction var customerInteraction = new ORM_CMN_POS_CustomerInteraction(); customerInteraction.Load(Connection, Transaction, Parameter.CustomerInteractionID); #endregion #region Get CustomerOrder Header Data and Positions CL3_GCODfH_1537 customerOrderHeaderData = null; L5CO_GCOPwDfH_1421[] customerOrderPositions = null; if (customerInteraction.IsCustomerOrderInteraction) { var resultCustomerOrderHeaderWithPositions = cls_Get_CustomerOrderPositions_with_HeaderData_for_HeaderID.Invoke( Connection, Transaction, new P_L6BS_GCOPwHDfH_0748() { CustomerOrderHeaderID = customerInteraction.CustomerOrderHeader_RefID }, securityTicket); if (resultCustomerOrderHeaderWithPositions.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } customerOrderHeaderData = resultCustomerOrderHeaderWithPositions.Result.HeaderData; customerOrderPositions = resultCustomerOrderHeaderWithPositions.Result.Positions; } #endregion #region Get CustomerOrderReturn Header Data and Positions CL6_GCOoCORPwHDfCI_1312a customerOrderReturnHeaderData = null; L5CO_GCORPwDfH_1521[] customerOrderReturnPositions = null; if (customerInteraction.IsCustomerOrderReturnInteraction) { var resultCustomerOrderReturnHeader = new ORM_ORD_CUO_CustomerOrderReturn_Header(); resultCustomerOrderReturnHeader.Load(Connection, Transaction, customerInteraction.CustomerOrderReturnHeader_RefID); customerOrderReturnHeaderData = new CL6_GCOoCORPwHDfCI_1312a() { CustomerOrderReturnHeaderID = resultCustomerOrderReturnHeader.ORD_CUO_CustomerOrderReturn_HeaderID, CustomerOrderReturnHeaderNumber = resultCustomerOrderReturnHeader.CustomerOrderReturnNumber, CustomerOrderReturnHeaderOrderDate = resultCustomerOrderReturnHeader.DateOfCustomerReturn }; var resultCustomerOrderReturnPositions = cls_Get_CustomerOrderReturnPositions_with_Details_for_HeaderID.Invoke( Connection, Transaction, new P_L5CO_GCORPwDfH_1521() { CustomerOrderReturnHeaderID = customerInteraction.CustomerOrderReturnHeader_RefID }, securityTicket); if (resultCustomerOrderReturnPositions.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } customerOrderReturnPositions = resultCustomerOrderReturnPositions.Result; } #endregion #region Set Result returnValue.Result = new CL6_GCOoCORPwHDfCI_1312(); returnValue.Result.CustomerOrderHeaderData = customerOrderHeaderData; returnValue.Result.CustomerOrderPositions = customerOrderPositions; returnValue.Result.CustomerOrderReturnHeaderData = customerOrderReturnHeaderData; returnValue.Result.CustomerOrderReturnPositions = customerOrderReturnPositions; returnValue.Status = FR_Status.Success; #endregion return(returnValue); #endregion UserCode }
protected static FR_L5CO_COH_1326 Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_COH_1326 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5CO_COH_1326(); returnValue.Result = new L5CO_COH_1326(); var header = new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Header(); ORM_CMN_POS_CustomerInteraction customerInteraction = null; if (Parameter.CustomerOrderHeaderID == Guid.Empty) { #region Preload data var incrNumberParam = new P_L2NR_GaIINfUA_1454() { GlobalStaticMatchingID = EnumUtils.GetEnumDescription(ENumberRangeUsageAreaType.CustomerOrderNumber) }; var customerOrderNumber = cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrNumberParam, securityTicket).Result.Current_IncreasingNumber; var account = CL1_USR.ORM_USR_Account.Query.Search(Connection, Transaction, new CL1_USR.ORM_USR_Account.Query { USR_AccountID = securityTicket.AccountID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).Single(); var orderedStatusID = CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction, new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Status.Query { GlobalPropertyMatchingID = DLCore_DBCommons.Utils.EnumUtils.GetEnumDescription(DLCore_DBCommons.APODemand.ECustomerOrderStatus.Ordered), IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).Single().ORD_CUO_CustomerOrder_StatusID; #endregion #region Customer Order Header Creation header = new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Header { ORD_CUO_CustomerOrder_HeaderID = Guid.NewGuid(), Tenant_RefID = securityTicket.TenantID, Creation_Timestamp = DateTime.Now, CreatedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID, Current_CustomerOrderStatus_RefID = orderedStatusID, CustomerOrder_Number = customerOrderNumber, CustomerOrder_Currency_RefID = cls_Get_DefaultCurrency_for_Tenant.Invoke(Connection, Transaction, securityTicket).Result.CMN_CurrencyID }; header.ProcurementOrderITL = Guid.Empty.ToString(); header.TotalValue_BeforeTax = 0.0M; #endregion #region CustomerOrderStatusHistory var statusHistory = new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_StatusHistory { ORD_CUO_CustomerOrder_StatusHistoryID = Guid.NewGuid(), Creation_Timestamp = DateTime.Now, Tenant_RefID = securityTicket.TenantID, CustomerOrder_Header_RefID = header.ORD_CUO_CustomerOrder_HeaderID, CustomerOrder_Status_RefID = orderedStatusID, StatusHistoryComment = null, PerformedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID, }; statusHistory.Save(Connection, Transaction); #endregion #region Create and Save CustomerInteraction var incrCustIntrNumberParam = new P_L2NR_GaIINfUA_1454() { GlobalStaticMatchingID = EnumUtils.GetEnumDescription(ENumberRangeUsageAreaType.CustomerInteractionNumber) }; var customerInteractionNumber = cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrCustIntrNumberParam, securityTicket).Result.Current_IncreasingNumber; customerInteraction = new ORM_CMN_POS_CustomerInteraction() { CMN_POS_CustomerInteractionID = Guid.NewGuid(), Creation_Timestamp = DateTime.Now, IsCustomerOrderInteraction = true, CustomerOrderHeader_RefID = header.ORD_CUO_CustomerOrder_HeaderID, CustomerInteractionNumber = customerInteractionNumber, DateOfCustomerInteraction = DateTime.Now, Tenant_RefID = securityTicket.TenantID }; customerInteraction.Save(Connection, Transaction); #endregion } else { var fetched = header.Load(Connection, Transaction, Parameter.CustomerOrderHeaderID); if (fetched.Status != FR_Status.Success || header.ORD_CUO_CustomerOrder_HeaderID != Parameter.CustomerOrderHeaderID) { returnValue.ErrorMessage = fetched.ErrorMessage; returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } #region Update Customer Order Total Value var positions = CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Position.Query.Search(Connection, Transaction, new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Position.Query { CustomerOrder_Header_RefID = Parameter.CustomerOrderHeaderID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); header.TotalValue_BeforeTax = positions.Sum(x => x.Position_ValueTotal); #endregion #region Load CustomerInteraction customerInteraction = ORM_CMN_POS_CustomerInteraction.Query.Search( Connection, Transaction, new ORM_CMN_POS_CustomerInteraction.Query() { CustomerOrderHeader_RefID = header.ORD_CUO_CustomerOrder_HeaderID, Tenant_RefID = securityTicket.TenantID }).FirstOrDefault(); #endregion } if (Parameter.OrganizationalUnitID != null) { Guid ucdID = Guid.Empty; //var ucd = CL1_CMN.ORM_CMN_UniversalContactDetail.Query.Search(Connection, Transaction, // new CL1_CMN.ORM_CMN_UniversalContactDetail.Query // { // CMN_UniversalContactDetailID = ucdID, // IsDeleted = false, // Tenant_RefID = securityTicket.TenantID // }); // header.ShippingAddressUCD_RefID = } header.CustomerOrder_Date = Parameter.CustomerOrderDate; header.DeliveryDeadline = Parameter.DeliveryDeadline; header.OrderingCustomer_BusinessParticipant_RefID = Parameter.Customer_BusinessParticipantID; header.Save(Connection, Transaction); returnValue.Result = new L5CO_COH_1326() { CustomerOrderHeaderId = header.ORD_CUO_CustomerOrder_HeaderID, CustomerInteractionsId = customerInteraction == null ? Guid.Empty : customerInteraction.CMN_POS_CustomerInteractionID }; return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_SCORH_1326 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); var returnHeader = new ORM_ORD_CUO_CustomerOrderReturn_Header(); ORM_CMN_POS_CustomerInteraction customerInteraction = null; if (Parameter.CustomerOrderReturnHeaderID == Guid.Empty) { #region Preload data var incrNumberParam = new P_L2NR_GaIINfUA_1454() { GlobalStaticMatchingID = EnumUtils.GetEnumDescription(ENumberRangeUsageAreaType.CustomerReturnNumber) }; var customerReturnNumber = cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrNumberParam, securityTicket).Result.Current_IncreasingNumber; var account = CL1_USR.ORM_USR_Account.Query.Search(Connection, Transaction, new CL1_USR.ORM_USR_Account.Query { USR_AccountID = securityTicket.AccountID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).Single(); var orderedStatusID = CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction, new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Status.Query { GlobalPropertyMatchingID = DLCore_DBCommons.Utils.EnumUtils.GetEnumDescription(DLCore_DBCommons.APODemand.ECustomerOrderStatus.Ordered), IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).Single().ORD_CUO_CustomerOrder_StatusID; var customerId = ORM_CMN_BPT_CTM_Customer.Query.Search( Connection, Transaction, new ORM_CMN_BPT_CTM_Customer.Query() { Ext_BusinessParticipant_RefID = Parameter.Customer_BusinessParticipantID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).Single().CMN_BPT_CTM_CustomerID; #endregion #region Customer Order Return Header Creation returnHeader = new ORM_ORD_CUO_CustomerOrderReturn_Header { ORD_CUO_CustomerOrderReturn_HeaderID = Guid.NewGuid(), Tenant_RefID = securityTicket.TenantID, Creation_Timestamp = DateTime.Now, Customer_RefID = customerId, CustomerOrderReturnNumber = customerReturnNumber, TotalValueBeforeTax = Parameter.TotalValueBeforeTax, Currency_RefID = Parameter.CurencyId, Customer_BillingAddressUCD_RefID = Parameter.Customer_BillingAddressUCD_RefID }; #endregion #region Create or Update CustomerInteraction if (Parameter.CustomerInteractionsId == Guid.Empty) { var incrCustIntrNumberParam = new P_L2NR_GaIINfUA_1454() { GlobalStaticMatchingID = EnumUtils.GetEnumDescription(ENumberRangeUsageAreaType.CustomerInteractionNumber) }; var customerInteractionNumber = cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrCustIntrNumberParam, securityTicket).Result.Current_IncreasingNumber; customerInteraction = new ORM_CMN_POS_CustomerInteraction() { CMN_POS_CustomerInteractionID = Guid.NewGuid(), Creation_Timestamp = DateTime.Now, IsCustomerOrderReturnInteraction = true, CustomerOrderReturnHeader_RefID = returnHeader.ORD_CUO_CustomerOrderReturn_HeaderID, CustomerInteractionNumber = customerInteractionNumber, DateOfCustomerInteraction = DateTime.Now, Tenant_RefID = securityTicket.TenantID }; customerInteraction.Save(Connection, Transaction); } else { customerInteraction = ORM_CMN_POS_CustomerInteraction.Query.Search( Connection, Transaction, new ORM_CMN_POS_CustomerInteraction.Query() { CMN_POS_CustomerInteractionID = Parameter.CustomerInteractionsId, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).FirstOrDefault(); customerInteraction.CustomerOrderReturnHeader_RefID = returnHeader.ORD_CUO_CustomerOrderReturn_HeaderID; customerInteraction.IsCustomerOrderReturnInteraction = true; customerInteraction.Save(Connection, Transaction); } #endregion } else { var fetched = returnHeader.Load(Connection, Transaction, Parameter.CustomerOrderReturnHeaderID); if (fetched.Status != FR_Status.Success || returnHeader.ORD_CUO_CustomerOrderReturn_HeaderID != Parameter.CustomerOrderReturnHeaderID) { returnValue.ErrorMessage = fetched.ErrorMessage; returnValue.Status = FR_Status.Error_Internal; returnValue.Result = Guid.Empty; return(returnValue); } #region Update Customer Order Total Value var returnPositions = ORM_ORD_CUO_CustomerOrderReturn_Position.Query.Search( Connection, Transaction, new ORM_ORD_CUO_CustomerOrderReturn_Position.Query { CustomerOrderReturnHeader_RefID = Parameter.CustomerOrderReturnHeaderID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); returnHeader.TotalValueBeforeTax = returnPositions.Sum(x => x.Position_ValueTotal); #endregion } returnHeader.DateOfCustomerReturn = Parameter.DateOfCustomerReturn; returnHeader.Save(Connection, Transaction); returnValue.Result = returnHeader.ORD_CUO_CustomerOrderReturn_HeaderID; return(returnValue); #endregion UserCode }