public ShipmentPickListViewModel(FBAPickListDTO pickList, ShipmentsTypeEnum shipmentsType)
 {
     Id           = pickList.Id;
     Archived     = pickList.Archived;
     Status       = pickList.Status;
     CreateDate   = pickList.CreateDate;
     ShipmentType = shipmentsType;
 }
        public static IList <SelectListItemTag> GetListingByStyleSize(
            IUnitOfWork db,
            long styleItemId,
            long?selectedListingId,
            ShipmentsTypeEnum shipmenttype)
        {
            if (shipmenttype == ShipmentsTypeEnum.FBA)
            {
                var listings = db.Listings.GetViewListings().Where(l => l.StyleItemId == styleItemId &&
                                                                   !l.IsRemoved &&
                                                                   l.MarketplaceId == MarketplaceKeeper.AmazonComMarketplaceId)
                               .ToList()
                               .OrderByDescending(l => l.IsFBA)
                               .ThenBy(l => l.Rank ?? RankHelper.DefaultRank)
                               .ToList();

                var resultListings = new List <ViewListing>();
                foreach (var listing in listings)
                {
                    if (!resultListings.Any(l => l.ASIN == listing.ASIN && l.IsFBA) || //NOTE: if list already contain FBA version of listing
                        listing.Id == selectedListingId)
                    {
                        resultListings.Add(listing);
                    }
                }

                return(resultListings.Select(l => new SelectListItemTag()
                {
                    Text = l.ASIN + " - " + (l.Rank.HasValue ? "#" + l.Rank.Value.ToString("###,###,###,###") : "n/a") + (l.IsFBA ? " (FBA)" : ""),
                    Value = l.Id.ToString(),
                    Selected = l.IsFBA,
                    Tag = l.IsFBA.ToString()
                }).ToList());
            }
            else
            {
                var listings = db.Listings.GetViewListings().Where(l => l.StyleItemId == styleItemId &&
                                                                   !l.IsRemoved &&
                                                                   l.Market == (int)MarketType.Walmart)
                               .ToList()
                               .OrderByDescending(l => l.Id)
                               .ToList();

                return(listings.Select(l => new SelectListItemTag()
                {
                    Text = l.SKU,
                    Value = l.Id.ToString()
                }).ToList());
            }
        }
        public IQueryable <FBAPickListDTO> GetAllAsDto(ShipmentsTypeEnum FBAPickListType)
        {
            var query = unitOfWork.GetSet <FBAPickList>()
                        .Select(f => new FBAPickListDTO()
            {
                Id              = f.Id,
                Status          = f.Status,
                FBAPickListType = f.FBAPickListType,
                Archived        = f.Archived,
                CreateDate      = f.CreateDate,
                CreatedBy       = f.CreatedBy,
            });

            if (FBAPickListType != ShipmentsTypeEnum.None)
            {
                query = query.Where(x => x.FBAPickListType == FBAPickListType.ToString());
            }
            return(query);
        }
        public virtual ActionResult GetListingByStyleSize(long styleItemId, long?selectedListingId, ShipmentsTypeEnum shipmenttype)
        {
            LogI("GetListingByStyleSize, styleItemId=" + styleItemId);

            var list = ShipmentPickListViewModel.GetListingByStyleSize(Db, styleItemId, selectedListingId, shipmenttype);

            return(JsonGet(ValueResult <IList <SelectListItemTag> > .Success("", list)));
        }