protected static FR_L6SR_GDfSRCC_1515 Execute(DbConnection Connection, DbTransaction Transaction, P_L6SR_GDfSRCC_1515 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6SR_GDfSRCC_1515(); P_L5SR_GSRPfH_1544 getPositionsParameter = new P_L5SR_GSRPfH_1544(); getPositionsParameter.ReceiptHeaderID = Parameter.ReceiptHeaderID; var receiptPositions = cls_Get_StockReceiptsPositions_for_ReceiptHeaderID.Invoke(Connection, Transaction, getPositionsParameter, securityTicket).Result; CL1_LOG_RCP.ORM_LOG_RCP_Receipt_Header receiptHeader = new CL1_LOG_RCP.ORM_LOG_RCP_Receipt_Header(); receiptHeader.Load(Connection, Transaction, Parameter.ReceiptHeaderID); var expectedDeliveryHeader = CL1_ORD_PRC.ORM_ORD_PRC_ExpectedDelivery_Header.Query.Search(Connection, Transaction, new CL1_ORD_PRC.ORM_ORD_PRC_ExpectedDelivery_Header.Query() { ORD_PRC_ExpectedDelivery_HeaderID = receiptHeader.ExpectedDeliveryHeader_RefID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }).Single(); #region Discount types var discountTypesParam = new P_L2DT_GDTfGPMIL_1546(); discountTypesParam.GlobalPropertyMatchingID_List = EnumUtils.GetAllEnumDescriptions <EDiscountType>().ToArray(); var discountTypes = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypesParam, securityTicket).Result; #endregion returnValue.Result = new L6SR_GDfSRCC_1515(); returnValue.Result.Positions = receiptPositions; returnValue.Result.DeliveryDate = expectedDeliveryHeader.ExpectedDeliveryDate; returnValue.Result.DeliveryNumber = expectedDeliveryHeader.ExpectedDeliveryNumber; returnValue.Result.SupplierID = receiptHeader.ProvidingSupplier_RefID; returnValue.Result.DiscountTypes = discountTypes; return(returnValue); #endregion UserCode }
protected static FR_L5PO_GPOPfH_1015 Execute(DbConnection Connection, DbTransaction Transaction, P_L5PO_GPOPfH_1015 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5PO_GPOPfH_1015(); var result = new L5PO_GPOPfH_1015(); #region Get ProcurementOrder Header var resultHeader = cls_Get_ProcurementOrderHeader_for_HeaderID.Invoke(Connection, Transaction , new P_L5PO_GPOHfH_1406() { ProcurementOrderHeaderID = Parameter.ProcurementOrderHeaderID }, securityTicket).Result.FirstOrDefault(); result.Header = resultHeader; #endregion #region Get Procurement Order Positions var procurementOrderPositions = ORM_ORD_PRC_ProcurementOrder_Position.Query.Search(Connection, Transaction , new ORM_ORD_PRC_ProcurementOrder_Position.Query() { ProcurementOrder_Header_RefID = Parameter.ProcurementOrderHeaderID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }); if (procurementOrderPositions == null || procurementOrderPositions.Count() <= 0) { returnValue.Status = FR_Status.Success; result.Positions = new L5PO_GPOPfH_1015a[0]; returnValue.Result = result; return(returnValue); } var productIds = procurementOrderPositions.Select(i => i.CMN_PRO_Product_RefID).Distinct().ToArray(); #endregion #region get expected delivery P_L5PO_GEDfPOP_1132 expectedDeliveryParam = new P_L5PO_GEDfPOP_1132(); expectedDeliveryParam.ProcurementOrderPositions = procurementOrderPositions.Select(i => i.ORD_PRC_ProcurementOrder_PositionID).ToArray(); var expectedDeliveries = cls_Get_ExpectedDeliveries_for_ProcurementOrderPositions.Invoke(Connection, Transaction, expectedDeliveryParam, securityTicket).Result; if (expectedDeliveries != null && expectedDeliveries.Length > 0) { result.ExpectedDeliveryDate = expectedDeliveries.First().ExpectedDeliveryDate; } #endregion #region Get cash discount var discountTypeParam = new P_L2DT_GDTfGPMIL_1546(); discountTypeParam.GlobalPropertyMatchingID_List = new string[] { EnumUtils.GetEnumDescription(EDiscountType.CashDiscount), }; var discountTypes = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypeParam, securityTicket).Result; if (discountTypes != null && discountTypes.Length > 0) { var discountTypeID = discountTypes.First().ORD_PRC_DiscountTypeID; var positionIDs = procurementOrderPositions.Select(i => i.ORD_PRC_ProcurementOrder_PositionID).ToArray(); foreach (var item in positionIDs) { var positionDiscount = ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query.Search(Connection, Transaction, new ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, ORD_PRC_ProcurementOrder_Position_RefID = item, ORD_PRC_DiscountType_RefID = discountTypeID }); if (positionDiscount != null && positionDiscount.Count > 0) { result.CashDiscount = positionDiscount.First().DiscountValue; break; } } } #endregion #region Get discounts for procurement order positions var discounts = cls_Get_Discounts_for_ProcurementOrderPositions.Invoke(Connection, Transaction, new P_L5PO_GDfPOP_1706() { ProcOrderPositionsList = procurementOrderPositions.Select(i => i.ORD_PRC_ProcurementOrder_PositionID).ToArray() } , securityTicket).Result; #endregion #region Get Articles For ShipmentPositions var articles = cls_Get_Articles_for_ArticleList.Invoke(Connection, Transaction , new P_L3AR_GAfAL_0942() { ProductID_List = productIds } , securityTicket).Result; #endregion #region Get Available Product Quantities var shelfContents = cls_Get_CurrentShelfContents_and_ActiveReservations_for_ProductIDList.Invoke(Connection, Transaction , new P_L3WH_GCSCaARfP_1835() { ProductIDList = productIds } , securityTicket).Result.ToList(); #endregion #region Get Standard Price var standardPrices = cls_Get_StandardPrices_for_ProductIDList.Invoke(Connection, Transaction , new P_L3PR_GSPfPIL_1645() { ProductIDList = productIds } , securityTicket).Result; #endregion #region Get MSR var msrForProducts = cls_Get_MSR_for_ProductIDList.Invoke(Connection, Transaction, new P_L3AS_GSMRfPL_1508 { ProductIDList = productIds }, securityTicket).Result; #endregion #region Set Result var resultsPositions = new List <L5PO_GPOPfH_1015a>(); foreach (var pop in procurementOrderPositions) { var productMsr = msrForProducts.SingleOrDefault(x => x.ProductID == pop.CMN_PRO_Product_RefID); var standardPrice = standardPrices.Where(ap => ap.ProductID == pop.CMN_PRO_Product_RefID).ToList(); var aekPrice = standardPrice.Single().AverageProcurementPrice == 0 ? standardPrice.Single().AbdaPrice : standardPrice.Single().AverageProcurementPrice; var inStock = shelfContents.Where(sc => sc.Product_RefID == pop.CMN_PRO_Product_RefID).ToList(); var position = new L5PO_GPOPfH_1015a1() { ProcurementOrderHeaderId = pop.ProcurementOrder_Header_RefID, ProcurementOrderPositionId = pop.ORD_PRC_ProcurementOrder_PositionID, CreationTimestamp = pop.Creation_Timestamp, PositionQuantity = pop.Position_Quantity, PositionValuePerUnit = pop.Position_ValuePerUnit, PositionValueTotal = pop.Position_ValueTotal, QuantityInStock = inStock.Count <= 0 ? 0 : inStock.Single().CurrentQuantity, AEKPrice = aekPrice, MSR = (productMsr != null) ? productMsr.MSR : 0.0 }; var discount = discounts.Where(a => a.ord_prc_procurementOrder_Position_RefID == pop.ORD_PRC_ProcurementOrder_PositionID).ToArray(); resultsPositions.Add(new L5PO_GPOPfH_1015a() { Position = position, Discount = ((discount == null) || (discount.Length == 0)) ? null : discount, Article = articles.Where(a => a.CMN_PRO_ProductID == pop.CMN_PRO_Product_RefID).Single() }); } result.Positions = resultsPositions.ToArray(); returnValue.Result = result; returnValue.Status = FR_Status.Success; #endregion return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PO_SCDfHoP_1117 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Guid(); //Put your code here List <Guid> positionIDs = new List <Guid>(); //if parameter contains headerID, discounts for all positions of header will be created/edited. if (Parameter.ProcurementOrderHeaderID != Guid.Empty) { //Find all header positions var procurementOrderPositions = ORM_ORD_PRC_ProcurementOrder_Position.Query.Search(Connection, Transaction , new ORM_ORD_PRC_ProcurementOrder_Position.Query() { ProcurementOrder_Header_RefID = Parameter.ProcurementOrderHeaderID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }); if (procurementOrderPositions != null && procurementOrderPositions.Count > 0) { positionIDs.AddRange(procurementOrderPositions.Select(x => x.ORD_PRC_ProcurementOrder_PositionID).ToList()); } } else if (Parameter.ProcurementOrderPositionIDList != null && Parameter.ProcurementOrderPositionIDList.Length > 0) { positionIDs.AddRange(Parameter.ProcurementOrderPositionIDList); } if (positionIDs.Count > 0) { var discountTypeParam = new P_L2DT_GDTfGPMIL_1546(); discountTypeParam.GlobalPropertyMatchingID_List = new string[] { EnumUtils.GetEnumDescription(EDiscountType.CashDiscount), }; var discountTypes = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypeParam, securityTicket).Result; if (discountTypes != null && discountTypes.Length > 0) { var discountTypeID = discountTypes.First().ORD_PRC_DiscountTypeID; foreach (var item in positionIDs) { var positionDiscount = ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query.Search(Connection, Transaction, new ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, ORD_PRC_ProcurementOrder_Position_RefID = item, ORD_PRC_DiscountType_RefID = discountTypeID }); if (positionDiscount != null && positionDiscount.Count > 0) { //update existing discount for position positionDiscount.First().DiscountValue = Parameter.DiscountValue; positionDiscount.First().Save(Connection, Transaction); } else { //create new discount for position ORM_ORD_PRC_ProcurementOrder_Position_Discount newPosition = new ORM_ORD_PRC_ProcurementOrder_Position_Discount(); newPosition.IsDeleted = false; newPosition.Tenant_RefID = securityTicket.TenantID; newPosition.Creation_Timestamp = DateTime.Now; newPosition.DiscountValue = Parameter.DiscountValue; newPosition.ORD_PRC_ProcurementOrder_Position_DiscountID = Guid.NewGuid(); newPosition.ORD_PRC_DiscountType_RefID = discountTypeID; newPosition.ORD_PRC_ProcurementOrder_Position_RefID = item; newPosition.Save(Connection, Transaction); } } } } return(returnValue); #endregion UserCode }
protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5PO_SPD_1148 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guids(); //Put your code here List <Guid> discountGuidList = new List <Guid>(); if (Parameter.Discounts != null) { List <Guid> positionIDs = new List <Guid>(); if (Parameter.SaveNaturalDiscountForAllPositions) { var position = new ORM_ORD_PRC_ProcurementOrder_Position(); position.Load(Connection, Transaction, Parameter.ProcurementOrderPositionID); var headerID = position.ProcurementOrder_Header_RefID; var headerPositions = ORM_ORD_PRC_ProcurementOrder_Position.Query.Search(Connection, Transaction, new ORM_ORD_PRC_ProcurementOrder_Position.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, ProcurementOrder_Header_RefID = headerID }).ToList(); positionIDs.AddRange(headerPositions.Select(x => x.ORD_PRC_ProcurementOrder_PositionID)); } var positionDiscounts = CL1_ORD_PRC.ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query.Search(Connection, Transaction, new ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, ORD_PRC_ProcurementOrder_Position_RefID = Parameter.ProcurementOrderPositionID } ).ToArray(); //Preload discount types and choose those that are applying to stock reciept positions var discountTypesParam = new P_L2DT_GDTfGPMIL_1546(); discountTypesParam.GlobalPropertyMatchingID_List = new string[] { EnumUtils.GetEnumDescription(EDiscountType.MainDiscount), EnumUtils.GetEnumDescription(EDiscountType.Discount2), EnumUtils.GetEnumDescription(EDiscountType.Discount3), EnumUtils.GetEnumDescription(EDiscountType.NaturalDiscount) }; var discountTypes = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypesParam, securityTicket).Result; ORM_ORD_PRC_ProcurementOrder_Position_Discount discount = null; foreach (var item in discountTypes) { var paramDiscount = Parameter.Discounts.SingleOrDefault(x => x.DiscountTypeID == item.ORD_PRC_DiscountTypeID); if (paramDiscount == null) { continue; } discount = positionDiscounts.SingleOrDefault(x => x.ORD_PRC_DiscountType_RefID == item.ORD_PRC_DiscountTypeID); if (discount == null) { discount = new ORM_ORD_PRC_ProcurementOrder_Position_Discount { ORD_PRC_ProcurementOrder_Position_DiscountID = Guid.NewGuid(), ORD_PRC_DiscountType_RefID = item.ORD_PRC_DiscountTypeID, ORD_PRC_ProcurementOrder_Position_RefID = Parameter.ProcurementOrderPositionID, Tenant_RefID = securityTicket.TenantID, Creation_Timestamp = DateTime.Now, IsDeleted = false }; } discount.DiscountValue = paramDiscount.DiscountValue; discount.Save(Connection, Transaction); discountGuidList.Add(discount.ORD_PRC_ProcurementOrder_Position_DiscountID); } //if SaveNaturalDiscountForAllPositions, change discount value for natural discount for all positions of procurement header if (Parameter.SaveNaturalDiscountForAllPositions) { foreach (var currentPosID in positionIDs) { if (currentPosID != Parameter.ProcurementOrderPositionID) { var posDiscounts = CL1_ORD_PRC.ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query.Search(Connection, Transaction, new ORM_ORD_PRC_ProcurementOrder_Position_Discount.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, ORD_PRC_ProcurementOrder_Position_RefID = currentPosID } ).ToArray(); //Preload discount types and choose those that are applying to stock reciept positions var discountTypesPar = new P_L2DT_GDTfGPMIL_1546(); discountTypesPar.GlobalPropertyMatchingID_List = new string[] { EnumUtils.GetEnumDescription(EDiscountType.NaturalDiscount) }; var discNaturalType = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypesPar, securityTicket).Result; ORM_ORD_PRC_ProcurementOrder_Position_Discount discountNatural = null; foreach (var item in discNaturalType) { var paramDiscount = Parameter.Discounts.SingleOrDefault(x => x.DiscountTypeID == discNaturalType.First().ORD_PRC_DiscountTypeID); if (paramDiscount == null) { continue; } discountNatural = posDiscounts.SingleOrDefault(x => x.ORD_PRC_DiscountType_RefID == discNaturalType.First().ORD_PRC_DiscountTypeID); if (discountNatural == null) { discountNatural = new ORM_ORD_PRC_ProcurementOrder_Position_Discount { ORD_PRC_ProcurementOrder_Position_DiscountID = Guid.NewGuid(), ORD_PRC_DiscountType_RefID = item.ORD_PRC_DiscountTypeID, ORD_PRC_ProcurementOrder_Position_RefID = currentPosID, Tenant_RefID = securityTicket.TenantID, Creation_Timestamp = DateTime.Now, IsDeleted = false }; } discountNatural.DiscountValue = paramDiscount.DiscountValue; discountNatural.Save(Connection, Transaction); discountGuidList.Add(discount.ORD_PRC_ProcurementOrder_Position_DiscountID); } } } } } returnValue.Result = discountGuidList.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_L5AA_GARPDfPI_3535 Execute(DbConnection Connection, DbTransaction Transaction, P_L5AA_GARPDfPI_3535 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5AA_GARPDfPI_3535(); returnValue.Result = new L5AA_GARPDfPI_3535(); #region ArticleInfo var articleQuery = new ORM_CMN_PRO_Product.Query(); articleQuery.CMN_PRO_ProductID = Parameter.ArticleID; articleQuery.Tenant_RefID = securityTicket.TenantID; var articleFound = ORM_CMN_PRO_Product.Query.Search(Connection, Transaction, articleQuery).SingleOrDefault(); returnValue.Result.PZN = articleFound.Product_Number; returnValue.Result.ArticleName = articleFound.Product_Name; #endregion #region Standard Prices var standardPriceParam = new P_L3PR_GSPfPIL_1645() { ProductIDList = new Guid[1] { Parameter.ArticleID } }; var standardPrice = cls_Get_StandardPrices_for_ProductIDList.Invoke( Connection, Transaction, standardPriceParam, securityTicket).Result.SingleOrDefault(); returnValue.Result.StandardPrices = standardPrice; #endregion #region Suppliers for Product var suppliersParam = new P_L5AA_GPSfPI_1248() { ProductID = Parameter.ArticleID }; var SupplierProducts = cls_Get_ProductSuppliers_for_ProductID.Invoke( Connection, Transaction, suppliersParam, securityTicket).Result; returnValue.Result.ProductSuppliers = SupplierProducts; #endregion #region Predefined DiscountTypes var discountTypesParam = new P_L2DT_GDTfGPMIL_1546 { GlobalPropertyMatchingID_List = EnumUtils.GetAllEnumDescriptions <EDiscountType>().ToArray() }; returnValue.Result.DiscountTypes = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke( Connection, Transaction, discountTypesParam, securityTicket).Result; #endregion return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5SR_SRP_1141 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); List <Guid> positionIDs = new List <Guid>(); var positionToEdit = new CL1_LOG_RCP.ORM_LOG_RCP_Receipt_Position(); positionToEdit.Load(Connection, Transaction, Parameter.PositionID); positionToEdit.PriceOnSupplierBill = Convert.ToDecimal(Parameter.PositionValue); positionToEdit.Save(Connection, Transaction); if (Parameter.PositionDiscounts != null) { if (Parameter.SaveNaturalRabatForAllPos) { var headerID = positionToEdit.Receipt_Header_RefID; var headerPositions = ORM_LOG_RCP_Receipt_Position.Query.Search(Connection, Transaction, new ORM_LOG_RCP_Receipt_Position.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, Receipt_Header_RefID = headerID }).ToList(); positionIDs.AddRange(headerPositions.Select(x => x.LOG_RCP_Receipt_PositionID)); } #region Load position discounts var positionDiscountAmounts = ORM_LOG_RCP_Receipt_Position_DiscountAmount.Query.Search(Connection, Transaction, new ORM_LOG_RCP_Receipt_Position_DiscountAmount.Query { LOG_RCP_Receipt_Position_RefID = Parameter.PositionID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).ToArray(); #endregion #region Preload discount types and choose those that are applying to stock reciept positions var discountTypesParam = new P_L2DT_GDTfGPMIL_1546(); discountTypesParam.GlobalPropertyMatchingID_List = new string[] { EnumUtils.GetEnumDescription(EDiscountType.MainDiscount), EnumUtils.GetEnumDescription(EDiscountType.Discount2), EnumUtils.GetEnumDescription(EDiscountType.Discount3), EnumUtils.GetEnumDescription(EDiscountType.NaturalDiscount) }; var discountTypes = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypesParam, securityTicket).Result; #endregion ORM_LOG_RCP_Receipt_Position_DiscountAmount discountAmount = null; foreach (var item in discountTypes) { var paramDiscount = Parameter.PositionDiscounts.SingleOrDefault(x => x.DiscountTypeID == item.ORD_PRC_DiscountTypeID); if (paramDiscount == null) { // if no discount type is in the parameters continue; } discountAmount = positionDiscountAmounts.SingleOrDefault(x => x.ORD_PRC_DiscountType_RefID == item.ORD_PRC_DiscountTypeID); if (discountAmount == null) { // create new position discount amount discountAmount = new ORM_LOG_RCP_Receipt_Position_DiscountAmount { LOG_RCP_Receipt_Position_DiscountAmountID = Guid.NewGuid(), LOG_RCP_Receipt_Position_RefID = Parameter.PositionID, ORD_PRC_DiscountType_RefID = item.ORD_PRC_DiscountTypeID, Tenant_RefID = securityTicket.TenantID }; } discountAmount.PositionDiscountValue = paramDiscount.Amount; discountAmount.Save(Connection, Transaction); } } if (Parameter.SaveNaturalRabatForAllPos) { foreach (var currentPosID in positionIDs) { if (currentPosID != Parameter.PositionID) { var posDiscounts = ORM_LOG_RCP_Receipt_Position_DiscountAmount.Query.Search(Connection, Transaction, new ORM_LOG_RCP_Receipt_Position_DiscountAmount.Query { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, LOG_RCP_Receipt_Position_RefID = currentPosID } ).ToArray(); //Preload discount types and choose those that are applying to stock reciept positions var discountTypesPar = new P_L2DT_GDTfGPMIL_1546(); discountTypesPar.GlobalPropertyMatchingID_List = new string[] { EnumUtils.GetEnumDescription(EDiscountType.NaturalDiscount) }; var discNaturalType = cls_Get_DiscountTypes_for_GlobalPropertyMatchingID_List.Invoke(Connection, Transaction, discountTypesPar, securityTicket).Result; ORM_LOG_RCP_Receipt_Position_DiscountAmount discountNatural = null; foreach (var item in discNaturalType) { var paramDiscount = Parameter.PositionDiscounts.SingleOrDefault(x => x.DiscountTypeID == discNaturalType.First().ORD_PRC_DiscountTypeID); if (paramDiscount == null) { continue; } discountNatural = posDiscounts.SingleOrDefault(x => x.ORD_PRC_DiscountType_RefID == discNaturalType.First().ORD_PRC_DiscountTypeID); if (discountNatural == null) { discountNatural = new ORM_LOG_RCP_Receipt_Position_DiscountAmount { LOG_RCP_Receipt_Position_DiscountAmountID = Guid.NewGuid(), ORD_PRC_DiscountType_RefID = item.ORD_PRC_DiscountTypeID, LOG_RCP_Receipt_Position_RefID = currentPosID, Tenant_RefID = securityTicket.TenantID, Creation_Timestamp = DateTime.Now, IsDeleted = false }; } discountNatural.PositionDiscountValue = paramDiscount.Amount; discountNatural.Save(Connection, Transaction); } } } } //just forwarding the input value returnValue.Result = Parameter.PositionID; return(returnValue); #endregion UserCode }