Ejemplo n.º 1
0
 public IActionResult Create([FromBody] Goods item)
 {
     passport = CommonMethod.GetPassport(Request);
     if (item == null)
     {
         return(BadRequest());
     }
     //不存在记录才添加
     if (service.FindByName(passport, item.Name) == null)
     {
         return(new ObjectResult(service.Add(passport, item)));
     }
     else
     {
         return(new ObjectResult(""));
     }
 }
Ejemplo n.º 2
0
        public void AddGoods(GoodsDTO goodsDTO, string creatorId)
        {
            var goodsImages = goodsDTO.GoodsImages.Select(item => new GoodsImage {
                CreatedOn = DateTime.Now, ImageId = item.ImageId
            }).ToList();
            var grouponConditions = goodsDTO.GrouponConditions.Select(item => new GrouponCondition {
                MoreThanNumber = item.MoreThanNumber, Price = item.Price
            }).ToList();

            var obj = GoodsFactory.CreateGoods(
                goodsDTO.ItemNumber,
                goodsDTO.Category,
                goodsDTO.SubCategory,
                goodsDTO.Title,
                goodsDTO.Description,
                goodsDTO.Detail,
                goodsDTO.UnitPrice,
                goodsDTO.MarketPrice,
                goodsDTO.Unit,
                goodsDTO.Stock,
                goodsDTO.StoreId,
                creatorId,
                goodsDTO.OptionalPropertyJsonObject,
                grouponConditions,
                goodsImages,
                goodsDTO.Address,
                goodsDTO.DistributionScope,
                goodsDTO.GoodsCategoryName,
                goodsDTO.VideoPath);

            _goodsRepository.Add(obj);

            goodsImages.ForEach(item =>
            {
                _goodsImageRepository.Add(item);
            });

            grouponConditions.ForEach(item =>
            {
                _grouponConditionRepository.Add(item);
            });

            _dbUnitOfWork.Commit();
        }
Ejemplo n.º 3
0
 public async Task <BaseApiResult <bool> > Excute(CreateGoodsDto input)
 {
     return(await HandleAsync(input, async() =>
     {
         //工厂创建商品聚合
         var goods = new GoodsFactory().Create(input.Name, input.Price, input.ImageId, input.Stock);
         //创建商品规约检查
         if (await new CreateGoodsSpecification(goodsRepository).SatisfiedBy(goods))
         {
             //仓储添加
             goodsRepository.Add(goods);
             await goodsRepository.SaveAsync();
             var proxy = serverProxyFactory.CreateProxy <IGoodsActor>(goods.Id);
             await proxy.Add(goods);//创建actor对象到缓存里
             return true;
         }
         return false;
     }));
 }
        public async Task <ApiResult> CreateGoods(GoodsCreateDto input)
        {
            var goods = new Goods();

            goods.CreateOrUpdateGoods(input.GoodsName, input.GoodsImage, input.Price, input.CategoryId);
            goods.UpOrDownShelf(false);
            goods.ChangeStock(input.Stock);
            repository.Add(goods);
            if (await new GoodsValidityCheckSpecification(repository, goodsCategoryRepository).IsSatisfiedBy(goods))
            {
                if (await unitofWork.CommitAsync())
                {
                    await localEventBus.SendEvent(EventTopicDictionary.Goods.Loc_WriteToElasticsearch, goods);

                    return(ApiResult.Ok("商品创建成功"));
                }
            }
            return(ApiResult.Ok("商品创建失败"));
        }
Ejemplo n.º 5
0
        public IActionResult AddGoodIntoStoreId([FromBody] GoodsVmIn goodsVM)
        {
            if (goodsVM == null || string.IsNullOrEmpty(goodsVM.Good_name) || goodsVM.StoreId == null)
            {
                return(Ok(new { success = false, message = "Недопустимый формат" }));
            }

            var good = new Goods
            {
                StoreId     = (int)goodsVM.StoreId,
                Good_name   = goodsVM.Good_name,
                Description = goodsVM.Description,
                Type        = goodsVM.Type,
                Amount      = goodsVM.Amount,
                Cost        = goodsVM.Cost
            };

            _goodRepository.Add(good);
            return(Ok(new { success = true, message = "Товар успешно добавлен в магазин" }));
        }
