Example #1
0
		protected static FR_Guid Execute(DbConnection Connection,DbTransaction Transaction,P_L3CO_AO_1648 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
            var confirmedStatus = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction,
            new ORM_ORD_CUO_CustomerOrder_Status.Query
            {
                GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Confirmed),
                Tenant_RefID = securityTicket.TenantID,
                IsDeleted = false
            }).Single().ORD_CUO_CustomerOrder_StatusID;

            var customerOrder = new ORM_ORD_CUO_CustomerOrder_Header();
            customerOrder.Load(Connection, Transaction, Parameter.CustomerOrderHeaderID);
            customerOrder.Current_CustomerOrderStatus_RefID = confirmedStatus;
            customerOrder.IsCustomerOrderFinalized = true;
            customerOrder.WasAutoApprovedUponReceipt = Parameter.IsAutomaticallyApprovedOnReceipt;

            ORM_USR_Account account = new ORM_USR_Account();
            account.Load(Connection, Transaction, securityTicket.AccountID);

            ORM_ORD_CUO_CustomerOrder_StatusHistory newStatusInHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
            newStatusInHistory.CustomerOrder_Header_RefID = customerOrder.ORD_CUO_CustomerOrder_HeaderID;
            newStatusInHistory.StatusHistoryComment = Parameter.Message;
            newStatusInHistory.Tenant_RefID = securityTicket.TenantID;
            newStatusInHistory.CustomerOrder_Status_RefID = confirmedStatus;
            newStatusInHistory.PerformedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID;
            newStatusInHistory.Save(Connection, Transaction);

            returnValue.Result = new FR_Guid(customerOrder.Save(Connection, Transaction), customerOrder.ORD_CUO_CustomerOrder_HeaderID).Result;

            return returnValue;
            #endregion UserCode
		}
        protected static FR_L5CO_RCO_2302_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_RCO_2302[] Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_L5CO_RCO_2302_Array();
            List <L5CO_RCO_2302> rejectedOrders = new List <L5CO_RCO_2302>();
            foreach (var param in Parameter)
            {
                L5CO_RCO_2302 rejectedProcurementOrder = new L5CO_RCO_2302();
                var           orderedStatusID          = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction,
                                                                                                       new ORM_ORD_CUO_CustomerOrder_Status.Query
                {
                    GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Rejected),
                    Tenant_RefID             = securityTicket.TenantID,
                    IsDeleted = false
                }).SingleOrDefault().ORD_CUO_CustomerOrder_StatusID;

                var customerOrderQuery = new ORM_ORD_CUO_CustomerOrder_Header.Query();
                customerOrderQuery.ORD_CUO_CustomerOrder_HeaderID = param.CustomerOrderHeaderID;
                customerOrderQuery.Tenant_RefID = securityTicket.TenantID;
                var foundCustomerOrder = ORM_ORD_CUO_CustomerOrder_Header.Query.Search(Connection, Transaction, customerOrderQuery).SingleOrDefault();

                foundCustomerOrder.Current_CustomerOrderStatus_RefID = orderedStatusID;
                foundCustomerOrder.IsCustomerOrderFinalized          = true;
                foundCustomerOrder.Save(Connection, Transaction);
                ORM_USR_Account account = new ORM_USR_Account();
                account.Load(Connection, Transaction, securityTicket.AccountID);

                ORM_ORD_CUO_CustomerOrder_StatusHistory newStatusInHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
                newStatusInHistory.CustomerOrder_Header_RefID = foundCustomerOrder.ORD_CUO_CustomerOrder_HeaderID;
                newStatusInHistory.StatusHistoryComment       = param.Message;
                newStatusInHistory.Tenant_RefID = securityTicket.TenantID;
                newStatusInHistory.CustomerOrder_Status_RefID            = orderedStatusID;
                newStatusInHistory.PerformedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID;

                //saving new status in history and customer order header
                newStatusInHistory.Save(Connection, Transaction);
                rejectedProcurementOrder.ProcurementOrderITL = foundCustomerOrder.ProcurementOrderITL;
                rejectedProcurementOrder.ProcuringTenatID    = foundCustomerOrder.OrderingCustomer_BusinessParticipant_RefID.ToString();
                rejectedProcurementOrder.Message             = param.Message;
                rejectedOrders.Add(rejectedProcurementOrder);
            }
            returnValue.Result = rejectedOrders.ToArray();
            //Put your code here
            return(returnValue);

            #endregion UserCode
        }
Example #3
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L3CO_RO_1101 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
            var orderedStatusID = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction,
                                                                                new ORM_ORD_CUO_CustomerOrder_Status.Query
            {
                GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Rejected),
                Tenant_RefID             = securityTicket.TenantID,
                IsDeleted = false
            }).SingleOrDefault().ORD_CUO_CustomerOrder_StatusID;

            var customerOrderQuery = new ORM_ORD_CUO_CustomerOrder_Header.Query();
            customerOrderQuery.ORD_CUO_CustomerOrder_HeaderID = Parameter.CustomerOrderHeaderID;
            customerOrderQuery.Tenant_RefID = securityTicket.TenantID;
            var foundCustomerOrder = ORM_ORD_CUO_CustomerOrder_Header.Query.Search(Connection, Transaction, customerOrderQuery).SingleOrDefault();

            foundCustomerOrder.Current_CustomerOrderStatus_RefID = orderedStatusID;
            foundCustomerOrder.IsCustomerOrderFinalized          = true;

            ORM_USR_Account account = new ORM_USR_Account();
            account.Load(Connection, Transaction, securityTicket.AccountID);

            ORM_ORD_CUO_CustomerOrder_StatusHistory newStatusInHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
            newStatusInHistory.CustomerOrder_Header_RefID = foundCustomerOrder.ORD_CUO_CustomerOrder_HeaderID;
            newStatusInHistory.StatusHistoryComment       = Parameter.Message;
            newStatusInHistory.Tenant_RefID = securityTicket.TenantID;
            newStatusInHistory.CustomerOrder_Status_RefID            = orderedStatusID;
            newStatusInHistory.PerformedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID;

            //saving new status in history and customer order header
            newStatusInHistory.Save(Connection, Transaction);
            returnValue.Result = new FR_Guid(foundCustomerOrder.Save(Connection, Transaction), foundCustomerOrder.ORD_CUO_CustomerOrder_HeaderID).Result;

            return(returnValue);

            #endregion UserCode
        }
