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")); }
public IActionResult Create() { ItemImageViewModel images = new ItemImageViewModel(); ViewBag.Items = _itemRepository.GetAll(); return(PartialView("_Create", Mapper.Map <ItemImageViewModel>(images))); }
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 })); }
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)); } }
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)); }