Ejemplo n.º 6
0
        public static void ChooseOperationForGoodsRepository(IGoodsRepository goodsRepository, OperationForGoodsRepository goodsRepositoryOperation)
        {
            switch (goodsRepositoryOperation)
            {
            case OperationForGoodsRepository.ShowAll:
                ShowAllGoods(goodsRepository.Get());
                break;

            case OperationForGoodsRepository.ShowById:
                Console.WriteLine("Enter good Id: ");
                if (int.TryParse(Console.ReadLine(), out var getGoodId))
                {
                    Console.WriteLine(goodsRepository.Get(getGoodId));
                }
                break;

            case OperationForGoodsRepository.Add:
                Good goodToAdd = CreateGoodToAdd();
                goodsRepository.Add(goodToAdd);
                Console.WriteLine("New good added");
                break;

            case OperationForGoodsRepository.Update:

                Good goodToUpdate = null;
                Console.Write("Enter good Id to update: ");
                if (int.TryParse(Console.ReadLine(), out var getGoodIdToUpdate))
                {
                    goodToUpdate = goodsRepository.Get(getGoodIdToUpdate);
                }
                var fieldToUpdate = ShowGoodUpdateMenu();
                ChooseFieldToUpdate(goodToUpdate, fieldToUpdate);

                goodsRepository.Update(goodToUpdate);
                Console.WriteLine("Good updated");
                break;

            case OperationForGoodsRepository.Delete:
                Console.WriteLine("Enter good Id: ");
                if (int.TryParse(Console.ReadLine(), out var deleteGoodId))
                {
                    goodsRepository.Delete(deleteGoodId);
                    Console.WriteLine("Good deleted");
                }
                break;

            case OperationForGoodsRepository.ShowMaxQuantityGood:
                var goodMaxQuantity = goodsRepository.GetMaxQuantityGood();
                Console.WriteLine($" Max quantity Good: Name: {goodMaxQuantity.Name} Quantity: {goodMaxQuantity.Quantity}");
                break;

            case OperationForGoodsRepository.ShowMinQuantityGood:
                var goodMinQuantity = goodsRepository.GetMinQuantityGood();
                Console.WriteLine($" Min quantity Good: Name: {goodMinQuantity.Name} Quantity: {goodMinQuantity.Quantity}");
                break;

            case OperationForGoodsRepository.ShowMaxCostGood:
                var goodMaxCost = goodsRepository.GetMaxCostGood();
                Console.WriteLine($" Max cost Good: Name: {goodMaxCost.Name} Cost: {goodMaxCost.Cost}");
                break;

            case OperationForGoodsRepository.ShowMinCostGood:
                var goodMinCost = goodsRepository.GetMinCostGood();
                Console.WriteLine($" Min cost Good: Name: {goodMinCost.Name} Cost: {goodMinCost.Cost}");
                break;

            case OperationForGoodsRepository.ShowGoodsByType:
                IEnumerable <Good> goodsByTypeId = null;
                Console.Write("Enter type Id: ");
                if (int.TryParse(Console.ReadLine(), out var typeId))
                {
                    goodsByTypeId = goodsRepository.GetGoodsByType(typeId);
                }
                ShowAllGoods(goodsByTypeId);
                break;

            case OperationForGoodsRepository.ShowGoodsBySupplier:
                IEnumerable <Good> goodsBySupplier = null;
                Console.Write("Enter supplier Id: ");
                if (int.TryParse(Console.ReadLine(), out var supplierId))
                {
                    goodsBySupplier = goodsRepository.GetGoodsBySupplier(supplierId);
                }
                ShowAllGoods(goodsBySupplier);
                break;

            case OperationForGoodsRepository.ShowGoodsByPassedDays:
                IEnumerable <Good> goodsByPassedDays = null;
                Console.Write("Enter number of days: ");
                if (int.TryParse(Console.ReadLine(), out var numberOfDays))
                {
                    goodsByPassedDays = goodsRepository.GetGoodsByPassedDays(numberOfDays);
                }
                ShowAllGoods(goodsByPassedDays);
                break;

            case OperationForGoodsRepository.ShowGoodsByPassedMaxDays:
                var theOldestGood = goodsRepository.GetTheOldestGood();
                Console.WriteLine($" The oldest Good: Name: {theOldestGood.Name} DeliveryDate: {theOldestGood.DeliveryDate}");
                break;

            case OperationForGoodsRepository.ShowAverageGoodsQuantityByType:
                goodsRepository.GetAvgGoodsQuantityByType();
                break;

            default:
                Environment.Exit(0);
                break;
            }
        }
Ejemplo n.º 7
0
        public IActionResult Add(PDD.Core.Model.Goods gs)
        {
            int i = _goodsRepository.Add(gs);

            return(Ok(i));
        }
Ejemplo n.º 8
0
 public async Task AddAndSave(Good good)
 {
     _goodRepo.Add(good);
     await _goodRepo.Save();
 }
