Exemple #1
0
        public async Task <BaseResponse <bool> > AddMerchandise(AddMerchandiseRequestModel addMerchandiseRequestModel, string account)
        {
            string path = "";

            try
            {
                if (addMerchandiseRequestModel == null)
                {
                    throw new ArgumentNullException(nameof(addMerchandiseRequestModel));
                }

                string guid = Guid.NewGuid().ToString();
                var    size = addMerchandiseRequestModel.MerchandisePhotos.Length;
                if (size > 0)
                {
                    path = $@"{_folder}\{guid}.{addMerchandiseRequestModel.MerchandisePhotos.FileName.Split(".")[1]}";
                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        await addMerchandiseRequestModel.MerchandisePhotos.CopyToAsync(stream).ConfigureAwait(false);
                    }
                }
                var toBeAddItem = mapper.Map <AddMerchandiseRequestModel, Merchandise>(addMerchandiseRequestModel);
                toBeAddItem.MerchandiseId = guid;
                toBeAddItem.OwnerAccount  = account;
                toBeAddItem.ImagePath     = $"{guid}.{addMerchandiseRequestModel.MerchandisePhotos.FileName.Split(".")[1]}";

                context.Merchandise.Add(toBeAddItem);
                if (addMerchandiseRequestModel.EnableSpec)
                {
                    int specIndex = 1;
                    var specs     = addMerchandiseRequestModel.SpecList.Select(data =>
                    {
                        var temp           = mapper.Map <AddSpecModel, MerchandiseSpec>(data);
                        temp.MerchandiseId = guid;
                        temp.SpecId        = specIndex++;
                        return(temp);
                    });

                    context.MerchandiseSpec.AddRange(specs);
                }

                context.SaveChanges();
                return(new BaseResponse <bool>(true, "上傳成功", true));
            }
            catch (Exception ex)
            {
                if (File.Exists(path))
                {
                    File.Delete(path);
                }
                return(new BaseResponse <bool>(false, "上傳失敗", false));
            }
        }
Exemple #2
0
        public async Task <BaseResponse <bool> > AddMerchandise([FromForm] AddMerchandiseRequestModel addMerchandiseRequestModel)
        {
            string account = "tychang";

            return(await merchandiseService.AddMerchandise(addMerchandiseRequestModel, account).ConfigureAwait(false));
        }