protected static FR_L5SO_DSH_1440 Execute(DbConnection Connection, DbTransaction Transaction, P_L5SO_DSH_1440 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_L5SO_DSH_1440(); //Put your code here ORM_LOG_SHP_Shipment_Header shipmentHeaderToDelate = new ORM_LOG_SHP_Shipment_Header(); shipmentHeaderToDelate.Load(Connection, Transaction, Parameter.ShipmentHeaderID); shipmentHeaderToDelate.Remove(Connection, Transaction); returnValue.Result = new L5SO_DSH_1440(); returnValue.Result.DeletedHeader = Parameter.ShipmentHeaderID; return(returnValue); #endregion UserCode }
protected static FR_L5RS_CSaRSPfH_0449 Execute(DbConnection Connection, DbTransaction Transaction, P_L5RS_CSaRSPfH_0449 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5RS_CSaRSPfH_0449(); returnValue.Result = new L5RS_CSaRSPfH_0449(); FR_Base resultHeader, resultPosition, resultReturnPosition; if (Parameter.Positions.Count() <= 0) { returnValue.Status = FR_Status.Success; returnValue.Result = null; return(returnValue); } #region Load Shipment Header and calculate Total Price decimal totalValueWithoutTax = 0; #region Load Shipment Header var shipmentHeader = new ORM_LOG_SHP_Shipment_Header(); var result = shipmentHeader.Load(Connection, Transaction, Parameter.Positions[0].ShipmentHeaderID); if (result.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } #endregion #region Load Shipment Header Positions And Calculate Total Value var shipmentPositions = ORM_LOG_SHP_Shipment_Position.Query.Search( Connection, Transaction, new ORM_LOG_SHP_Shipment_Position.Query() { LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID, Tenant_RefID = securityTicket.TenantID }).ToList(); foreach (var position in shipmentPositions) { totalValueWithoutTax += position.ShipmentPosition_ValueWithoutTax; } #endregion shipmentHeader.ShipmentHeader_ValueWithoutTax = totalValueWithoutTax; #endregion var resultShipmentPositionsIDs = new List <Guid>(); var resultReturnShipmentPositionIDs = new List <Guid>(); foreach (P_L5RS_CSaRSPfH_0449a position in Parameter.Positions) { #region Create Shipment Position Object var newShipmentPositionObject = new ORM_LOG_SHP_Shipment_Position(); newShipmentPositionObject.CMN_PRO_Product_RefID = position.ProductId; newShipmentPositionObject.Creation_Timestamp = DateTime.Now; newShipmentPositionObject.LOG_SHP_Shipment_Header_RefID = position.ShipmentHeaderID; newShipmentPositionObject.LOG_SHP_Shipment_PositionID = Guid.NewGuid(); newShipmentPositionObject.QuantityToShip = position.Quantity; newShipmentPositionObject.ShipmentPosition_ValueWithoutTax = position.PricePerUnit * position.Quantity; newShipmentPositionObject.ShipmentPosition_PricePerUnitValueWithoutTax = position.PricePerUnit; newShipmentPositionObject.Tenant_RefID = securityTicket.TenantID; shipmentHeader.ShipmentHeader_ValueWithoutTax += newShipmentPositionObject.ShipmentPosition_ValueWithoutTax; #endregion #region Create ReturnShipment Position Object var newReturnShipmentPositionObject = new ORM_LOG_SHP_ReturnShipment_Position(); newReturnShipmentPositionObject.Creation_Timestamp = DateTime.Now; newReturnShipmentPositionObject.Ext_Shipment_Position_RefID = newShipmentPositionObject.LOG_SHP_Shipment_PositionID; newReturnShipmentPositionObject.LOG_SHP_ReturnShipment_PositionID = Guid.NewGuid(); newReturnShipmentPositionObject.ReturnPolicy_RefID = position.ReturnPolicyId; newReturnShipmentPositionObject.ReturnProductOriginatedFromReceiptPosition_RefID = position.ReceiptPositionId; newReturnShipmentPositionObject.ReturnShipment_Header_RefID = position.ReturnShipmentHeaderID; newReturnShipmentPositionObject.Tenant_RefID = securityTicket.TenantID; #endregion #region Save Position resultPosition = newShipmentPositionObject.Save(Connection, Transaction); resultReturnPosition = newReturnShipmentPositionObject.Save(Connection, Transaction); if (resultPosition.Status != FR_Status.Success || resultReturnPosition.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } resultShipmentPositionsIDs.Add(newShipmentPositionObject.LOG_SHP_Shipment_PositionID); resultReturnShipmentPositionIDs.Add(newReturnShipmentPositionObject.LOG_SHP_ReturnShipment_PositionID); #endregion } #region Update Shipment Header with Total Value resultHeader = shipmentHeader.Save(Connection, Transaction); if (resultHeader.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = null; return(returnValue); } #endregion #region Fetch ShipmentHeader SupplierName var supplierBusinessParticipant = new ORM_CMN_BPT_BusinessParticipant(); supplierBusinessParticipant.Load(Connection, Transaction, shipmentHeader.RecipientBusinessParticipant_RefID); #endregion returnValue.Status = FR_Status.Success; returnValue.Result.ShipmentPositionIDs = resultShipmentPositionsIDs.ToArray(); returnValue.Result.ReturnShipmentPositionIDs = resultReturnShipmentPositionIDs.ToArray(); returnValue.Result.ShipmentHeaderSupplierName = supplierBusinessParticipant == null ? string.Empty : supplierBusinessParticipant.DisplayName; returnValue.Result.ShipmentHeaderNumber = shipmentHeader.ShipmentHeader_Number; returnValue.Result.ShipmentHeaderTotalValue = shipmentHeader.ShipmentHeader_ValueWithoutTax; return(returnValue); #endregion UserCode }
protected static FR_L3SO_GAAfSHI_1612_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L3SO_GAAfSHI_1612 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L3SO_GAAfSHI_1612_Array(); //Put your code here var list = new List <L3SO_GAAfSHI_1612>(); #region Organization Addresses var param = new P_L3OS_GOAfSHI_1407 { ShipmentHeaderID = Parameter.ShipmentHeaderID }; var OrganizationAddress = cls_Get_OrganizationAddress_for_ShipmentHeaderID.Invoke(Connection, Transaction, param, securityTicket).Result; if (OrganizationAddress.Any()) { foreach (var address in OrganizationAddress) { L3SO_GAAfSHI_1612 item = new L3SO_GAAfSHI_1612(); item.AddressID = address.CMN_UniversalContactDetailID; item.Street_Name = address.Street_Name; item.Street_Number = address.Street_Number; item.IsDefault = address.IsPrimary; item.Town = address.Town; item.ZIP = address.ZIP; item.hasOrganizationUnit = true; item.IsCompany = address.IsCompany; list.Add(item); } } #endregion #region Customer Addresses var Shipment = new ORM_LOG_SHP_Shipment_Header(); Shipment.Load(Connection, Transaction, Parameter.ShipmentHeaderID); var Customer = CL1_CMN_BPT_CTM.ORM_CMN_BPT_CTM_Customer.Query.Search(Connection, Transaction, new CL1_CMN_BPT_CTM.ORM_CMN_BPT_CTM_Customer.Query { IsDeleted = false, Tenant_RefID = securityTicket.TenantID, Ext_BusinessParticipant_RefID = Shipment.RecipientBusinessParticipant_RefID }).SingleOrDefault(); List <L3ACAAD_GCAfT_1612> CustomerAddress = new List <L3ACAAD_GCAfT_1612>(); CustomerAddress = cls_Get_CustomerAddresses_for_CustomerID.Invoke(Connection, Transaction, new P_L3ACAAD_GCAfCID_1612 { CustomerID = Customer.CMN_BPT_CTM_CustomerID }, securityTicket).Result.ToList(); if (CustomerAddress.Any()) { foreach (var address in CustomerAddress) { if (!string.IsNullOrEmpty(address.Street_Name)) { L3SO_GAAfSHI_1612 item = new L3SO_GAAfSHI_1612(); item.AddressID = address.AddressID; item.Street_Name = address.Street_Name; item.Street_Number = address.Street_Number; item.IsDefault = address.IsDefault; item.IsBilling = address.IsBilling; item.IsShipping = address.IsShipping; item.IsContact = address.IsContact; item.IsCompany = address.IsCompany; item.Town = address.Town; item.ZIP = address.ZIP; item.hasOrganizationUnit = false; list.Add(item); } } } #endregion returnValue.Result = list.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_L6CN_SCNaURS_0910 Execute(DbConnection Connection, DbTransaction Transaction, P_L6CN_SCNaURS_0910 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6CN_SCNaURS_0910(); returnValue.Result = new L6CN_SCNaURS_0910(); var newShipmentHeaderGuids = new List <Guid>(); var shipmentPositionsToBeCredited = new List <Guid>(); var newShipmentPositions = new List <P_L5RS_CSaRSPfH_0449a>(); foreach (var header in Parameter.ShipmentHeaders) { var shipmentHeader = new ORM_LOG_SHP_Shipment_Header(); var shipmentHeaderPositions = new List <ORM_LOG_SHP_Shipment_Position>(); #region Load Shipment Header and Positions var result = shipmentHeader.Load(Connection, Transaction, header.ShipmentHeaderID); if (result.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } shipmentHeaderPositions = ORM_LOG_SHP_Shipment_Position.Query.Search( Connection, Transaction, new ORM_LOG_SHP_Shipment_Position.Query() { LOG_SHP_Shipment_Header_RefID = header.ShipmentHeaderID, Tenant_RefID = securityTicket.TenantID, IsDeleted = false }); #endregion L5RS_CSaRSH_0244 newHeader = null; decimal updatedHeaderTotalValue = 0; foreach (var position in shipmentHeaderPositions) { var positionToBeCredited = header.ShipmentPositions.FirstOrDefault(hsp => hsp.ShipmentPositionID == position.LOG_SHP_Shipment_PositionID); // Split Shipment in case that not all positions of one header are selected for crediting // or in case that selected positions quantities are edited. #region Create New Header and Position Object if position is not selected or dirty if (positionToBeCredited == null || positionToBeCredited.Quantity != positionToBeCredited.OriginalQuantity) { if (Parameter.ReturnToStock == false) { #region Create New Header if (newHeader == null) { var newHeaderParameter = new P_L5RS_CSaRSH_0244() { SupplierID = Parameter.SupplierId }; var createResult = cls_Create_Shipment_and_ReturnShipment_Header.Invoke(Connection, Transaction, newHeaderParameter, securityTicket); if (createResult.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } newHeader = createResult.Result; newShipmentHeaderGuids.Add(newHeader.ShipmentHeaderID); } #endregion #region Set New Position Object P_L5RS_CSaRSPfH_0449a newPosition; if (positionToBeCredited == null) { var productTrackingInstance = cls_Get_ProductTrackingInstance_for_StockReceiptPosition.Invoke( Connection, Transaction, new P_L5SR_GPTIfSRP_1322() { ReceiptPositionsID = header.ShipmentPositions[0].ReceiptPositionID }, securityTicket).Result; newPosition = new P_L5RS_CSaRSPfH_0449a() { Quantity = Convert.ToInt32(position.QuantityToShip), PricePerUnit = position.ShipmentPosition_PricePerUnitValueWithoutTax, ProductId = position.CMN_PRO_Product_RefID, ReceiptPositionId = header.ShipmentPositions[0].ReceiptPositionID, ReturnPolicyId = header.ShipmentPositions[0].ReturnPolicyID, ShipmentHeaderID = newHeader.ShipmentHeaderID, ReturnShipmentHeaderID = newHeader.ReturnShipmentHeaderID, ProductTrackingInstance = productTrackingInstance.LOG_ProductTrackingInstanceID, ShelfContentID = productTrackingInstance.LOG_WRH_Shelf_ContentID }; } else { var productTrackingInstance = cls_Get_ProductTrackingInstance_for_StockReceiptPosition.Invoke( Connection, Transaction, new P_L5SR_GPTIfSRP_1322() { ReceiptPositionsID = positionToBeCredited.ReceiptPositionID }, securityTicket).Result; newPosition = new P_L5RS_CSaRSPfH_0449a() { Quantity = positionToBeCredited.OriginalQuantity - positionToBeCredited.Quantity, PricePerUnit = positionToBeCredited.OriginalTotalValue / positionToBeCredited.OriginalQuantity, ProductId = positionToBeCredited.ProductId, ReceiptPositionId = positionToBeCredited.ReceiptPositionID, ReturnPolicyId = positionToBeCredited.ReturnPolicyID, ShipmentHeaderID = newHeader.ShipmentHeaderID, ReturnShipmentHeaderID = newHeader.ReturnShipmentHeaderID, ProductTrackingInstance = productTrackingInstance.LOG_ProductTrackingInstanceID, ShelfContentID = productTrackingInstance.LOG_WRH_Shelf_ContentID }; } newShipmentPositions.Add(newPosition); #endregion } else { #region Return to Stock //The difference in the credited quantity compared to the returned position is taken back to stock. if (positionToBeCredited == null) { var productTrackingInstance = cls_Get_ProductTrackingInstance_for_StockReceiptPosition.Invoke( Connection, Transaction, new P_L5SR_GPTIfSRP_1322() { ReceiptPositionsID = header.ShipmentPositions[0].ReceiptPositionID }, securityTicket).Result; CL1_LOG_WRH.ORM_LOG_WRH_Shelf_Content shelfContent = new CL1_LOG_WRH.ORM_LOG_WRH_Shelf_Content(); shelfContent.Load(Connection, Transaction, productTrackingInstance.LOG_WRH_Shelf_ContentID); shelfContent.Quantity_Current = Convert.ToInt32(position.QuantityToShip); shelfContent.Save(Connection, Transaction); CL1_LOG_WRH.ORM_LOG_WRH_Shelf_ContentAdjustment shelfContentAdjustment = new CL1_LOG_WRH.ORM_LOG_WRH_Shelf_ContentAdjustment(); shelfContentAdjustment.ShelfContent_RefID = shelfContent.Shelf_RefID; shelfContentAdjustment.QuantityChangedAmount = shelfContent.Quantity_Current; shelfContentAdjustment.QuantityChangedDate = DateTime.Now; shelfContentAdjustment.Creation_Timestamp = DateTime.Now; shelfContentAdjustment.Tenant_RefID = securityTicket.TenantID; shelfContentAdjustment.Save(Connection, Transaction); } else { var productTrackingInstance = cls_Get_ProductTrackingInstance_for_StockReceiptPosition.Invoke( Connection, Transaction, new P_L5SR_GPTIfSRP_1322() { ReceiptPositionsID = positionToBeCredited.ReceiptPositionID }, securityTicket).Result; CL1_LOG_WRH.ORM_LOG_WRH_Shelf_Content shelfContent = new CL1_LOG_WRH.ORM_LOG_WRH_Shelf_Content(); shelfContent.Load(Connection, Transaction, productTrackingInstance.LOG_WRH_Shelf_ContentID); shelfContent.Quantity_Current = positionToBeCredited.OriginalQuantity - positionToBeCredited.Quantity; shelfContent.Save(Connection, Transaction); CL1_LOG_WRH.ORM_LOG_WRH_Shelf_ContentAdjustment shelfContentAdjustment = new CL1_LOG_WRH.ORM_LOG_WRH_Shelf_ContentAdjustment(); shelfContentAdjustment.ShelfContent_RefID = shelfContent.Shelf_RefID; shelfContentAdjustment.QuantityChangedAmount = shelfContent.Quantity_Current; shelfContentAdjustment.QuantityChangedDate = DateTime.Now; shelfContentAdjustment.Creation_Timestamp = DateTime.Now; shelfContentAdjustment.Tenant_RefID = securityTicket.TenantID; shelfContentAdjustment.Save(Connection, Transaction); } #endregion } } #endregion if (positionToBeCredited == null) { #region Cancel Position #region Get Account var account = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query() { Tenant_RefID = securityTicket.TenantID, IsDeleted = false, USR_AccountID = securityTicket.AccountID }).FirstOrDefault(); #endregion position.IsCancelled = true; position.CancelledOnDate = DateTime.Now; position.CancelledBy_BusinessParticipant_RefID = account.BusinessParticipant_RefID; var resultUpdate = position.Save(Connection, Transaction); if (resultUpdate.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } #endregion } else { shipmentPositionsToBeCredited.Add(positionToBeCredited.ReturnShipmentPositionID); updatedHeaderTotalValue += positionToBeCredited.TotalValue; #region Update Position if data is dirty if (positionToBeCredited.Quantity != positionToBeCredited.OriginalQuantity || positionToBeCredited.TotalValue != positionToBeCredited.OriginalTotalValue) { position.QuantityToShip = positionToBeCredited.Quantity; position.ShipmentPosition_ValueWithoutTax = positionToBeCredited.TotalValue; var resultUpdate = position.Save(Connection, Transaction); if (resultUpdate.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } } #endregion } } #region Update shipmentHeader #region Create Credited Status History // fetch 'credited' status id var returnedStatusId = ORM_LOG_SHP_Shipment_Status.Query.Search( Connection, Transaction, new ORM_LOG_SHP_Shipment_Status.Query() { GlobalPropertyMatchingID = EnumUtils.GetEnumDescription(EShipmentStatus.Credited), Tenant_RefID = securityTicket.TenantID }).FirstOrDefault().LOG_SHP_Shipment_StatusID; // fetch Status History 'credited by' User Account var performedByAccount = ORM_USR_Account.Query.Search( Connection, Transaction, new ORM_USR_Account.Query() { USR_AccountID = securityTicket.AccountID }) .FirstOrDefault(); // create status Shipment Status history entry var statusHistoryCredited = new ORM_LOG_SHP_Shipment_StatusHistory(); statusHistoryCredited.Creation_Timestamp = DateTime.Now; statusHistoryCredited.IsDeleted = false; statusHistoryCredited.LOG_SHP_Shipment_Header_RefID = shipmentHeader.LOG_SHP_Shipment_HeaderID; statusHistoryCredited.LOG_SHP_Shipment_Status_RefID = returnedStatusId; statusHistoryCredited.LOG_SHP_Shipment_StatusHistoryID = Guid.NewGuid(); statusHistoryCredited.PerformedBy_BusinessParticipant_RefID = performedByAccount == null ? Guid.Empty : performedByAccount.BusinessParticipant_RefID; statusHistoryCredited.Tenant_RefID = securityTicket.TenantID; var resultSave = statusHistoryCredited.Save(Connection, Transaction); if (resultSave.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } #endregion shipmentHeader.ShipmentType_RefID = statusHistoryCredited.LOG_SHP_Shipment_StatusHistoryID; shipmentHeader.ShipmentHeader_ValueWithoutTax = updatedHeaderTotalValue; resultSave = shipmentHeader.Save(Connection, Transaction); if (resultSave.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } #endregion } #region Create New Positions foreach (var shipmentHeaderId in newShipmentHeaderGuids) { var positions = new P_L5RS_CSaRSPfH_0449(); positions.Positions = newShipmentPositions.FindAll(nsp => nsp.ShipmentHeaderID == shipmentHeaderId).ToArray(); var returnShipment = new P_L5RS_SRSHaP_0807a() { CreateNewHeader = false, ShipmentHeader = null, ShipmentPositions = positions }; var savePositionsInputParameter = new P_L5RS_SRSHaP_0807() { ReturnShipments = new P_L5RS_SRSHaP_0807a[] { returnShipment } }; var resultCreate = cls_Save_ReturnShipment_Header_and_Position.Invoke(Connection, Transaction, savePositionsInputParameter, securityTicket); if (resultCreate.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } } #endregion #region Save CreditNote Header and Positions var inputParameter = new P_L5RS_CNfRS_1119() { headerId = Guid.Empty, headerNumber = Parameter.CreditNoteHeaderNumber, headerValue = Parameter.CreditNoteHeaderValue, currencyRef = Parameter.CreditNoteHeaderCurrencyId, creditNoteDate = Parameter.CreditNoteHeaderDate, returnShipmentPositions = shipmentPositionsToBeCredited.ToArray(), receiptPositions = null }; var resultCreditNote = cls_Save_CreditNote_for_ReturnShipment.Invoke(Connection, Transaction, inputParameter, securityTicket); if (resultCreditNote.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; return(returnValue); } #endregion returnValue.Status = FR_Status.Success; returnValue.Result.CreditNoteHeaderId = resultCreditNote.Result; return(returnValue); #endregion UserCode }
protected static FR_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L3SO_DARaUSHfPTIL_1159 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Bool(); var param = new P_L3SO_GSaUERfPTIL_1153() { ProductTrackingInstanceIDList = Parameter.TracknigInstances.Select(i => i.ProductTrackingInstanceID).ToArray() }; var shippingsAndActiveReservations = cls_Get_Shippings_and_ActiveReservations_for_ProductTrackingInstanceIDList.Invoke(Connection, Transaction, param, securityTicket).Result; var param2 = new P_L3SO_GARQfMCFPSH_1450() { ProductTrackingInstanceList = Parameter.TracknigInstances.Select(i => i.ProductTrackingInstanceID).ToArray() }; var activeAndStartedReservations = cls_Get_ActiveReservedQuantities_for_ManuallyClearedForPickingShippmentHeaders.Invoke(Connection, Transaction, param2, securityTicket).Result; foreach (var trackingInstance in shippingsAndActiveReservations) { var inParam = Parameter.TracknigInstances.SingleOrDefault(i => i.ProductTrackingInstanceID == trackingInstance.LOG_ProductTrackingInstance_RefID); var activeAndStartedReservation = activeAndStartedReservations.SingleOrDefault(i => i.LOG_ProductTrackingInstance_RefID == trackingInstance.LOG_ProductTrackingInstance_RefID); var activeAndStartedQuantities = (activeAndStartedReservation == null) ? 0 : activeAndStartedReservation.ReservedQuantityFromTrackingInstance; if (inParam != null && (inParam.CurrentQuantityOnTrackingInstance - activeAndStartedQuantities) < inParam.RemovedQuantityFromTrackingInstance) { throw new Exception("Reservation can't be deleted because picking has been started."); } foreach (var item in trackingInstance.Reservations) { #region ShipmentHeaders var shipmentHeader = new ORM_LOG_SHP_Shipment_Header(); shipmentHeader.Load(Connection, Transaction, item.LOG_SHP_Shipment_HeaderID); shipmentHeader.IsPartiallyReadyForPicking = false; shipmentHeader.IsReadyForPicking = false; shipmentHeader.IsManuallyCleared_ForPicking = false; shipmentHeader.HasPickingStarted = false; shipmentHeader.Save(Connection, Transaction); #endregion #region Reservation var reservation = new ORM_LOG_RSV_Reservation(); reservation.Load(Connection, Transaction, item.LOG_RSV_ReservationID); reservation.IsDeleted = true; reservation.Save(Connection, Transaction); #endregion #region Reservation Tracking Instance var reservationTrackingInstance = new ORM_LOG_RSV_Reservation_TrackingInstance(); reservationTrackingInstance.Load(Connection, Transaction, item.LOG_RSV_Reservation_TrackingInstanceID); reservationTrackingInstance.IsDeleted = true; reservationTrackingInstance.Save(Connection, Transaction); #endregion } } return(returnValue); #endregion UserCode }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_L5PP_CSHS_1305 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 if (Parameter.LOG_SHP_Shipment_HeaderID == null || Parameter.LOG_SHP_Shipment_HeaderID == Guid.Empty) { return(null); } ORM_LOG_SHP_Shipment_Header shipmentHeader = new ORM_LOG_SHP_Shipment_Header(); var shipmentHeaderResult = shipmentHeader.Load(Connection, Transaction, Parameter.LOG_SHP_Shipment_HeaderID); if (shipmentHeaderResult.Status != FR_Status.Success || shipmentHeader.LOG_SHP_Shipment_HeaderID == Guid.Empty) { return(null); } if (Parameter.IsReadyForPicking != null) { shipmentHeader.IsReadyForPicking = (Boolean)Parameter.IsReadyForPicking; var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.ReadyForPicking; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } if (Parameter.IsPartiallyReadyForPicking != null) { shipmentHeader.IsPartiallyReadyForPicking = (Boolean)Parameter.IsPartiallyReadyForPicking; var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.PartiallyReadyForPicking; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } if (Parameter.IsManuallyCleared_ForPicking != null) { shipmentHeader.IsManuallyCleared_ForPicking = (Boolean)Parameter.IsManuallyCleared_ForPicking; var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.ManuallyClearedForPicking; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } if (Parameter.HasPickingStarted != null) { shipmentHeader.HasPickingStarted = (Boolean)Parameter.HasPickingStarted; var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.PickingStarted; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } if (Parameter.HasPickingFinished != null) { shipmentHeader.HasPickingFinished = (Boolean)Parameter.HasPickingFinished; var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.PickingFinished; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } if (Parameter.IsBilled != null) { shipmentHeader.IsBilled = (Boolean)Parameter.IsBilled; var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.Billed; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } if (Parameter.IsShipped != null) { shipmentHeader.IsShipped = (Boolean)Parameter.IsShipped; var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.Shipped; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } if (Parameter.IsDeleted != null) { var param = new P_L2SH_SSSH_1313(); param.ShipmentHeaderID = Parameter.LOG_SHP_Shipment_HeaderID; param.ShipmentHeaderStatus = EShipmentStatus.Deleted; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); } shipmentHeader.Save(Connection, Transaction); return(returnValue); #endregion UserCode }
protected static FR_Bool Execute(DbConnection Connection, DbTransaction Transaction, P_L3SO_USHSaDARfSH_1054 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { //Leave UserCode region to enable user code saving #region UserCode var returnValue = new FR_Bool(); #region Reset Shipment Header var shipmentHeader = new ORM_LOG_SHP_Shipment_Header(); shipmentHeader.Load(Connection, Transaction, Parameter.ShipmentHeaderID); if (shipmentHeader.IsShipped) { returnValue.Result = false; return(returnValue); } shipmentHeader.IsPartiallyReadyForPicking = false; shipmentHeader.IsManuallyCleared_ForPicking = false; shipmentHeader.IsReadyForPicking = false; shipmentHeader.HasPickingStarted = false; shipmentHeader.Save(Connection, Transaction); #endregion #region Save EShipmentStatus.FlagsCleared var param = new P_L2SH_SSSH_1210(); param.ShipmentHeaderID = Parameter.ShipmentHeaderID; param.ShipmentHeaderStatus = EShipmentStatus.FlagsCleared; cls_Save_ShipmentStatusHistory.Invoke(Connection, Transaction, param, securityTicket); #endregion var positions = ORM_LOG_SHP_Shipment_Position.Query.Search(Connection, Transaction, new ORM_LOG_SHP_Shipment_Position.Query() { LOG_SHP_Shipment_Header_RefID = Parameter.ShipmentHeaderID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); foreach (var position in positions) { var reservations = ORM_LOG_RSV_Reservation.Query.Search(Connection, Transaction, new ORM_LOG_RSV_Reservation.Query() { LOG_SHP_Shipment_Position_RefID = position.LOG_SHP_Shipment_PositionID, IsReservationExecuted = false, //this is impossible, but I still want to keep better trace if somehow happen @Pedja IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); foreach (var reservation in reservations) { #region Delete Reservation reservation.IsDeleted = true; reservation.Save(Connection, Transaction); #endregion #region Delete Reservation TrackingInstance var reservationTrackingInstance = ORM_LOG_RSV_Reservation_TrackingInstance.Query.SoftDelete(Connection, Transaction, new ORM_LOG_RSV_Reservation_TrackingInstance.Query() { LOG_RSV_Reservation_RefID = reservation.LOG_RSV_ReservationID, IsDeleted = false, Tenant_RefID = securityTicket.TenantID }); #endregion } } returnValue.Result = true; return(returnValue); #endregion UserCode }