Ejemplo n.º 9
0
 public async Task <DefaultEventHandlerResponse> EventHandleSetDefMallSetting(EventHandleRequest <string> input)
 {
     return(await new DefaultEventHandlerResponse().RunAsync(nameof(EventHandleSetDefMallSetting), input.GetDataJson(), async() =>
     {
         var categorys = new List <GoodsCategory>()
         {
             new GoodsCategory()
             {
                 CategoryName = "精选热菜", Sort = 0
             },
             new GoodsCategory()
             {
                 CategoryName = "爽口凉菜", Sort = 1
             },
             new GoodsCategory()
             {
                 CategoryName = "小吃主食", Sort = 2
             },
             new GoodsCategory()
             {
                 CategoryName = "特色粥品", Sort = 3
             }
         };
         categoryRepository.Add(categorys[0]);
         categoryRepository.Add(categorys[1]);
         categoryRepository.Add(categorys[2]);
         categoryRepository.Add(categorys[3]);
         var willSend = new List <Goods>();
         Goods createGoods(string name, string url, decimal price, Guid categoryid)
         {
             var goods = new Goods();
             goods.CreateOrUpdateGoods(name, url, price, categoryid);
             goods.UpOrDownShelf(true);
             goods.ChangeStock(100);
             repository.Add(goods);
             willSend.Add(goods);
             return goods;
         }
         void createLimit(Goods goods)
         {
             var entity = new LimitedTimeActivitie();
             entity.CreateOrUpdate(goods.GoodsName, goods.Id, goods.Price - new Random(Guid.NewGuid().GetHashCode()).Next(1, 4), DateTime.Now, DateTime.Now.AddDays(30));
             entity.UpOrDownShelf(true);
             limitrepository.Add(entity);
         }
         createGoods("娃娃菜炖豆腐", "http://fuss10.elemecdn.com/d/2d/b1eb45b305635d9dd04ddf157165fjpeg.jpeg?imageView2/1/w/114/h/114", 17, categorys[0].Id);
         createGoods("手撕包菜", "http://fuss10.elemecdn.com/9/c6/f3bc84468820121112e79583c24efjpeg.jpeg?imageView2/1/w/114/h/114", 16, categorys[0].Id);
         var goods1 = createGoods("香酥黄金鱼/3条", "http://fuss10.elemecdn.com/4/e7/8277a6a2ea0a2e97710290499fc41jpeg.jpeg?imageView2/1/w/114/h/114", 11, categorys[0].Id);
         createGoods("八宝酱菜", "http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114", 4, categorys[1].Id);
         createGoods("拍黄瓜", "http://fuss10.elemecdn.com/6/54/f654985b4e185f06eb07f8fa2b2e8jpeg.jpeg?imageView2/1/w/114/h/114", 9, categorys[1].Id);
         createGoods("扁豆焖面", "http://fuss10.elemecdn.com/c/6b/29e3d29b0db63d36f7c500bca31d8jpeg.jpeg?imageView2/1/w/114/h/114", 14, categorys[2].Id);
         createGoods("葱花饼", "http://fuss10.elemecdn.com/f/28/a51e7b18751bcdf871648a23fd3b4jpeg.jpeg?imageView2/1/w/114/h/114", 10, categorys[2].Id);
         var goods2 = createGoods("牛肉馅饼", "http://fuss10.elemecdn.com/d/b9/bcab0e8ad97758e65ae5a62b2664ejpeg.jpeg?imageView2/1/w/114/h/114", 14, categorys[2].Id);
         createGoods("招牌猪肉白菜锅贴/10个", "http://fuss10.elemecdn.com/7/72/9a580c1462ca1e4d3c07e112bc035jpeg.jpeg?imageView2/1/w/114/h/114", 7, categorys[2].Id);
         createGoods("皮蛋瘦肉粥", "http://fuss10.elemecdn.com/c/cd/c12745ed8a5171e13b427dbc39401jpeg.jpeg?imageView2/1/w/114/h/114", 10, categorys[3].Id);
         var goods3 = createGoods("红豆薏米美肤粥", "http://fuss10.elemecdn.com/d/22/260bd78ee6ac6051136c5447fe307jpeg.jpeg?imageView2/1/w/114/h/114", 12, categorys[3].Id);
         createGoods("红枣山药糙米粥", "http://fuss10.elemecdn.com/9/b5/469d8854f9a3a03797933fd01398bjpeg.jpeg?imageView2/1/w/114/h/114", 10, categorys[3].Id);
         var goods4 = createGoods("鲜蔬菌菇粥", "http://fuss10.elemecdn.com/e/a3/5317c68dd618929b6ac05804e429ajpeg.jpeg?imageView2/1/w/114/h/114", 11, categorys[3].Id);
         createLimit(goods1);
         createLimit(goods2);
         createLimit(goods3);
         createLimit(goods4);
         if (await unitofWork.CommitAsync())
         {
             await localEventBus.SendEvent(EventTopicDictionary.Goods.Loc_WriteToElasticsearch, willSend);
         }
     }));