Example #4
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6TR_SOHaS1434 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();
            //* Array TreatmentID and ArticleID are the sam lenght; Treatment with position i has article with the position i

            var           count         = 0;
            List <Orders> orderList     = new List <Orders>();
            int           ordinalNumber = 0;
            Guid          headerID      = Guid.Empty;

            for (int g = 0; g < Parameter.HEC_Patient_TreatmentID.Length; g++)
            {
                #region Save Order

                var status_query = new ORM_ORD_CUO_CustomerOrder_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_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction, status_query).First();


                // za ispraviti sto pre
                #region
                var prod_param = new P_L6PD_GPaCOSfT_1120();
                prod_param.TreatmentID = Parameter.HEC_Patient_TreatmentID[g];
                var products = cls_Get_Products_and_CustomerOrderStatuses_for_TreatmentID.Invoke(Connection, Transaction, prod_param, securityTicket).Result;


                var notOrdered_Products = products.Where(i => i.CMN_PRO_ProductID == Guid.Empty);
                #endregion

                if (notOrdered_Products.Count() == 0)
                {
                    return(returnValue);
                }

                #region Save Header and Status

                var header_query = new ORM_ORD_CUO_CustomerOrder_Header.Query();
                header_query.IsDeleted    = false;
                header_query.Tenant_RefID = securityTicket.TenantID;
                var headers = ORM_ORD_CUO_CustomerOrder_Header.Query.Search(Connection, Transaction, header_query);



                if (headers != null)
                {
                    count = headers.Count();
                }

                String ordernumber = String.Empty;
                var    orderFound  = orderList.Where(c => c.TreatmentID == Parameter.HEC_Patient_TreatmentID[g]).FirstOrDefault();

                if (orderFound == null)
                {
                    ordernumber = "000000000000" + (count + 1).ToString();
                    ordernumber = ordernumber.Substring(ordernumber.Length - 12);



                    var header = new ORM_ORD_CUO_CustomerOrder_Header();
                    headerID = Guid.NewGuid();
                    header.ORD_CUO_CustomerOrder_HeaderID    = headerID;
                    header.Current_CustomerOrderStatus_RefID = notOrderedstatus.ORD_CUO_CustomerOrder_StatusID;
                    header.CustomerOrder_Number = ordernumber;
                    header.CustomerOrder_Date   = DateTime.Now;
                    header.Creation_Timestamp   = DateTime.Now;
                    header.Tenant_RefID         = securityTicket.TenantID;
                    header.Save(Connection, Transaction);

                    var history = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
                    history.ORD_CUO_CustomerOrder_StatusHistoryID = Guid.NewGuid();
                    history.CustomerOrder_Header_RefID            = header.ORD_CUO_CustomerOrder_HeaderID;
                    history.CustomerOrder_Status_RefID            = notOrderedstatus.ORD_CUO_CustomerOrder_StatusID;
                    history.StatusHistoryComment = "";
                    history.Creation_Timestamp   = DateTime.Now;
                    history.Tenant_RefID         = securityTicket.TenantID;
                    history.Save(Connection, Transaction);


                    Orders ord = new Orders();
                    ord.TreatmentID   = Parameter.HEC_Patient_TreatmentID[g];
                    ord.Ordernumber   = ordernumber;
                    ord.OrdinalNumber = 0;
                    ord.headerID      = headerID;
                    orderList.Add(ord);
                    ordinalNumber = 0;
                }
                else
                {
                    ordernumber   = orderFound.Ordernumber;
                    ordinalNumber = orderFound.OrdinalNumber + 1;
                    headerID      = orderFound.headerID;
                }
                #endregion



                var product = notOrdered_Products.Where(t => t.CMN_PRO_ProductID == Parameter.AtricleID[g]).FirstOrDefault();


                var position = new ORM_ORD_CUO_CustomerOrder_Position();
                position.ORD_CUO_CustomerOrder_PositionID = Guid.NewGuid();
                position.CustomerOrder_Header_RefID       = headerID;
                position.Position_OrdinalNumber           = ordinalNumber;
                position.Position_Quantity                = product.Quantity;
                position.Position_ValuePerUnit            = 1;
                position.Position_ValueTotal              = (decimal)product.Quantity;
                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_CUO_CustomerOrder_PositionID;
                item.Save(Connection, Transaction);



                #endregion
            }

            return(returnValue);

            #endregion UserCode
        }
        protected static FR_L5CO_ACOaCS_2108_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_ACOaCS_2108[] Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_L5CO_ACOaCS_2108_Array();
            List <L5CO_ACOaCS_2108> confirmedProcurementOrders = new List <L5CO_ACOaCS_2108>();
            foreach (var param in Parameter)
            {
                L5CO_ACOaCS_2108 procurementOrderITL = new L5CO_ACOaCS_2108();
                var confirmedStatus = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction,
                                                                                    new ORM_ORD_CUO_CustomerOrder_Status.Query
                {
                    GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Confirmed),
                    Tenant_RefID             = securityTicket.TenantID,
                    IsDeleted = false
                }).Single().ORD_CUO_CustomerOrder_StatusID;

                var customerOrder = new ORM_ORD_CUO_CustomerOrder_Header();
                customerOrder.Load(Connection, Transaction, param.CustomerOrderHeaderID);
                customerOrder.Current_CustomerOrderStatus_RefID = confirmedStatus;
                customerOrder.IsCustomerOrderFinalized          = true;
                customerOrder.Save(Connection, Transaction);

                ORM_USR_Account account = new ORM_USR_Account();
                account.Load(Connection, Transaction, securityTicket.AccountID);

                ORM_ORD_CUO_CustomerOrder_StatusHistory newStatusInHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
                newStatusInHistory.CustomerOrder_Header_RefID = customerOrder.ORD_CUO_CustomerOrder_HeaderID;
                newStatusInHistory.StatusHistoryComment       = param.Message;
                newStatusInHistory.Tenant_RefID = securityTicket.TenantID;
                newStatusInHistory.CustomerOrder_Status_RefID            = confirmedStatus;
                newStatusInHistory.PerformedBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID;
                newStatusInHistory.Save(Connection, Transaction);


                procurementOrderITL.ProcurementOrderITL = customerOrder.ProcurementOrderITL;
                procurementOrderITL.ProcuringTenatID    = customerOrder.OrderingCustomer_BusinessParticipant_RefID.ToString();



                ORM_CMN_NumberRange_UsageArea numberRangeUsageArea = ORM_CMN_NumberRange_UsageArea.Query.Search(Connection, Transaction, new ORM_CMN_NumberRange_UsageArea.Query()
                {
                    IsDeleted              = false,
                    Tenant_RefID           = securityTicket.TenantID,
                    GlobalStaticMatchingID = NumberRangeGlobalPropertyMatchingID
                }).FirstOrDefault();


                if (numberRangeUsageArea == null)
                {
                    throw new Exception(String.Format("Number range usage area with GPMID = {0} was not found.", NumberRangeGlobalPropertyMatchingID));
                }

                ORM_CMN_NumberRange numberRange = ORM_CMN_NumberRange.Query.Search(Connection, Transaction, new ORM_CMN_NumberRange.Query()
                {
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID,
                    NumberRange_UsageArea_RefID = numberRangeUsageArea.CMN_NumberRange_UsageAreaID
                }).FirstOrDefault();

                if (numberRange == null)
                {
                    throw new Exception(String.Format("Number range for area with GPMID = {0} was not found.", NumberRangeGlobalPropertyMatchingID));
                }

                numberRange.Value_Current++;
                numberRange.Save(Connection, Transaction);
                string shipmentNumber = numberRange.FixedPrefix + numberRange.Value_Current.ToString().PadLeft(numberRange.Formatting_NumberLength, numberRange.Formatting_LeadingFillCharacter[0]);

                ORM_LOG_SHP_Shipment_Header shipmentHeader = new ORM_LOG_SHP_Shipment_Header();
                shipmentHeader.LOG_SHP_Shipment_HeaderID          = Guid.NewGuid();
                shipmentHeader.RecipientBusinessParticipant_RefID = customerOrder.OrderingCustomer_BusinessParticipant_RefID;
                shipmentHeader.ShipmentHeaderITL              = shipmentHeader.LOG_SHP_Shipment_HeaderID.ToString();
                shipmentHeader.ShipmentHeader_Number          = shipmentNumber;
                shipmentHeader.Shippipng_AddressUCD_RefID     = customerOrder.ShippingAddressUCD_RefID;
                shipmentHeader.ShipmentPriority               = 0;
                shipmentHeader.ShipmentHeader_ValueWithoutTax = customerOrder.TotalValue_BeforeTax;
                shipmentHeader.ShipmentHeader_Currency_RefID  = customerOrder.CustomerOrder_Currency_RefID;
                shipmentHeader.Tenant_RefID = securityTicket.TenantID;
                shipmentHeader.IsDeleted    = false;
                shipmentHeader.Save(Connection, Transaction);

                var customerOrderPositions = ORM_ORD_CUO_CustomerOrder_Position.Query.Search(Connection, Transaction, new ORM_ORD_CUO_CustomerOrder_Position.Query()
                {
                    CustomerOrder_Header_RefID = customerOrder.ORD_CUO_CustomerOrder_HeaderID,
                    IsDeleted    = false,
                    Tenant_RefID = securityTicket.TenantID
                });

                if (customerOrderPositions != null)
                {
                    foreach (var customerOrderPosition in customerOrderPositions)
                    {
                        ORM_LOG_SHP_Shipment_Position shipmentPosition = new ORM_LOG_SHP_Shipment_Position();
                        shipmentPosition.LOG_SHP_Shipment_PositionID   = Guid.NewGuid();
                        shipmentPosition.ShipmentPositionITL           = shipmentPosition.LOG_SHP_Shipment_PositionID.ToString();
                        shipmentPosition.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID;
                        shipmentPosition.CMN_PRO_Product_RefID         = customerOrderPosition.CMN_PRO_Product_RefID;
                        shipmentPosition.CMN_PRO_ProductVariant_RefID  = customerOrderPosition.CMN_PRO_Product_Variant_RefID;
                        shipmentPosition.CMN_PRO_ProductRelease_RefID  = customerOrderPosition.CMN_PRO_Product_Release_RefID;
                        shipmentPosition.QuantityToShip = customerOrderPosition.Position_Quantity;
                        shipmentPosition.ShipmentPosition_PricePerUnitValueWithoutTax = customerOrderPosition.Position_ValuePerUnit;
                        shipmentPosition.ShipmentPosition_ValueWithoutTax             = customerOrderPosition.Position_ValueTotal;
                        shipmentPosition.IsCancelled  = false;
                        shipmentPosition.Tenant_RefID = securityTicket.TenantID;
                        shipmentPosition.IsDeleted    = false;
                        shipmentPosition.Save(Connection, Transaction);
                        ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition customerOrderPositionToShipmentPosition = new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition();
                        customerOrderPositionToShipmentPosition.AssignmentID = Guid.NewGuid();
                        customerOrderPositionToShipmentPosition.LOG_SHP_Shipment_Position_RefID      = shipmentPosition.LOG_SHP_Shipment_PositionID;
                        customerOrderPositionToShipmentPosition.ORD_CUO_CustomerOrder_Position_RefID = customerOrderPosition.ORD_CUO_CustomerOrder_PositionID;
                        customerOrderPositionToShipmentPosition.Tenant_RefID = securityTicket.TenantID;
                        customerOrderPositionToShipmentPosition.IsDeleted    = false;
                        customerOrderPositionToShipmentPosition.Save(Connection, Transaction);
                    }
                }


                //TO DO: UNCOMMENT AFTER JANKO ADD STATUSES
                //var shipmentStatusHistoryStatusID = ORM_LOG_SHP_Shipment_Status.Query.Search(Connection, Transaction, new ORM_LOG_SHP_Shipment_Status.Query()
                //{
                //    GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EShipmentStatus.Created),
                //    Tenant_RefID = securityTicket.TenantID,
                //    IsDeleted = false
                //}).Single().LOG_SHP_Shipment_StatusID;

                //ORM_LOG_SHP_Shipment_StatusHistory shipmentStatusHistory = new ORM_LOG_SHP_Shipment_StatusHistory();
                //shipmentStatusHistory.LOG_SHP_Shipment_StatusHistoryID = Guid.NewGuid();
                //shipmentStatusHistory.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID;
                //shipmentStatusHistory.LOG_SHP_Shipment_Status_RefID = shipmentStatusHistoryStatusID;
                //shipmentStatusHistory.PerformedBy_BusinessParticipant_RefID = securityTicket.TenantID;
                //shipmentStatusHistory.Tenant_RefID = securityTicket.TenantID;
                //shipmentStatusHistory.IsDeleted = false;
                //shipmentStatusHistory.Save(Connection, Transaction);

                ORM_LOG_SHP_ShipmentHeader_2_CustomerOrderHeader shipmentToCustomerOrderHeader = new ORM_LOG_SHP_ShipmentHeader_2_CustomerOrderHeader();
                shipmentToCustomerOrderHeader.AssignmentID = Guid.NewGuid();
                shipmentToCustomerOrderHeader.LOG_SHP_Shipment_Header_RefID      = shipmentHeader.LOG_SHP_Shipment_HeaderID;
                shipmentToCustomerOrderHeader.ORD_CUO_CustomerOrder_Header_RefID = customerOrder.ORD_CUO_CustomerOrder_HeaderID;
                shipmentToCustomerOrderHeader.Tenant_RefID = securityTicket.TenantID;
                shipmentToCustomerOrderHeader.IsDeleted    = false;
                shipmentToCustomerOrderHeader.Save(Connection, Transaction);


                confirmedProcurementOrders.Add(procurementOrderITL);
            }
            returnValue.Result = confirmedProcurementOrders.ToArray();
            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6TR_SPTaO_1014 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            #region Save Treatment

            var param = new P_L6TR_SPT_1533();
            param.Aticles   = Parameter.Aticles;
            param.Diagnosis = Parameter.Diagnosis;
            param.Treatment = Parameter.Treatment;
            param.Followups = Parameter.Followups;
            var TreatmentID = cls_Save_Patient_Treatment.Invoke(Connection, Transaction, param, securityTicket).Result;

            returnValue.Result = TreatmentID;
            #endregion

            #region Save Order

            var status_query = new ORM_ORD_CUO_CustomerOrder_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_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction, status_query).First();

            var prod_param = new P_L6PD_GPaCOSfT_1120();
            prod_param.TreatmentID = TreatmentID;
            var products = cls_Get_Products_and_CustomerOrderStatuses_for_TreatmentID.Invoke(Connection, Transaction, prod_param, securityTicket).Result;

            var notOrdered_Products = products.Where(i => i.ORD_CUO_CustomerOrder_PositionID == Guid.Empty);

            if (notOrdered_Products.Count() == 0)
            {
                return(returnValue);
            }

            #region Save Header and Status

            var header_query = new ORM_ORD_CUO_CustomerOrder_Header.Query();
            header_query.IsDeleted    = false;
            header_query.Tenant_RefID = securityTicket.TenantID;
            var headers = ORM_ORD_CUO_CustomerOrder_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_CUO_CustomerOrder_Header();
            header.ORD_CUO_CustomerOrder_HeaderID    = Guid.NewGuid();
            header.Current_CustomerOrderStatus_RefID = notOrderedstatus.ORD_CUO_CustomerOrder_StatusID;
            header.CustomerOrder_Number = ordernumber;
            header.CustomerOrder_Date   = DateTime.Now;
            header.Creation_Timestamp   = DateTime.Now;
            header.Tenant_RefID         = securityTicket.TenantID;
            header.Save(Connection, Transaction);

            var history = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
            history.ORD_CUO_CustomerOrder_StatusHistoryID = Guid.NewGuid();
            history.CustomerOrder_Header_RefID            = header.ORD_CUO_CustomerOrder_HeaderID;
            history.CustomerOrder_Status_RefID            = notOrderedstatus.ORD_CUO_CustomerOrder_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_CUO_CustomerOrder_Position();
                position.ORD_CUO_CustomerOrder_PositionID = Guid.NewGuid();
                position.CustomerOrder_Header_RefID       = header.ORD_CUO_CustomerOrder_HeaderID;
                position.Position_OrdinalNumber           = cnt;
                position.Position_Quantity                = product.Quantity;
                position.Position_ValuePerUnit            = 1;
                position.Position_ValueTotal              = (decimal)product.Quantity;
                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_CUO_CustomerOrder_PositionID;
                item.Save(Connection, Transaction);
            }

            #endregion

            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_CCO_1950 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Bool();

            //Find status
            var status = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction, new ORM_ORD_CUO_CustomerOrder_Status.Query()
            {
                Tenant_RefID             = securityTicket.TenantID,
                GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Ordered),
                IsDeleted = false
            }).SingleOrDefault();

            //Find currency
            var currency = ORM_CMN_Currency.Query.Search(Connection, Transaction, new ORM_CMN_Currency.Query()
            {
                Tenant_RefID = securityTicket.TenantID,
                ISO4127      = Parameter.ProcurementOrderHeader.CurrencyISOCode.Trim()
            });

            //Put your code here
            ORM_ORD_CUO_CustomerOrder_Header customerOrderHeader = new ORM_ORD_CUO_CustomerOrder_Header();
            customerOrderHeader.ORD_CUO_CustomerOrder_HeaderID             = Guid.NewGuid();
            customerOrderHeader.ProcurementOrderITL                        = Parameter.ProcurementOrderHeader.ProcurementOrderID.ToString();
            customerOrderHeader.CustomerOrder_Number                       = Parameter.ProcurementOrderHeader.OrderNumber;
            customerOrderHeader.CustomerOrder_Date                         = DateTime.Now;
            customerOrderHeader.OrderingCustomer_BusinessParticipant_RefID = Parameter.ProcurementOrderHeader.OrderingCustomerBusinessParticipantID;
            customerOrderHeader.CreatedBy_BusinessParticipant_RefID        = Parameter.ProcurementOrderHeader.CreatedByBusinessParticipantID;
            customerOrderHeader.TotalValue_BeforeTax                       = Parameter.ProcurementOrderHeader.TotalValueBeforeTax;
            customerOrderHeader.Current_CustomerOrderStatus_RefID          = status.ORD_CUO_CustomerOrder_StatusID;
            customerOrderHeader.Tenant_RefID = securityTicket.TenantID;
            //This should be changed when we figure out what to do with currencies that don't exist in s-adm database
            customerOrderHeader.CustomerOrder_Currency_RefID = (currency != null && currency.Count == 1) ? currency.First().CMN_CurrencyID : Guid.Empty;
            customerOrderHeader.Save(Connection, Transaction);

            ORM_ORD_CUO_CustomerOrder_StatusHistory statusHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
            statusHistory.ORD_CUO_CustomerOrder_StatusHistoryID = Guid.NewGuid();
            statusHistory.CustomerOrder_Status_RefID            = status.ORD_CUO_CustomerOrder_StatusID;
            statusHistory.CustomerOrder_Header_RefID            = customerOrderHeader.ORD_CUO_CustomerOrder_HeaderID;
            statusHistory.Tenant_RefID = securityTicket.TenantID;
            statusHistory.Save(Connection, Transaction);

            //Get products and product variants for ITL Lists
            var productIDList            = Parameter.ProcurementOrderHeader.Positions.Select(x => x.ProductRefID.ToString()).ToArray();
            L3PR_GPfPITL_1416[] products = null;
            if (productIDList != null && productIDList.Count() > 0)
            {
                products = cls_Get_Producs_for_ProductITLList.Invoke(Connection, Transaction, new P_L3PR_GPfPITL_1416()
                {
                    ProductITLList = productIDList
                }, securityTicket).Result;
            }

            var variantIDList             = Parameter.ProcurementOrderHeader.Positions.Select(x => x.ProductVariantRefID.ToString()).ToArray();
            L3PV_GPVfVITL_1421[] variants = null;
            if (variantIDList != null && variantIDList.Count() > 0)
            {
                variants = cls_Get_ProductVariants_for_VariantITLList.Invoke(Connection, new P_L3PV_GPVfVITL_1421()
                {
                    VariantITLList = variantIDList
                }, securityTicket).Result;
            }

            foreach (var position in Parameter.ProcurementOrderHeader.Positions)
            {
                var newPosition = new ORM_ORD_CUO_CustomerOrder_Position();
                newPosition.ORD_CUO_CustomerOrder_PositionID    = Guid.NewGuid();
                newPosition.CustomerProcurementOrderPositionITL = position.ProcurementOrderPositionID.ToString();
                newPosition.CustomerOrder_Header_RefID          = customerOrderHeader.ORD_CUO_CustomerOrder_HeaderID;
                newPosition.Position_OrdinalNumber        = position.OridinalNumber;
                newPosition.Position_Quantity             = position.Quantity;
                newPosition.Position_ValuePerUnit         = position.ValuePerunit;
                newPosition.Position_ValueTotal           = position.ValueTotal;
                newPosition.Position_Comment              = position.Comment;
                newPosition.Position_Description          = position.Description;
                newPosition.IsProductReplacementAllowed   = position.IsProductReplacementAllowed;
                newPosition.CMN_PRO_Product_RefID         = products.Where(x => x.ProductITL == position.ProductRefID.ToString()).First().CMN_PRO_ProductID;
                newPosition.CMN_PRO_Product_Variant_RefID = variants.Where(x => x.ProductVariantITL == position.ProductVariantRefID.ToString()).First().CMN_PRO_Product_VariantID;
                newPosition.Tenant_RefID = securityTicket.TenantID;
                newPosition.Save(Connection, Transaction);

                foreach (var custom in position.PositionCustomizations)
                {
                    ORM_ORD_CUO_CustomerOrder_Position_Customization customization = new ORM_ORD_CUO_CustomerOrder_Position_Customization();
                    customization.ORD_CUO_CustomerOrder_Position_CustomizationID = Guid.NewGuid();
                    customization.Tenant_RefID = securityTicket.TenantID;
                    customization.CustomerOrder_Position_RefID = newPosition.ORD_CUO_CustomerOrder_PositionID;
                    customization.Customization_Name           = custom.CustomizationName;
                    customization.CustomizationVariant_Name    = custom.CustomizationVariantName;
                    customization.ValuePerUnit = custom.ValuePerUnit;
                    customization.ValueTotal   = custom.ValueTotal;
                    customization.Save(Connection, Transaction);
                }
            }

            return(returnValue);

            #endregion UserCode
        }
