protected static FR_L5CO_SCOHaP_1043 Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_SCOHaP_1043 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5CO_SCOHaP_1043(); returnValue.Result = new L5CO_SCOHaP_1043(); var resultCustomerOrderHeader = cls_Save_CustomerOrderHeader.Invoke(Connection, Transaction, Parameter.Header, securityTicket).Result; returnValue.Result.CustomerOrderHeaderId = resultCustomerOrderHeader.CustomerOrderHeaderId; returnValue.Result.CustomerInteractionsId = resultCustomerOrderHeader.CustomerInteractionsId; Parameter.Positions.CustomerOrderHeaderID = resultCustomerOrderHeader.CustomerOrderHeaderId; var positionsResults = cls_Save_CustomerOrderPositions.Invoke(Connection, Transaction, Parameter.Positions, securityTicket).Result; #region Update Customer Order Total Value var header = new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Header(); header.Load(Connection, Transaction, resultCustomerOrderHeader.CustomerOrderHeaderId); 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 = resultCustomerOrderHeader.CustomerOrderHeaderId, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); header.TotalValue_BeforeTax = positions.Sum(x => x.Position_ValueTotal); header.Save(Connection, Transaction); #endregion P_L5CO_AOWS_1447 acceptParameter = new P_L5CO_AOWS_1447 { CustomerOrderHeaderID = resultCustomerOrderHeader.CustomerOrderHeaderId, Message = String.Empty }; cls_AcceptOrderWithShipment.Invoke(Connection, Transaction, acceptParameter, securityTicket); 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_CSHfCO_1528 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); #region Get CustomerOrderHeader var customerOrderHeader = new CL1_ORD_CUO.ORM_ORD_CUO_CustomerOrder_Header(); customerOrderHeader.Load(Connection, Transaction, Parameter.CustomerOrderHeaderID); #endregion var incrNumberParam = new P_L2NR_GaIINfUA_1454() { GlobalStaticMatchingID = EnumUtils.GetEnumDescription(ENumberRangeUsageAreaType.ShipmentNumber) }; var shipmentHeaderNumber = cls_Get_and_Increase_IncreasingNumber_for_UsageArea.Invoke(Connection, Transaction, incrNumberParam, securityTicket).Result.Current_IncreasingNumber; var shipmentHeader = new CL1_LOG_SHP.ORM_LOG_SHP_Shipment_Header(); shipmentHeader.LOG_SHP_Shipment_HeaderID = Guid.NewGuid(); shipmentHeader.ShipmentHeader_Number = shipmentHeaderNumber; shipmentHeader.Tenant_RefID = securityTicket.TenantID; shipmentHeader.IsPartiallyReadyForPicking = false; shipmentHeader.IsReadyForPicking = false; shipmentHeader.HasPickingFinished = false; shipmentHeader.HasPickingStarted = false; shipmentHeader.IsShipped = false; shipmentHeader.IsBilled = false; shipmentHeader.IsPartialShippingAllowed = true; shipmentHeader.ShipmentHeader_Currency_RefID = customerOrderHeader.CustomerOrder_Currency_RefID; shipmentHeader.RecipientBusinessParticipant_RefID = customerOrderHeader.OrderingCustomer_BusinessParticipant_RefID; shipmentHeader.Shippipng_AddressUCD_RefID = customerOrderHeader.ShippingAddressUCD_RefID; shipmentHeader.Save(Connection, Transaction); if (shipmentHeader.Shippipng_AddressUCD_RefID == Guid.Empty) { var AllAddressForShipmentHeader = cls_Get_AllAddresses_for_ShipmentHeaderID.Invoke(Connection, Transaction, new P_L3SO_GAAfSHI_1612 { ShipmentHeaderID = shipmentHeader.LOG_SHP_Shipment_HeaderID }, securityTicket).Result.ToList(); var defaultAddressForOU = AllAddressForShipmentHeader.Where(x => x.hasOrganizationUnit).SingleOrDefault(x => x.IsDefault); if (defaultAddressForOU != null) { shipmentHeader.Shippipng_AddressUCD_RefID = cls_Save_Address_for_ShipmentHeaderID.Invoke(Connection, Transaction, new P_L3SO_SA_f_SHI_1535 { LOG_SHP_Shipment_HeaderID = shipmentHeader.LOG_SHP_Shipment_HeaderID, StreetName = defaultAddressForOU.Street_Name, StreetNumber = defaultAddressForOU.Street_Number, Town = defaultAddressForOU.Town, ZIP = defaultAddressForOU.ZIP, IsCompany = defaultAddressForOU.IsCompany }, securityTicket).Result; } else { var defaultAddressForCustomer = AllAddressForShipmentHeader.Where(x => !x.hasOrganizationUnit && x.IsCompany && x.IsShipping).SingleOrDefault(x => x.IsDefault); if (defaultAddressForCustomer != null) { shipmentHeader.Shippipng_AddressUCD_RefID = cls_Save_Address_for_ShipmentHeaderID.Invoke(Connection, Transaction, new P_L3SO_SA_f_SHI_1535 { LOG_SHP_Shipment_HeaderID = shipmentHeader.LOG_SHP_Shipment_HeaderID, StreetName = defaultAddressForCustomer.Street_Name, StreetNumber = defaultAddressForCustomer.Street_Number, Town = defaultAddressForCustomer.Town, ZIP = defaultAddressForCustomer.ZIP, IsCompany = defaultAddressForCustomer.IsCompany }, securityTicket).Result; } else { var defaultPersonAddress = AllAddressForShipmentHeader.Where(x => !x.IsCompany).SingleOrDefault(x => x.IsDefault); if (defaultPersonAddress != null) { shipmentHeader.Shippipng_AddressUCD_RefID = cls_Save_Address_for_ShipmentHeaderID.Invoke(Connection, Transaction, new P_L3SO_SA_f_SHI_1535 { LOG_SHP_Shipment_HeaderID = shipmentHeader.LOG_SHP_Shipment_HeaderID, StreetName = defaultPersonAddress.Street_Name, StreetNumber = defaultPersonAddress.Street_Number, Town = defaultPersonAddress.Town, ZIP = defaultPersonAddress.ZIP, IsCompany = defaultPersonAddress.IsCompany }, securityTicket).Result; } } } } var shipmentToCustomerOrderHeader = new CL1_LOG_SHP.ORM_LOG_SHP_ShipmentHeader_2_CustomerOrderHeader(); shipmentToCustomerOrderHeader.ORD_CUO_CustomerOrder_Header_RefID = Parameter.CustomerOrderHeaderID; shipmentToCustomerOrderHeader.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID; shipmentToCustomerOrderHeader.Tenant_RefID = securityTicket.TenantID; shipmentToCustomerOrderHeader.Save(Connection, Transaction); #region Status #region Get Current Account var account = new CL1_USR.ORM_USR_Account(); account.Load(Connection, Transaction, securityTicket.AccountID); #endregion var statusCreated = CL1_LOG_SHP.ORM_LOG_SHP_Shipment_Status.Query.Search(Connection, Transaction, new CL1_LOG_SHP.ORM_LOG_SHP_Shipment_Status.Query() { GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EShipmentStatus.Created), Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); var shipmentStatusHistory = new CL1_LOG_SHP.ORM_LOG_SHP_Shipment_StatusHistory(); shipmentStatusHistory.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID; shipmentStatusHistory.LOG_SHP_Shipment_Status_RefID = statusCreated.LOG_SHP_Shipment_StatusID; shipmentStatusHistory.PerformedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID; shipmentStatusHistory.Tenant_RefID = (account == null) ? Guid.Empty : account.Tenant_RefID; shipmentStatusHistory.Save(Connection, Transaction); #endregion returnValue.Result = shipmentHeader.LOG_SHP_Shipment_HeaderID; return(returnValue); #endregion UserCode }