protected static FR_L5AI_GSIbC_1341_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5AI_GSIbC_1341 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5AI_GSIbC_1341_Array(); var productIds = new List <Guid>(); productIds.Add(Parameter.ProductID); //var param = new P_L3WH_GSPfT_1107 //{ // ProductIDs = productIds.ToArray() //}; //var p = cls_Get_StoragePlaces_for_TenantID.Invoke(Connection, Transaction, param, securityTicket).Result; var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = null, WarehouseID = null, AreaID = null, RackID = null, UseShelfIDList = false, ShelfIDs = new Guid[] { Guid.Empty }, UseProductIDList = productIds.Count > 0, ProductIDs = productIds.ToArray(), BottomShelfQuantity = null, TopShelfQuantity = null, UseProductTrackingInstanceIDList = false, ProductTrackingInstanceIDs = new Guid[] { Guid.Empty }, StartExpirationDate = null, EndExpirationDate = null }; var p = cls_Get_StoragePlaces_for_FilterCriteria.Invoke( Connection, Transaction, filterCriteria, securityTicket).Result; var list = new List <L5AI_GSIbC_1341>(); var item = new L5AI_GSIbC_1341(); item.CompanyID = Guid.NewGuid(); item.CompanyName = "-"; item.CurrentQuantityOnStock = 0; item.AMO = "-"; list.Add(item); returnValue.Result = list.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_L5IN_GSPfIJ_1641 Execute(DbConnection Connection, DbTransaction Transaction, P_L5IN_GSPfIJ_1641 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5IN_GSPfIJ_1641(); returnValue.Result = new L5IN_GSPfIJ_1641(); var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = Parameter.Warehouse_GroupID, WarehouseID = Parameter.WarehouseID, AreaID = Parameter.AreaID, RackID = Parameter.RackID, UseShelfIDList = Parameter.UseShelfList, ShelfIDs = Parameter.UseShelfList ? Parameter.ShelfID_List : new Guid[] { Guid.Empty }, UseProductIDList = false, ProductIDs = new Guid[] { Guid.Empty }, BottomShelfQuantity = (int?)Parameter.QuantityBottom, TopShelfQuantity = (int?)Parameter.QuantityTop, UseProductTrackingInstanceIDList = false, ProductTrackingInstanceIDs = new Guid[] { Guid.Empty }, StartExpirationDate = null, EndExpirationDate = null }; if (Parameter.ShelfID != null && Parameter.UseShelfList) { filterCriteria.ShelfIDs.Concat(new Guid[] { new Guid(Parameter.ShelfID.ToString()) }); } var storagePlaces = cls_Get_StoragePlaces_for_FilterCriteria.Invoke( Connection, Transaction, filterCriteria, securityTicket).Result; if (Parameter.InventoryJobID != null) { var paramShelfsInvetoryJob = new P_L5IN_GSfIJ_1053(); paramShelfsInvetoryJob.InventoryJobID = Parameter.InventoryJobID == null ? Guid.Empty : (Guid)Parameter.InventoryJobID; var usedSelfs = cls_Get_Shelfs_for_InvetoryJob.Invoke(Connection, Transaction, paramShelfsInvetoryJob, securityTicket).Result; returnValue.Result.StoragePlace = storagePlaces.Where(x => !usedSelfs.Select(y => y.LOG_WRH_Shelf_RefID).Contains(x.LOG_WRH_ShelfID)).ToArray(); } else { returnValue.Result.StoragePlace = storagePlaces; } return(returnValue); #endregion UserCode }
protected static FR_L5SG_GSPwP_1825 Execute(DbConnection Connection, DbTransaction Transaction, P_L5SG_GSPwP_1825 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5SG_GSPwP_1825(); returnValue.Result = new L5SG_GSPwP_1825(); var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = Parameter.Warehouse_GroupID, WarehouseID = Parameter.WarehouseID, AreaID = Parameter.AreaID, RackID = Parameter.RackID, UseShelfIDList = Parameter.UseShelfList, ShelfIDs = Parameter.ShelfID_List, UseProductIDList = false, ProductIDs = new Guid[] { Guid.Empty }, BottomShelfQuantity = (int?)Parameter.QuantityBottom, TopShelfQuantity = (int?)Parameter.QuantityTop, UseProductTrackingInstanceIDList = false, ProductTrackingInstanceIDs = new Guid[] { Guid.Empty }, StartExpirationDate = null, EndExpirationDate = null }; returnValue.Result.WareHouseStructure = cls_Get_StoragePlaces_for_FilterCriteria.Invoke( Connection, Transaction, filterCriteria, securityTicket).Result; if (Parameter.PredefinedProduct != null && Parameter.PredefinedProduct != Guid.Empty && Parameter.IsMultiSelect == false) { foreach (L3WH_GSPfFC_1504 whStructure in returnValue.Result.WareHouseStructure.Where(whStructure => whStructure.Predefined_Product_RefID == Parameter.PredefinedProduct)) { returnValue.Result.HasDefaultShelf = true; returnValue.Result.ShelfID = whStructure.LOG_WRH_ShelfID; return(returnValue); } } // second case. Area has flag IsDefaultIntakeArea set to true foreach (L3WH_GSPfFC_1504 whStructure in returnValue.Result.WareHouseStructure) { if (whStructure.IsDefaultIntakeArea) { var rack = ORM_LOG_WRH_Rack.Query.Search(Connection, Transaction, new ORM_LOG_WRH_Rack.Query { Area_RefID = whStructure.LOG_WRH_AreaID, IsDeleted = false }).FirstOrDefault(); if (rack != null) { var shelf = ORM_LOG_WRH_Shelf.Query.Search(Connection, Transaction, new ORM_LOG_WRH_Shelf.Query { Rack_RefID = rack.LOG_WRH_RackID, IsDeleted = false }).FirstOrDefault(); if (shelf != null) { returnValue.Result.ShelfID = whStructure.LOG_WRH_ShelfID; returnValue.Result.HasDefaultShelf = false; return(returnValue); } } } } // third case - no default settings at all returnValue.Result.HasDefaultShelf = false; returnValue.Result.ShelfID = null; return(returnValue); #endregion UserCode }
protected static FR_L3PR_GAwSPfT_1002_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L3PR_GAwSPfT_1002 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L3PR_GAwSPfT_1002_Array(); //Put your code here List <L3PR_GAwSPfT_1002> retVal = new List <L3PR_GAwSPfT_1002>(); P_L3WH_GASfA_1924 par = new P_L3WH_GASfA_1924(); par.ArticleID_List = Parameter.ArticleID_List.Select(i => i).ToArray(); var articleStorages = cls_Get_ArticleStorages_for_ArticleIDList.Invoke(Connection, Transaction, par, securityTicket).Result.Where(i => i.ShelfID != Guid.Empty).ToList(); #region Get All StoragePlaces for TenantID var shelfIDs = articleStorages.Select(i => i.ShelfID).Distinct().ToArray(); var productIDs = articleStorages.Select(i => i.ArticleID).Distinct().ToArray(); var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = null, WarehouseID = null, AreaID = null, RackID = null, UseShelfIDList = shelfIDs.Length != 0, ShelfIDs = shelfIDs.Length == 0 ? new Guid[] { Guid.Empty } : shelfIDs, UseProductIDList = productIDs.Length != 0, ProductIDs = productIDs.Length == 0 ? new Guid[] { Guid.Empty } : productIDs, BottomShelfQuantity = null, TopShelfQuantity = null, UseProductTrackingInstanceIDList = false, ProductTrackingInstanceIDs = new Guid[] { Guid.Empty }, StartExpirationDate = null, EndExpirationDate = null }; var allStoragePlacesForTenant = cls_Get_StoragePlaces_for_FilterCriteria.Invoke(Connection, Transaction, filterCriteria, securityTicket).Result; #endregion L3PR_GAwSPfT_1002 retValItem; L3WH_GSPfFC_1504 storagePlace; foreach (var storage in articleStorages) { retValItem = new L3PR_GAwSPfT_1002(); retValItem.ArticleID = storage.ArticleID; retValItem.ShelfID = storage.ShelfID; retValItem.StoragePlace = "-"; storagePlace = allStoragePlacesForTenant.Where(i => i.LOG_WRH_ShelfID == storage.ShelfID).FirstOrDefault(); if (storagePlace != null && !String.IsNullOrEmpty(storagePlace.Area_Name) && !String.IsNullOrEmpty(storagePlace.Rack_Name) && !String.IsNullOrEmpty(storagePlace.Shelf_Name)) { retValItem.StoragePlace = String.Format("{0}-{1}-{2}-{3}", storagePlace.WarehouseCoordinateCode, storagePlace.AreaCoordinateCode, storagePlace.RackCoordinateCode, storagePlace.ShelfCoordinateCode); } retVal.Add(retValItem); } returnValue.Result = retVal.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_L6ED_GPTIwAaS_0816_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L6ED_GPTIwAaS_0816 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6ED_GPTIwAaS_0816_Array(); #region Get Storage Places var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = null, WarehouseID = null, AreaID = null, RackID = null, UseShelfIDList = false, ShelfIDs = new Guid[] { Guid.Empty }, UseProductIDList = false, ProductIDs = new Guid[] { Guid.Empty }, BottomShelfQuantity = 1, TopShelfQuantity = null, UseProductTrackingInstanceIDList = Parameter.ProductTrackingInstanceIds != null, ProductTrackingInstanceIDs = Parameter.ProductTrackingInstanceIds == null ? new Guid[] { Guid.Empty } : Parameter.ProductTrackingInstanceIds, StartExpirationDate = Parameter.StartDate, EndExpirationDate = Parameter.EndDate }; var resultStoragePlaces = cls_Get_StoragePlaces_for_FilterCriteria.Invoke( Connection, Transaction, filterCriteria, securityTicket); if (resultStoragePlaces.Status != FR_Status.Success || resultStoragePlaces.Result == null || resultStoragePlaces.Result.Count() == 0) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = new L6ED_GPTIwAaS_0816[] { }; return(returnValue); } #endregion #region Get Articles var parameterProductIds = new P_L3AR_GAfAL_0942(); parameterProductIds.ProductID_List = resultStoragePlaces.Result.Select(rsp => rsp.Product_RefID).Distinct().ToArray <Guid>(); var articles = new L3AR_GAfAL_0942[0]; if (parameterProductIds.ProductID_List.Length != 0) { articles = cls_Get_Articles_for_ArticleList.Invoke(Connection, Transaction, parameterProductIds, securityTicket).Result; } #endregion #region Get Supplier var parameterProductsBatchNumbers = new P_L6ED_GSRtTIbBNaP_1353(); parameterProductsBatchNumbers.ProductIDs = parameterProductIds.ProductID_List; parameterProductsBatchNumbers.BatchNumbers = resultStoragePlaces.Result.Select(rsp => rsp.BatchNumber).Distinct().ToArray <string>(); var resultSuppliers = cls_Get_StockReceipt_through_TrackingInstance_by_BatchNumbers_and_ProductIDs.Invoke(Connection, Transaction, parameterProductsBatchNumbers, securityTicket); if (resultSuppliers.Status != FR_Status.Success) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = new L6ED_GPTIwAaS_0816[] { }; return(returnValue); } #endregion #region Get MSR Guid[] productIds = articles.Select(x => x.CMN_PRO_ProductID).ToArray(); var msrForProducts = cls_Get_MSR_for_ProductIDList.Invoke( Connection, Transaction, new P_L3AS_GSMRfPL_1508 { ProductIDList = productIds }, securityTicket ).Result; #endregion #region Set Result var result = new List <L6ED_GPTIwAaS_0816>(); foreach (var storagePlace in resultStoragePlaces.Result) { var suppliers = resultSuppliers.Result .Where(rs => rs.BatchNumber == storagePlace.BatchNumber && rs.ReceiptPosition_Product_RefID == storagePlace.Product_RefID) .GroupBy(s => s.SupplierId, (key, group) => group.First()); var msrForProduct = msrForProducts.SingleOrDefault(x => x.ProductID == storagePlace.Product_RefID); result.Add(new L6ED_GPTIwAaS_0816() { StoragePlaces = storagePlace, Article = articles.FirstOrDefault(a => a.CMN_PRO_ProductID == storagePlace.Product_RefID), Suppliers = suppliers.ToArray(), MSR = (msrForProduct != null) ? msrForProduct.MSR : 0.0 }); } returnValue.Result = result.ToArray(); returnValue.Status = FR_Status.Success; #endregion return(returnValue); #endregion UserCode }
protected static FR_L5SR_GSRPfH_1544_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L5SR_GSRPfH_1544 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L5SR_GSRPfH_1544_Array(); #region Get StockReceiptPositions Position var parameterPositions = new CL5_APOLogistic_StockReceipt.Atomic.Retrieval.P_L5SR_GSROfHA_1408(); parameterPositions.ReceiptHeaderID = Parameter.ReceiptHeaderID; var positions = CL5_APOLogistic_StockReceipt.Atomic.Retrieval.cls_Get_StockReceiptsPositions_for_ReceiptHeaderID_Atomic .Invoke(Connection, Transaction, parameterPositions, securityTicket).Result; #endregion if (positions.Count() == 0) { returnValue.Result = new L5SR_GSRPfH_1544[0]; return(returnValue); } #region Get Articles var paramArticles = new CL3_Articles.Atomic.Retrieval.P_L3AR_GAfAL_0942(); paramArticles.ProductID_List = positions.Select(x => x.ReceiptPosition_Product_RefID).Distinct().ToArray(); var articles = CL3_Articles.Atomic.Retrieval.cls_Get_Articles_for_ArticleList.Invoke(Connection, Transaction, paramArticles, securityTicket).Result; #endregion #region Get All StoragePlaces for TenantID var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = null, WarehouseID = null, AreaID = null, RackID = null, UseShelfIDList = true, ShelfIDs = positions.Select(i => i.Target_WRH_Shelf_RefID).Distinct().ToArray(), UseProductIDList = false, ProductIDs = new Guid[] { Guid.Empty }, BottomShelfQuantity = null, TopShelfQuantity = null, UseProductTrackingInstanceIDList = false, ProductTrackingInstanceIDs = new Guid[] { Guid.Empty }, StartExpirationDate = null, EndExpirationDate = null }; var allStoragePlacesForTenant = cls_Get_StoragePlaces_for_FilterCriteria.Invoke( Connection, Transaction, filterCriteria, securityTicket).Result; #endregion #region Get_StandardPrices_for_ProductIDList var priceParam = new P_L3PR_GSPfPIL_1645 { ProductIDList = positions.Select(x => x.ReceiptPosition_Product_RefID).Distinct().ToArray() }; var prices = cls_Get_StandardPrices_for_ProductIDList.Invoke(Connection, Transaction, priceParam, securityTicket).Result; #endregion var result = new List <L5SR_GSRPfH_1544>(); foreach (var position in positions) { var retObj = new L5SR_GSRPfH_1544(); retObj.OrderPosition = position; retObj.Article = articles.SingleOrDefault(x => x.CMN_PRO_ProductID == position.ReceiptPosition_Product_RefID); retObj.StandardPrices = prices.SingleOrDefault(x => x.ProductID == position.ReceiptPosition_Product_RefID); if (position.Target_WRH_Shelf_RefID != Guid.Empty) { var storagePlace = allStoragePlacesForTenant.Where(i => i.LOG_WRH_ShelfID == position.Target_WRH_Shelf_RefID).FirstOrDefault(); if (storagePlace != null) { retObj.StoragePlace = String.Format("{0}-{1}-{2}-{3}", storagePlace.WarehouseCoordinateCode, storagePlace.AreaCoordinateCode, storagePlace.RackCoordinateCode, storagePlace.ShelfCoordinateCode); } } result.Add(retObj); } returnValue.Result = result.ToArray(); return(returnValue); #endregion UserCode }
protected static FR_L6SC_GFDfSC_1424 Execute(DbConnection Connection, DbTransaction Transaction, P_L6SC_GFDfSC_1424 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6SC_GFDfSC_1424(); returnValue.Result = new L6SC_GFDfSC_1424(); var priceForAllProducts = new List <L3PR_GSPfPIL_1645>(); var articles = new List <L3AR_GAfAL_0942>(); var productsBySupplier = new List <L3SP_GPfSvSR_1524>(); var productListId = new List <Guid>(); #region Filter by storage and quantity var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = Parameter.WarehouseStructure.Warehouse_GroupID, WarehouseID = Parameter.WarehouseStructure.WarehouseID, AreaID = Parameter.WarehouseStructure.AreaID, RackID = Parameter.WarehouseStructure.RackID, UseShelfIDList = Parameter.WarehouseStructure.ShelfID != null, ShelfIDs = new Guid[] { Parameter.WarehouseStructure.ShelfID == null ? Guid.Empty : new Guid(Parameter.WarehouseStructure.ShelfID.ToString()) }, UseProductIDList = false, ProductIDs = new Guid[] { Guid.Empty }, BottomShelfQuantity = (int?)Parameter.QuantityBottom, TopShelfQuantity = (int?)Parameter.QuantityTop, UseProductTrackingInstanceIDList = false, ProductTrackingInstanceIDs = new Guid[] { Guid.Empty }, StartExpirationDate = null, EndExpirationDate = null }; var resultStoragePlaces = cls_Get_StoragePlaces_for_FilterCriteria.Invoke( Connection, Transaction, filterCriteria, securityTicket); if (resultStoragePlaces.Status != FR_Status.Success || resultStoragePlaces.Result == null || resultStoragePlaces.Result.Count() <= 0) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = new L6SC_GFDfSC_1424() { }; return(returnValue); } var productsByStorage = resultStoragePlaces.Result.ToList(); var productIDsByStorageAndQuantity = productsByStorage.Select(x => x.Product_RefID).Distinct().ToList(); #endregion #region Filter by Supplier if (productIDsByStorageAndQuantity.Count != 0) { productsBySupplier = cls_Get_ProductIDs_for_SupplierID_via_StockReceipts.Invoke(Connection, Transaction, new P_L3SP_GPfSvSR_1524 { ProvidingSupplier = Parameter.ProvidingSupplier }, securityTicket).Result.ToList(); if (Parameter.ProvidingSupplier != null) { var productIDsBySupplier = productsBySupplier.Select(x => x.ReceiptPosition_Product_RefID).ToList(); productListId = productIDsBySupplier.Intersect(productIDsByStorageAndQuantity).ToList(); } else { productListId = productIDsByStorageAndQuantity; } } #endregion #region Filter by date of shipment if (Parameter.DateOfShipmentFrom != null || Parameter.DateOfShipmentTo != null) { var dateOfShipmentParam = new P_L6SC_GDSfAL_1418(); dateOfShipmentParam.ProductID_List = productListId.ToArray(); dateOfShipmentParam.shipmentStatus = null; dateOfShipmentParam.DateFrom = Parameter.DateOfShipmentFrom; var filterByDate = Get_DateOfShipment_for_ArticleList.Invoke(Connection, Transaction, dateOfShipmentParam, securityTicket).Result; productListId = filterByDate .Where(x => x.GlobalPropertyMatchingID != EnumUtils.GetEnumDescription(EShipmentStatus.Shipped)) .Select(x => x.CMN_PRO_Product_RefID).Distinct().ToList(); } #endregion #region Filter by Price if (productListId.Count != 0) { var filteredPrice = new List <L3PR_GSPfPIL_1645>(); var priceParams = new P_L3PR_GSPfPIL_1645(); bool isFilteredByPrice = false; priceParams.ProductIDList = productListId.ToArray(); priceForAllProducts = cls_Get_StandardPrices_for_ProductIDList.Invoke( Connection, Transaction, priceParams, securityTicket).Result.ToList(); if (Parameter.Price.DefaultSalesPriceFrom != null || Parameter.Price.DefaultSalesPriceTo != null) { filteredPrice = priceForAllProducts.Where(x => (Parameter.Price.DefaultSalesPriceFrom == null || x.SalesPrice >= Parameter.Price.DefaultSalesPriceFrom) && (Parameter.Price.DefaultSalesPriceTo == null || x.SalesPrice <= Parameter.Price.DefaultSalesPriceTo)).ToList(); isFilteredByPrice = true; } if (Parameter.Price.AverageProcurementPriceFrom != null || Parameter.Price.AverageProcurementPriceTo != null) { if (isFilteredByPrice) { filteredPrice = filteredPrice.Where(x => (Parameter.Price.AverageProcurementPriceFrom == null || x.AverageProcurementPrice >= Parameter.Price.AverageProcurementPriceFrom) && (Parameter.Price.AverageProcurementPriceTo == null || x.AverageProcurementPrice <= Parameter.Price.AverageProcurementPriceTo)).ToList(); } else { filteredPrice = priceForAllProducts.Where(x => (Parameter.Price.AverageProcurementPriceFrom == null || x.AverageProcurementPrice >= Parameter.Price.AverageProcurementPriceFrom) && (Parameter.Price.AverageProcurementPriceTo == null || x.AverageProcurementPrice <= Parameter.Price.AverageProcurementPriceTo)).ToList(); isFilteredByPrice = true; } } if (isFilteredByPrice) { var productListByPrice = filteredPrice.Select(x => x.ProductID).ToList(); productListId = productListId.Intersect(productListByPrice).ToList(); } } #endregion #region Get_Articles_for_ArticleList add producerID if (productListId.Count != 0) { var getArticlesParams = new P_L3AR_GAfAL_0942(); getArticlesParams.ProducingBusinessParticipant = Parameter.ProducingBusinessParticipant; getArticlesParams.ProductID_List = productListId.ToArray(); getArticlesParams.ProductGroupID = Parameter.ProductGroupID; articles = cls_Get_Articles_for_ArticleList.Invoke(Connection, Transaction, getArticlesParams, securityTicket).Result.ToList(); } #endregion #region filter by producer if ((articles.Count != 0) && (String.IsNullOrEmpty(Parameter.Producer) == false)) { articles = articles.Where(x => x.ProducerName.Contains(Parameter.Producer)).ToList(); } #endregion #region Get Msr for products var productIDs = articles.Select(x => x.CMN_PRO_ProductID).ToArray(); var msrForProducts = cls_Get_MSR_for_ProductIDList.Invoke( Connection, Transaction, new P_L3AS_GSMRfPL_1508 { ProductIDList = productIDs }, securityTicket ).Result; #endregion if (productListId.Count != 0) { var returnItemList = new List <L6SC_GFDfSC_1424a>(); foreach (var item in productsByStorage) { var article = articles.SingleOrDefault(x => x.CMN_PRO_ProductID == item.Product_RefID); var productMst = msrForProducts.SingleOrDefault(x => x.ProductID == item.Product_RefID); var trackingInstances = cls_GetTrackingInstances_for_ShelfContent.Invoke( Connection, Transaction, new P_L3TI_GTIfSC_1455() { ShelfContentID = item.LOG_WRH_Shelf_ContentID }, securityTicket).Result; if (article != null && trackingInstances != null && trackingInstances.Count() > 0) { var returnItem = new L6SC_GFDfSC_1424a(); returnItem.Storage = productsByStorage.Single(x => x.LOG_WRH_Shelf_ContentID == item.LOG_WRH_Shelf_ContentID); returnItem.Price = priceForAllProducts.SingleOrDefault(x => x.ProductID == item.Product_RefID); returnItem.Article = article; returnItem.Supplier = productsBySupplier.Where(x => x.ReceiptPosition_Product_RefID == item.Product_RefID).ToArray(); returnItem.TrackingInstance = trackingInstances[0]; returnItem.MSR = (productMst != null) ? productMst.MSR : 0.0; returnItemList.Add(returnItem); } } returnValue.Result.FullGridData = returnItemList.ToArray(); } return(returnValue); #endregion UserCode }
protected static FR_L6ED_GEDRSPDfPTI_1649_Array Execute(DbConnection Connection, DbTransaction Transaction, P_L6ED_GEDRSPDfPTI_1649 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_L6ED_GEDRSPDfPTI_1649_Array(); #region Get Storage Places var filterCriteria = new P_L3WH_GSPfFC_1504() { WarehouseGroupID = null, WarehouseID = null, AreaID = null, RackID = null, UseShelfIDList = false, ShelfIDs = new Guid[] { Guid.Empty }, UseProductIDList = false, ProductIDs = new Guid[] { Guid.Empty }, BottomShelfQuantity = 1, TopShelfQuantity = null, UseProductTrackingInstanceIDList = true, ProductTrackingInstanceIDs = Parameter.ProductTrackingInstanceIdList, StartExpirationDate = null, EndExpirationDate = null }; var resultStoragePlaces = cls_Get_StoragePlaces_for_FilterCriteria.Invoke(Connection, Transaction, filterCriteria, securityTicket); if (resultStoragePlaces.Status != FR_Status.Success || resultStoragePlaces.Result == null || resultStoragePlaces.Result.Count() <= 0) { returnValue.Status = FR_Status.Error_Internal; returnValue.Result = new L6ED_GEDRSPDfPTI_1649[] { }; return(returnValue); } #endregion #region Get Articles var parameterProductIds = new P_L3AR_GAfAL_0942(); parameterProductIds.ProductID_List = resultStoragePlaces.Result.Select(rsp => rsp.Product_RefID).Distinct().ToArray <Guid>(); var articles = new L3AR_GAfAL_0942[0]; if (parameterProductIds.ProductID_List.Length != 0) { articles = cls_Get_Articles_for_ArticleList.Invoke(Connection, Transaction, parameterProductIds, securityTicket).Result; } #endregion #region Set Result var groupingCriterias = resultStoragePlaces.Result.Select(i => new { ProductID = i.Product_RefID, BatchNumber = i.BatchNumber, ExpirationDate = i.ExpirationDate }).Distinct(); var result = new List <L6ED_GEDRSPDfPTI_1649>(); foreach (var groupingCriteria in groupingCriterias) { var trackingInstances = resultStoragePlaces.Result.Where(i => i.Product_RefID == groupingCriteria.ProductID && i.BatchNumber == groupingCriteria.BatchNumber && i.ExpirationDate == groupingCriteria.ExpirationDate).ToList(); result.Add(new L6ED_GEDRSPDfPTI_1649() { FakeID = Guid.NewGuid(), //this is important, because we don't have unique criteria for id on Front Article = articles.FirstOrDefault(a => a.CMN_PRO_ProductID == groupingCriteria.ProductID), BachNumber = groupingCriteria.BatchNumber, ExpiryDate = groupingCriteria.ExpirationDate, TrackingInstances = trackingInstances.Select(i => new L6ED_GEDRSPDfPTI_1649a() { ProductTrackingInstanceID = i.LOG_ProductTrackingInstanceID, ReceiptPositionID = Guid.Empty, ShelfContentID = i.LOG_WRH_Shelf_ContentID, SupplierID = Guid.Empty, SupplierName = "", ReturnableQuantity = 10, PricePerUnit = 0 }).ToArray() }); } returnValue.Result = result.ToArray(); returnValue.Status = FR_Status.Success; #endregion return(returnValue); #endregion UserCode }