Example #8
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L6CO_SNoPCHS_1833 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            foreach (var headerId in Parameter.CustomerOrder_HeaderID_List)
            {
                #region Save Order

                var status_query = new ORM_ORD_CUO_CustomerOrder_Status.Query();
                status_query.IsDeleted    = false;
                status_query.Tenant_RefID = securityTicket.TenantID;
                var allStatuses = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction, status_query).OrderBy(i => i.Status_Code);

                #region Save Header and Status

                var header = new ORM_ORD_CUO_CustomerOrder_Header();
                header.Load(Connection, Transaction, headerId);

                var    currentStatusCode     = allStatuses.Where(i => i.ORD_CUO_CustomerOrder_StatusID == header.Current_CustomerOrderStatus_RefID).First().Status_Code;
                string currentStatusGlobalID = allStatuses.Where(i => i.ORD_CUO_CustomerOrder_StatusID == header.Current_CustomerOrderStatus_RefID).First().GlobalPropertyMatchingID;

                ORM_ORD_CUO_CustomerOrder_Status nextStatus = null;
                // List<ORM_ORD_CUO_CustomerOrder_Status> nextStatuses = new List<ORM_ORD_CUO_CustomerOrder_Status>();

                switch (currentStatusGlobalID.ToUpper())
                {
                case "4621085A-E747-4645-AA61-FA4CE1A8E646":
                    nextStatus = allStatuses.Where(i => i.GlobalPropertyMatchingID == STLD_ORD_CUO_CustomerOrder_Status.OrderConfirmed.ToString()).First();
                    break;

                case "1712AF34-6E74-4A3D-9E97-5A90A88692B6":
                    if (Parameter.MoveToNext)
                    {
                        nextStatus = allStatuses.Where(i => i.GlobalPropertyMatchingID == STLD_ORD_CUO_CustomerOrder_Status.Shipped.ToString()).First();
                    }
                    else
                    {
                        nextStatus = allStatuses.Where(i => i.GlobalPropertyMatchingID == STLD_ORD_CUO_CustomerOrder_Status.Ordered.ToString()).First();
                    }
                    break;

                case "D2FDEBAE-865D-4DB2-B15F-7396C6CCBD8E":
                    if (Parameter.MoveToNext)
                    {
                        nextStatus = allStatuses.Where(i => i.GlobalPropertyMatchingID == STLD_ORD_CUO_CustomerOrder_Status.Billed.ToString()).First();
                    }
                    else
                    {
                        nextStatus = allStatuses.Where(i => i.GlobalPropertyMatchingID == STLD_ORD_CUO_CustomerOrder_Status.OrderConfirmed.ToString()).First();
                    }
                    break;

                case "ABF393AC-96CA-4154-B21E-57B20119C291":

                    nextStatus = allStatuses.Where(i => i.GlobalPropertyMatchingID == STLD_ORD_CUO_CustomerOrder_Status.Shipped.ToString()).First();

                    break;

                default:
                    Console.WriteLine("Default case");
                    break;
                }

                header.Current_CustomerOrderStatus_RefID = nextStatus.ORD_CUO_CustomerOrder_StatusID;
                header.Save(Connection, Transaction);

                var history = new ORM_ORD_CUO_CustomerOrder_StatusHistory();
                history.ORD_CUO_CustomerOrder_StatusHistoryID = Guid.NewGuid();
                history.CustomerOrder_Header_RefID            = header.ORD_CUO_CustomerOrder_HeaderID;
                history.CustomerOrder_Status_RefID            = nextStatus.ORD_CUO_CustomerOrder_StatusID;
                history.StatusHistoryComment = "";
                history.Creation_Timestamp   = DateTime.Now;
                history.Tenant_RefID         = securityTicket.TenantID;
                history.Save(Connection, Transaction);

                #endregion



                #endregion
            }

            return(returnValue);

            #endregion UserCode
        }
        protected static FR_Guids Execute(DbConnection Connection, DbTransaction Transaction, P_L5CO_CCOaMR_1102 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guids();
            var result      = new List <Guid>();

            #region Current_CustomerOrderStatus

            var orderedStatusID = ORM_ORD_CUO_CustomerOrder_Status.Query.Search(Connection, Transaction,
                                                                                new ORM_ORD_CUO_CustomerOrder_Status.Query
            {
                GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(ECustomerOrderStatus.Ordered),
                Tenant_RefID             = securityTicket.TenantID,
                IsDeleted = false
            }).SingleOrDefault().ORD_CUO_CustomerOrder_StatusID;

            #endregion

            #region Get All OrganizationalUnits

            var organizationalUnits = ORM_CMN_BPT_CTM_OrganizationalUnit.Query.Search(Connection, Transaction, new ORM_CMN_BPT_CTM_OrganizationalUnit.Query()
            {
                Tenant_RefID = securityTicket.TenantID,
                IsDeleted    = false
            });
            #endregion

            foreach (var procurement in Parameter.Procurements)
            {
                #region CustomerOrder_Number

                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;

                #endregion

                var cuoHeader = new ORM_ORD_CUO_CustomerOrder_Header();
                cuoHeader.ORD_CUO_CustomerOrder_HeaderID    = Guid.NewGuid();
                cuoHeader.ProcurementOrderITL               = procurement.ProcurementHeaderInfo.ProcurementOrderInfo.ITL;
                cuoHeader.Current_CustomerOrderStatus_RefID = orderedStatusID;
                cuoHeader.CustomerOrder_Number              = customerOrderNumber;
                cuoHeader.CustomerOrder_Date = DateTime.Now;
                cuoHeader.OrderingCustomer_BusinessParticipant_RefID = Parameter.CustomerBusinessParticipantID;
                cuoHeader.CreatedBy_BusinessParticipant_RefID        = Parameter.CustomerBusinessParticipantID;
                cuoHeader.CanceledBy_BusinessParticipant_RefID       = Guid.Empty;
                cuoHeader.CustomerOrder_Currency_RefID = Guid.Empty;
                cuoHeader.TotalValue_BeforeTax         = 0;
                cuoHeader.IsCustomerOrderFinalized     = false;
                cuoHeader.DeliveryDeadline             = new DateTime();
                cuoHeader.IsPartialShippingAllowed     = true;
                cuoHeader.Tenant_RefID       = securityTicket.TenantID;
                cuoHeader.Creation_Timestamp = DateTime.Now;
                cuoHeader.Save(Connection, Transaction);

                #region CustomerOrderStatusHistory

                var statusHistory = new ORM_ORD_CUO_CustomerOrder_StatusHistory()
                {
                    ORD_CUO_CustomerOrder_StatusHistoryID = Guid.NewGuid(),
                    CustomerOrder_Header_RefID            = cuoHeader.ORD_CUO_CustomerOrder_HeaderID,
                    CustomerOrder_Status_RefID            = orderedStatusID,
                    StatusHistoryComment = "",
                    PerformedBy_BusinessParticipant_RefID = Parameter.CustomerBusinessParticipantID,
                    Creation_Timestamp = DateTime.Now,
                    Tenant_RefID       = securityTicket.TenantID
                };

                statusHistory.Save(Connection, Transaction);

                #endregion

                var     count   = 1;
                decimal ammount = 0;

                foreach (var position in procurement.ProcurementPositions)
                {
                    #region FindArticle

                    var product = ORM_CMN_PRO_Product.Query.Search(Connection, Transaction,
                                                                   new ORM_CMN_PRO_Product.Query()
                    {
                        ProductITL   = position.Product.ProductITL,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID,
                        IsProductAvailableForOrdering = true
                    }).Single();

                    var packageInfo = ORM_CMN_PRO_PAC_PackageInfo.Query.Search(Connection, Transaction,
                                                                               new ORM_CMN_PRO_PAC_PackageInfo.Query()
                    {
                        CMN_PRO_PAC_PackageInfoID = product.PackageInfo_RefID,
                        IsDeleted    = false,
                        Tenant_RefID = securityTicket.TenantID
                    }).SingleOrDefault();

                    #endregion

                    #region Find Price

                    decimal priceAmount = 0;

                    if (position.Product.SourceCatalogITL == EnumUtils.GetEnumDescription(EPublicCatalogs.ABDA))
                    {
                        var abdaCatalogSubscription = ORM_CMN_PRO_SubscribedCatalog.Query.Search(Connection, Transaction,
                                                                                                 new ORM_CMN_PRO_SubscribedCatalog.Query()
                        {
                            CatalogCodeITL = EnumUtils.GetEnumDescription(EPublicCatalogs.ABDA),
                            Tenant_RefID   = securityTicket.TenantID,
                            IsDeleted      = false
                        }
                                                                                                 ).SingleOrDefault();

                        var price = ORM_CMN_SLS_Price.Query.Search(Connection, Transaction, new ORM_CMN_SLS_Price.Query()
                        {
                            CMN_PRO_Product_RefID  = product.CMN_PRO_ProductID,
                            PricelistRelease_RefID = abdaCatalogSubscription.SubscribedCatalog_PricelistRelease_RefID,
                            IsDeleted = false
                        }).Single();

                        priceAmount = price.PriceAmount;
                    }
                    else
                    {
                        var catalog = ORM_CMN_PRO_Catalog.Query.Search(Connection, Transaction,
                                                                       new ORM_CMN_PRO_Catalog.Query()
                        {
                            CatalogCodeITL = position.Product.SourceCatalogITL,
                            IsDeleted      = false,
                            Tenant_RefID   = securityTicket.TenantID
                        }).Single();

                        var lastPublishedRevision = ORM_CMN_PRO_Catalog_Revision.Query.Search(Connection, Transaction,
                                                                                              new ORM_CMN_PRO_Catalog_Revision.Query()
                        {
                            CMN_PRO_Catalog_RefID = catalog.CMN_PRO_CatalogID,
                            IsDeleted             = false,
                            Tenant_RefID          = securityTicket.TenantID,
                        }).Where(j => j.PublishedOn_Date != new DateTime()).OrderBy(i => i.RevisionNumber).Last();

                        var price = ORM_CMN_SLS_Price.Query.Search(Connection, Transaction,
                                                                   new ORM_CMN_SLS_Price.Query()
                        {
                            CMN_PRO_Product_RefID  = product.CMN_PRO_ProductID,
                            PricelistRelease_RefID = lastPublishedRevision.Default_PricelistRelease_RefID,
                            CMN_Currency_RefID     = catalog.Catalog_Currency_RefID,
                            IsDeleted    = false,
                            Tenant_RefID = securityTicket.TenantID
                        }).Single();

                        priceAmount = price.PriceAmount;
                    }

                    #endregion

                    var cuoPosition = new ORM_ORD_CUO_CustomerOrder_Position();
                    cuoPosition.ORD_CUO_CustomerOrder_PositionID = Guid.NewGuid();
                    cuoPosition.CustomerOrder_Header_RefID       = cuoHeader.ORD_CUO_CustomerOrder_HeaderID;
                    cuoPosition.Position_OrdinalNumber           = count++;
                    cuoPosition.Position_Quantity                = position.TotalOrderQuantity;
                    cuoPosition.Position_ValuePerUnit            = priceAmount;
                    cuoPosition.Position_ValueTotal              = priceAmount * (decimal)position.TotalOrderQuantity;
                    cuoPosition.Position_Comment                 = String.Empty;
                    cuoPosition.Position_Unit_RefID              = packageInfo.PackageContent_MeasuredInUnit_RefID;
                    cuoPosition.Position_RequestedDateOfDelivery = new DateTime();
                    cuoPosition.CMN_PRO_Product_RefID            = product.CMN_PRO_ProductID;
                    cuoPosition.CMN_PRO_Product_Release_RefID    = Guid.Empty;
                    cuoPosition.CMN_PRO_Product_Variant_RefID    = Guid.Empty;
                    cuoPosition.IsProductReplacementAllowed      = position.Product.IsProductReplacementAllowed;

                    cuoPosition.Tenant_RefID       = securityTicket.TenantID;
                    cuoPosition.Creation_Timestamp = DateTime.Now;
                    cuoPosition.Save(Connection, Transaction);

                    #region Product 2 OrganizationalUnit

                    foreach (var item in position.TargetOrgUnitInfo)
                    {
                        var orgUnit = organizationalUnits.Where(i => i.CustomerTenant_OfficeITL == item.OfficeITL).Single();

                        var assignement = new ORM_ORD_CUO_Position_CustomerOrganizationalUnitDistribution()
                        {
                            ORD_CUO_Position_CustomerOrganizationalUnitDistributionID = Guid.NewGuid(),
                            Quantity = item.SubQuantity,
                            CMN_BPT_CTM_OrganizationalUnit_RefID = orgUnit.CMN_BPT_CTM_OrganizationalUnitID,
                            ORD_CUO_CustomerOrder_Position_RefID = cuoPosition.ORD_CUO_CustomerOrder_PositionID,
                            Creation_Timestamp = DateTime.Now,
                            Tenant_RefID       = securityTicket.TenantID
                        };

                        assignement.Save(Connection, Transaction);
                    }

                    #endregion

                    ammount += cuoPosition.Position_ValueTotal;
                }

                #region Create comments

                if (procurement.ProcurementComments != null)
                {
                    foreach (var item in procurement.ProcurementComments)
                    {
                        var orgUnit = organizationalUnits.Where(i => i.CustomerTenant_OfficeITL == item.OfficeITL).Single();

                        var assignement = new ORM_ORD_CUO_CustomerOrder_Note()
                        {
                            ORD_CUO_CustomerOrder_NoteID         = Guid.NewGuid(),
                            CustomerOrder_Header_RefID           = cuoHeader.ORD_CUO_CustomerOrder_HeaderID,
                            CustomerOrder_Position_RefID         = Guid.Empty,
                            CMN_BPT_CTM_OrganizationalUnit_RefID = orgUnit.CMN_BPT_CTM_OrganizationalUnitID,
                            Title               = item.Title,
                            Comment             = item.Content,
                            NotePublishDate     = item.PublilshDate,
                            SequenceOrderNumber = item.SequenceNumber,
                            Creation_Timestamp  = DateTime.Now,
                            Tenant_RefID        = securityTicket.TenantID
                        };

                        assignement.Save(Connection, Transaction);
                    }
                }

                #endregion

                cuoHeader.TotalValue_BeforeTax = ammount;
                cuoHeader.Save(Connection, Transaction);

                result.Add(cuoHeader.ORD_CUO_CustomerOrder_HeaderID);
            }

            returnValue.Result = result.ToArray();
            return(returnValue);

            #endregion UserCode
        }