示例#1
0
        public ActionResult GetSellerInformation(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(UserList());
            }
            var seller = _sellerRepository.Find(id);

            return(View(seller));
        }
示例#2
0
        public async Task <ActionResult <SellerDto> > Get(string userName)
        {
            var seller = await _sellerRepo.Find(userName);

            if (seller == null)
            {
                return(NotFound());
            }
            return(Ok(seller));
        }
        /// <summary>
        /// 商品の販売
        /// </summary>
        public SellResult Sell(Guid sellerId, string productName, decimal productPrice, int productPointRate)
        {
            var seller = sellerRepository.Find(sellerId);

            if (seller == null)
            {
                return(new SellResult {
                    Type = SellResultType.NotFound
                });
            }

            if (seller.State != SellerState.Available)
            {
                return(new SellResult {
                    Type = SellResultType.NotAvailableSeller
                });
            }

            var product = Product.New(productName, productPrice, productPointRate, seller);

            product.Sell();
            productRepository.Create(product);

            return(new SellResult {
                Type = SellResultType.Ok, Product = product
            });
        }
        public Seller Approve(Guid sellerId, Guid administratorId)
        {
            var administrator = administratorRepository.FindBy(administratorId);

            if (administrator == null)
            {
                throw new InvalidOperationException("管理者が見つかりません");
            }
            var seller = sellerRepository.Find(sellerId);

            if (seller == null)
            {
                throw new InvalidOperationException("販売者が見つかりません");
            }

            seller.Activate(administrator);
            sellerRepository.Save(seller, administratorId);
            return(seller);
        }
示例#5
0
        public async Task Execute(string userName)
        {
            var seller = await _sellerRepo.Find(userName);

            var listedItems = await _ebayFindingService.FindItemsAdvanced(userName);

            List <string> processed = new List <string>();

            foreach (var itemInfo in listedItems)
            {
                if (!processed.Contains(itemInfo.ItemId) && !await _itemRepo.Exists(itemInfo.ItemId))
                {
                    var item = await _ebayTradingService.GetItem(itemInfo.ItemId);

                    string pictureUrls = null;
                    if (item.PictureURLs?.Any() ?? false)
                    {
                        pictureUrls = string.Join(Environment.NewLine, item.PictureURLs);
                    }
                    var product = new SellerProduct()
                    {
                        Country             = itemInfo.Country,
                        EbayBuyItNowPrice   = item.EbayBuyItNowPrice,
                        EbayDescription     = itemInfo.EbayDescription,
                        EbayLongDescription = item.EbayDescription,
                        ItemId                 = item.ItemId,
                        EbayItemLocation       = itemInfo.EbayItemLocation,
                        EbayItemPictureDetails = pictureUrls,
                        EbayViewItemUrl        = itemInfo.EbayViewItemUrl,
                        SKU               = item.SKU,
                        UserId            = seller.Id,
                        CrossboarderTrade = item.CrossboarderTrade,
                    };
                    _itemRepo.Add(product);
                    processed.Add(item.ItemId);
                    if (item.PictureURLs?.Any() ?? false)
                    {
                        var imageHashes = new List <byte[]>();
                        await LoadImages(item.PictureURLs, product, imageHashes);
                    }
                    await _uow.SaveEntitiesAsync();
                }
            }
            //return new ReviewsResultDto
            //{
            //	Escalated = processed.Count,
            //	Total = seller.Total + processed.Count
            //};
        }