Ejemplo n.º 1
0
        private DataLayer.ItemDimensionSearchModel GetItemDimensionQuantities(
            string warehouseFromCode, string warehouseToCode, int itemDimIserial)
        {
            using (var entities = new WorkFlowManagerDBEntities())
            {
                var temp = entities.TblStocks.Include(
                    nameof(TblStock.TblWarehouse1)).Include(nameof(TblStock.TblItemDim1))
                           .Include(string.Format("{0}.{1}", nameof(TblStock.TblItemDim1), nameof(TblItemDim.TblColor1)));

                var itemFrom = temp.AsExpandable().FirstOrDefault(i => i.TblWarehouse1.Code == warehouseFromCode &&
                                                                  i.TblItemDim == itemDimIserial);
                var itemTo = temp.AsExpandable().FirstOrDefault(i => i.TblWarehouse1.Code == warehouseToCode &&
                                                                i.TblItemDim == itemDimIserial);
                if (itemTo == null)
                {
                    itemTo = new TblStock();
                }
                var result = new DataLayer.ItemDimensionSearchModel();
                if (itemFrom != null && itemTo != null)
                {
                    result = new DataLayer.ItemDimensionSearchModel()
                    {
                        ItemId   = itemFrom.TblItemDim1.ItemIserial,
                        ItemName = entities.FabricAccSearches.FirstOrDefault(i =>
                                                                             i.Iserial == itemFrom.TblItemDim1.ItemIserial && i.ItemGroup == itemFrom.TblItemDim1.ItemType) == null ? "" : entities.FabricAccSearches.FirstOrDefault(i =>
                                                                                                                                                                                                                                     i.Iserial == itemFrom.TblItemDim1.ItemIserial && i.ItemGroup == itemFrom.TblItemDim1.ItemType).Name,
                        ItemType = itemFrom.TblItemDim1.ItemType ?? "",
                        ItemCode = entities.FabricAccSearches.FirstOrDefault(i =>
                                                                             i.Iserial == itemFrom.TblItemDim1.ItemIserial && i.ItemGroup == itemFrom.TblItemDim1.ItemType).Code,
                        AvailableQuantity   = itemFrom.Qty,
                        PendingQuantity     = itemFrom.PendingQty,
                        AvailableToQuantity = itemTo.Qty,        // لانه نفس الصنف
                        PendingToQuantity   = itemTo.PendingQty, // لانه نفس الصنف
                        SiteFromIserial     = itemFrom.TblItemDim1.TblSite,
                        BatchNoFrom         = itemFrom.TblItemDim1.BatchNo ?? "",
                        SizeFrom            = itemFrom.TblItemDim1.Size ?? "",
                        ColorFromId         = itemFrom.TblItemDim1.TblColor,
                        SiteToIserial       = itemFrom.TblItemDim1.TblSite,       //itemTo
                        BatchNoTo           = itemFrom.TblItemDim1.BatchNo ?? "", //itemTo
                        SizeTo              = itemFrom.TblItemDim1.Size ?? "",    //itemTo
                        ColorToId           = itemFrom.TblItemDim1.TblColor,      //itemTo
                        IsAcc               = itemFrom.TblItemDim1.ItemType.ToLower().Contains("acc"),
                        ItemDimFromIserial  = itemFrom.TblItemDim,
                        ItemDimToIserial    = itemFrom.TblItemDim,//itemTo
                        TransferredQuantity = 0,
                    };
                    result.ColorFromCode = entities.TblColors.FirstOrDefault(c => c.Iserial == itemFrom.TblItemDim1.TblColor).Code;
                    result.ColorFrom.InjectFrom(itemFrom.TblItemDim1.TblColor1);   //itemFrom
                    result.ColorPerRow.InjectFrom(itemFrom.TblItemDim1.TblColor1); //itemTo
                }
                return(result);
            }
        }
Ejemplo n.º 2
0
 private DataLayer.ItemDimensionSearchModel GetItemToQuantities(
     DataLayer.ItemDimensionSearchModel item, string warehouseCode)
 {
     using (var context = new WorkFlowManagerDBEntities())
     {
         var temp = context.FindOrCreateItemDim(item.ItemId, item.ItemType,
                                                item.ColorToId, item.SizeTo, item.BatchNoTo, item.SiteToIserial);
         var itemdim = temp.FirstOrDefault();
         item.ItemDimToIserial    = itemdim.Iserial;
         item.AvailableToQuantity = GetItemQuantityByWarehouse(context, warehouseCode, item.ItemDimToIserial);
         item.PendingToQuantity   = GetItemPendingByWarehouse(context, warehouseCode, item.ItemDimToIserial);
         return(item);
     }
 }