Example #1
0
        public async Task <IActionResult> ItemUpdate(ItemModel im, IList <IFormFile> files)
        {
            ServiceReference_Item.Item i = null;
            string mainimage             = "";
            string moreimage             = "";
            int    count = 0;
            string path  = _host.WebRootPath + @"/images/";

            string[]             imgOrigin   = im.MoreImage.TrimEnd(',').Split(',');
            string[]             imageUpdate = im.ImageUpdate.TrimEnd(',').Split(',');
            IEnumerable <string> imgs        = imgOrigin.Except(imageUpdate);

            try
            {
                if (files.Count == 0)
                {
                    mainimage = imageUpdate[0];
                    moreimage = im.ImageUpdate;
                }
                else if (files.Count == 1)
                {
                    foreach (IFormFile f in files)
                    {
                        im.ImageUpdate += f.FileName + ",";
                        System.IO.FileStream fs = System.IO.File.Create(path + f.FileName);
                        f.CopyTo(fs);
                        fs.Flush();
                        fs.Dispose();
                    }
                    moreimage = im.ImageUpdate;
                    mainimage = imageUpdate[0];
                }
                else
                {
                    foreach (IFormFile f in files)
                    {
                        im.ImageUpdate += f.FileName + ",";
                        System.IO.FileStream fs = System.IO.File.Create(path + f.FileName);
                        f.CopyTo(fs);
                        fs.Flush();
                        fs.Dispose();
                        count++;
                    }
                    moreimage = im.ImageUpdate;
                    mainimage = imageUpdate[0];
                }

                // xóa file
                foreach (var img in imgs)
                {
                    System.IO.File.Delete(path + img);
                }
                i = await item.findItembyIdAsync(im.ItemId);

                i.ItemId          = im.ItemId;
                i.ItemName        = im.ItemName;
                i.ImageItem       = mainimage;
                i.MoreImage       = moreimage;
                i.DescriptionItem = im.DescriptionItem;
                i.MinQuantity     = im.MinQuantity;
                i.Price           = im.Price;
                i.Discount        = im.Discount;
                i.CategoryId      = im.CategoryId;
                i.SupplierId      = _id;
                i.ParentItem      = im.ParentItem;
                i.AddedDate       = im.AddedDate;
                i.Warranty        = im.Warranty;
                i.UnitId          = im.UnitId;
                i.Note            = im.Note;
                i.ShippingFee     = im.ShippingFee;
                i.FAQ             = im.FAQ;
                i.StatusItem      = im.StatusItem;
                bool _boolean = await item.updateItemAsync(i);

                if (_boolean)
                {
                    flag    = "success";
                    message = "Update Item success";
                }
            }
            catch (System.Exception)
            {
                flag    = "error";
                message = "Update Item unsuccess";
            }
            return(RedirectToAction("ItemEdit/" + im.ItemId));
        }