protected static FR_L5SO_ASPtH_1405 Execute(DbConnection Connection, DbTransaction Transaction, P_L5SO_ASPtH_1405 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_L5SO_ASPtH_1405(); var savedShipmentPositionID = cls_Save_Shipment_Position.Invoke(Connection, Transaction, Parameter.Position, securityTicket).Result; #region Edit shipment header and position total values var shipmentPosition = CL1_LOG_SHP.ORM_LOG_SHP_Shipment_Position.Query.Search(Connection, Transaction, new ORM_LOG_SHP_Shipment_Position.Query { LOG_SHP_Shipment_PositionID = savedShipmentPositionID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }).Single(); shipmentPosition.ShipmentPosition_ValueWithoutTax = Parameter.Position.ShipmentPosition_PricePerUnitValueWithoutTax * Convert.ToDecimal(Parameter.Position.QuantityToShip); shipmentPosition.ShipmentPosition_PricePerUnitValueWithoutTax = Parameter.Position.ShipmentPosition_PricePerUnitValueWithoutTax; shipmentPosition.Save(Connection, Transaction); cls_Update_Current_TotalValue_on_ShipmentHeader_from_Positions.Invoke(Connection, Transaction, new P_L5SO_UCTVoSHfP_1549 { ShipmentHeaderID = Parameter.ShipmentHeaderID }, securityTicket); #endregion var randomShipmentPositionID = ORM_LOG_SHP_Shipment_Position.Query.Search(Connection, Transaction, new ORM_LOG_SHP_Shipment_Position.Query { LOG_SHP_Shipment_Header_RefID = Parameter.ShipmentHeaderID }).Select(i => i.LOG_SHP_Shipment_PositionID).Where(i => i != savedShipmentPositionID).First(); var orgUnitID = ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query.Search(Connection, Transaction, new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query() { LOG_SHP_Shipment_Position_RefID = randomShipmentPositionID }).Select(i => i.CMN_BPT_CTM_OrganizationalUnit_RefID).FirstOrDefault(); //need this just for organizationalunits var customerPosition2ShipmentPosition = new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition() { AssignmentID = Guid.NewGuid(), ORD_CUO_CustomerOrder_Position_RefID = Guid.Empty, LOG_SHP_Shipment_Position_RefID = savedShipmentPositionID, Creation_Timestamp = DateTime.Now, Tenant_RefID = securityTicket.TenantID, CMN_BPT_CTM_OrganizationalUnit_RefID = orgUnitID }; customerPosition2ShipmentPosition.Save(Connection, Transaction); returnValue.Result = new L5SO_ASPtH_1405(); returnValue.Result.AddedPosition = savedShipmentPositionID; return(returnValue); #endregion UserCode }
protected static FR_L6SO_GPDfPC_1049 Execute(DbConnection Connection, DbTransaction Transaction, P_L6SO_GPDfPC_1049 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6SO_GPDfPC_1049(); //Put your code here returnValue.Result = new L6SO_GPDfPC_1049(); returnValue.Result.BasicInfo = new L5SO_GSHfH_1040(); //positions returnValue.Result.Positions = cls_Get_AllShippingPositions_for_PickingControlFlags_and_ShippingHeaderID. Invoke(Connection, Transaction, new P_L6SO_GASPfPCFaSH_1202 { ShippmentHeaderID = Parameter.ShipmentHeaderID }, securityTicket).Result; //basic info returnValue.Result.BasicInfo = cls_Get_ShippingHeader_for_HeaderID. Invoke(Connection, Transaction, new P_L5SO_GSHfH_1040 { HeaderID = Parameter.ShipmentHeaderID }, securityTicket).Result; //organizationunitid ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition assignment = new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition(); ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query assignmentQuery = new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query(); assignmentQuery.LOG_SHP_Shipment_Position_RefID = returnValue.Result.Positions.First().LOG_SHP_Shipment_PositionID; assignmentQuery.Tenant_RefID = securityTicket.TenantID; assignmentQuery.IsDeleted = false; assignment = ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query.Search(Connection, Transaction, assignmentQuery).Single(); returnValue.Result.OrganizationUnitID = assignment.CMN_BPT_CTM_OrganizationalUnit_RefID; 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_L5PP_GSHwCOfPfT_1348_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5PP_GSHwCOfPfT_1348 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5PP_GSHwCOfPfT_1348_Array(); //Put your code here List <L5PP_GSHwCOfPfT_1348> retVal = new List <L5PP_GSHwCOfPfT_1348>(); returnValue.Result = retVal.ToArray(); #region Retrieve Headers // get all headers P_L2SH_GSHfT_1527 shipmentHeadersParam = new P_L2SH_GSHfT_1527(); shipmentHeadersParam.IsShipped = false; shipmentHeadersParam.ShipmentNumber = Parameter.ShipmentNumber; shipmentHeadersParam.ShipmentCreationDateFrom = Parameter.ShipmentCreationDateFrom; shipmentHeadersParam.ShipmentCreationDateTo = Parameter.ShipmentCreationDateTo; var headersResult = cls_Get_ShippmentHeaders_for_TenantID.Invoke(Connection, Transaction, shipmentHeadersParam, securityTicket).Result; if (headersResult == null) { return(returnValue); } // filter headers List <L2SH_GSHfT_1527> headers = new List <L2SH_GSHfT_1527>(); List <L2SH_GSHfT_1527> tempHeaders = new List <L2SH_GSHfT_1527>(); if (Parameter.HasPositionsPartiallyToPick) { // filtered by passed parameter option tempHeaders = headersResult.Where(i => i.IsPartiallyReadyForPicking && !i.IsManuallyCleared_ForPicking).ToList(); // add not inserted shipment headers headers.AddRange(tempHeaders.Where(i => !headers.Any(j => j.LOG_SHP_Shipment_HeaderID == i.LOG_SHP_Shipment_HeaderID)).ToList()); } if (Parameter.IsReadyForPicking) { // filtered by passed parameter option tempHeaders = headersResult.Where(i => i.IsReadyForPicking && !i.IsManuallyCleared_ForPicking).ToList(); // add not inserted shipment headers headers.AddRange(tempHeaders.Where(i => !headers.Any(j => j.LOG_SHP_Shipment_HeaderID == i.LOG_SHP_Shipment_HeaderID)).ToList()); } if (Parameter.IsInPickingProcess) { // filtered by passed parameter option tempHeaders = headersResult.Where(i => i.HasPickingStarted || i.HasPickingFinished || i.IsManuallyCleared_ForPicking).ToList(); // add not inserted shipment headers headers.AddRange(tempHeaders.Where(i => !headers.Any(j => j.LOG_SHP_Shipment_HeaderID == i.LOG_SHP_Shipment_HeaderID)).ToList()); } if (Parameter.NoPositionsFullyToPick) { // filtered by passed parameter option tempHeaders = headersResult.Where(i => !(i.IsPartiallyReadyForPicking && !i.IsManuallyCleared_ForPicking) && !(i.IsReadyForPicking && !i.IsManuallyCleared_ForPicking) && !(i.HasPickingStarted || i.HasPickingFinished || i.IsManuallyCleared_ForPicking) ).ToList(); // add not inserted shipment headers headers.AddRange(tempHeaders.Where(i => !headers.Any(j => j.LOG_SHP_Shipment_HeaderID == i.LOG_SHP_Shipment_HeaderID)).ToList()); } #endregion L5PP_GSHwCOfPfT_1348 retValItem; foreach (var header in headers) { #region Getting data #region Shipment positions // get one shipment position for shipment header ORM_LOG_SHP_Shipment_Position.Query shipmentPositionsQuery = new ORM_LOG_SHP_Shipment_Position.Query(); shipmentPositionsQuery.LOG_SHP_Shipment_Header_RefID = header.LOG_SHP_Shipment_HeaderID; shipmentPositionsQuery.Tenant_RefID = securityTicket.TenantID; shipmentPositionsQuery.IsDeleted = false; List <ORM_LOG_SHP_Shipment_Position> shipmentPositions = ORM_LOG_SHP_Shipment_Position.Query.Search(Connection, Transaction, shipmentPositionsQuery); if (shipmentPositions == null || shipmentPositions.Count == 0) { continue; } #endregion #region Customer order position for shipment position // get one customer order position for shipment position ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition customerOrder2ShipmentPosition = null; foreach (var shipmentPosition in shipmentPositions) { ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query customerOrder2ShipmentPositionQuery = new ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query(); customerOrder2ShipmentPositionQuery.LOG_SHP_Shipment_Position_RefID = shipmentPosition.LOG_SHP_Shipment_PositionID; customerOrder2ShipmentPositionQuery.Tenant_RefID = securityTicket.TenantID; customerOrder2ShipmentPositionQuery.IsDeleted = false; customerOrder2ShipmentPosition = ORM_ORD_CUO_CustomerOrder_Position_2_ShipmentPosition.Query .Search(Connection, Transaction, customerOrder2ShipmentPositionQuery).FirstOrDefault(); if (customerOrder2ShipmentPosition != null) { break; } } if (customerOrder2ShipmentPosition == null) { continue; } #endregion #region Customer order position ORM_ORD_CUO_CustomerOrder_Position orm_CustomerOrderPosition = new ORM_ORD_CUO_CustomerOrder_Position(); var distributionOrderPosition = orm_CustomerOrderPosition.Load(Connection, Transaction, customerOrder2ShipmentPosition.ORD_CUO_CustomerOrder_Position_RefID); if (distributionOrderPosition.Status != FR_Status.Success || orm_CustomerOrderPosition.ORD_CUO_CustomerOrder_PositionID == Guid.Empty) { continue; } #endregion #region Customer order header // get customer order header for customer order position ORM_ORD_CUO_CustomerOrder_Header.Query customerOrderHeaderQuery = new ORM_ORD_CUO_CustomerOrder_Header.Query(); customerOrderHeaderQuery.ORD_CUO_CustomerOrder_HeaderID = orm_CustomerOrderPosition.CustomerOrder_Header_RefID; customerOrderHeaderQuery.Tenant_RefID = securityTicket.TenantID; customerOrderHeaderQuery.IsDeleted = false; if (!String.IsNullOrEmpty(Parameter.CustomerOrderNumber)) { customerOrderHeaderQuery.CustomerOrder_Number = Parameter.CustomerOrderNumber; } ORM_ORD_CUO_CustomerOrder_Header customerOrderHeader = ORM_ORD_CUO_CustomerOrder_Header.Query.Search(Connection, Transaction, customerOrderHeaderQuery).FirstOrDefault(); if (customerOrderHeader == null) { continue; } // apply filter for customer order header if (Parameter.OrderDateFrom != null) { if (customerOrderHeader.CustomerOrder_Date < Parameter.OrderDateFrom) { continue; } } if (Parameter.OrderDateTo != null) { if (customerOrderHeader.CustomerOrder_Date > Parameter.OrderDateTo) { continue; } } #endregion #region Customer ORM_CMN_BPT_BusinessParticipant.Query bussinerParticipantQuery = new ORM_CMN_BPT_BusinessParticipant.Query(); bussinerParticipantQuery.CMN_BPT_BusinessParticipantID = customerOrderHeader.OrderingCustomer_BusinessParticipant_RefID; bussinerParticipantQuery.Tenant_RefID = securityTicket.TenantID; bussinerParticipantQuery.IsDeleted = false; ORM_CMN_BPT_BusinessParticipant bussinerParticipant = ORM_CMN_BPT_BusinessParticipant.Query.Search(Connection, Transaction, bussinerParticipantQuery).FirstOrDefault(); if (bussinerParticipant == null) { continue; } if (!String.IsNullOrEmpty(Parameter.Customer)) { if (!bussinerParticipant.DisplayName.ToUpper().Contains(Parameter.Customer.ToUpper())) { continue; } } #endregion #endregion retValItem = new L5PP_GSHwCOfPfT_1348(); retValItem.LOG_SHP_Shipment_HeaderID = header.LOG_SHP_Shipment_HeaderID; retValItem.ShipmentHeader_Number = header.ShipmentHeader_Number; retValItem.IsShipped = header.IsShipped; retValItem.IsBilled = header.IsBilled; retValItem.IsReadyForPicking = header.IsReadyForPicking; retValItem.IsPartiallyReadyForPicking = header.IsPartiallyReadyForPicking; retValItem.HasPickingStarted = header.HasPickingStarted; retValItem.HasPickingFinished = header.HasPickingFinished; retValItem.IsManuallyCleared_ForPicking = header.IsManuallyCleared_ForPicking; retValItem.ShipmentCreationDate = header.Creation_Timestamp; retValItem.ORD_CUO_CustomerOrder_HeaderID = customerOrderHeader.ORD_CUO_CustomerOrder_HeaderID; retValItem.CustomerOrderNumber = customerOrderHeader.CustomerOrder_Number; retValItem.CustomerOrderDate = customerOrderHeader.CustomerOrder_Date; retValItem.Customer = bussinerParticipant.DisplayName; retVal.Add(retValItem); } retVal = retVal.Skip(Parameter.From).Take(Parameter.Size).ToList(); returnValue.Result = retVal.ToArray(); return(returnValue); #endregion UserCode }