예제 #1
0
        public async Task <IActionResult> Create([FromForm] ItemImageViewModel viewModel, List <IFormFile> files)
        {
            if (ModelState.IsValid)
            {
                foreach (var file in files)
                {
                    var newItemImage = Mapper.Map <ItemImage>(viewModel);
                    newItemImage.UserId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                    if (!Directory.Exists(_hostingEnviroment.WebRootPath + "\\images\\" + viewModel.ItemId + "\\"))
                    {
                        Directory.CreateDirectory(_hostingEnviroment.WebRootPath + "\\images\\" + viewModel.ItemId + "\\");
                    }
                    var filePath = Path.Combine(_hostingEnviroment.WebRootPath + "\\images\\" + viewModel.ItemId + "\\", file.FileName);
                    using (var fileStream = new FileStream(filePath, FileMode.Create))
                    {
                        await file.CopyToAsync(fileStream);

                        newItemImage.Name       = "\\images\\" + viewModel.ItemId + "\\" + file.FileName;
                        newItemImage.CreateDate = DateTime.Now;
                    }
                    _repository.Insert(newItemImage);
                    await _repository.SaveChangesAsync();
                }
            }
            return(RedirectToAction("Index", "Item"));
        }
예제 #2
0
        public IActionResult Create()
        {
            ItemImageViewModel images = new ItemImageViewModel();

            ViewBag.Items = _itemRepository.GetAll();
            return(PartialView("_Create", Mapper.Map <ItemImageViewModel>(images)));
        }
예제 #3
0
        public ItemImagePage(ItemImageViewModel itemImageViewModel)
        {
            InitializeComponent();
            zoomToastCancelTokenSource      = new CancellationTokenSource();
            doubleTapToastCancelTokenSource = new CancellationTokenSource();
            panToastCancelTokenSource       = new CancellationTokenSource();
            BindingContext = viewModel = itemImageViewModel;

            Analytics.TrackEvent($"Opening: {MethodBase.GetCurrentMethod().ReflectedType?.Name}.{MethodBase.GetCurrentMethod().Name}");
        }
        public ActionResult Upload(int id, HttpPostedFileBase file)
        {
            ItemImage itemImage = new ItemImage();

            //var ItemId = h.ItemId;
            itemImage.ItemId = id;
            itemImage.Image  = file.FileName;
            byte[] data = new byte[file.ContentLength];
            file.InputStream.Read(data, 0, file.ContentLength);
            itemImage.ImageData = data;

            //if (file.ContentLength>(2*1024*1024))
            //{
            //    ModelState.AddModelError("CustomError", "File size must be less than 2MB");
            //    return View();
            //}
            //if (!(file.ContentType == "image/jpeg" || file.ContentType == "image/png"))
            //{
            //    ModelState.AddModelError("CustomError", "File types allowed: jpeg, png");
            //    return View();
            //}

            var model = new ItemImageViewModel
            {
                Image     = file.FileName,
                ImageData = data,
                File      = file,
            };

            using (ConstructionLKContext db = new ConstructionLKContext())
            {
                if (ModelState.IsValid)
                {
                    db.ItemImages.Add(itemImage);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (System.Data.Entity.Infrastructure.DbUpdateException e)
                    {
                        throw e;
                    }
                }
            }
            return(RedirectToAction("Gallery", new { id = id }));
        }
예제 #5
0
        public JsonResult AddImage(Guid Id)
        {
            var model = new ItemImageViewModel();

            try
            {
                foreach (string file in Request.Files)
                {
                    var fileContent = Request.Files[file];
                    if (fileContent.ContentLength > 0)
                    {
                        var fileName = Guid.NewGuid().ToString() + fileContent.FileName;
                        var path     = Path.Combine(Server.MapPath("~/imgs/"), fileName);
                        //var path = Path.Combine("http://www.liar114.com/imgs/", fileName);

                        fileContent.SaveAs(path);

                        var itemImage = new ItemImage();
                        {
                            itemImage.ItemId = Id;
                            itemImage.Path   = Path.Combine("http://www.liar114.com/imgs/", fileName);
                        }

                        var img = db.ItemImages.Add(itemImage);

                        db.SaveChanges();

                        model = new ItemImageViewModel(img);
                    }
                }

                return(Json(model, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                return(Json(e.InnerException));
            }
        }
예제 #6
0
        public JsonResult GetItemImages(Guid itemId)
        {
            var imgModels = new List <ItemImageViewModel>();

            try
            {
                var imgs = db.ItemImages.Where(x => x.ItemId == itemId).ToList();

                if (imgs != null && imgs.Count > 0)
                {
                    foreach (var img in imgs)
                    {
                        var imgModel = new ItemImageViewModel(img);
                        imgModels.Add(imgModel);
                    }
                }
            }
            catch
            {
            }

            return(Json(imgModels, JsonRequestBehavior.AllowGet));
        }