public ActionResult CreateFilterItem() { CreateFilterItemViewModel model = new CreateFilterItemViewModel(); foreach (var filter in _filterService.GetFilters(f => true, f => f.Game)) { model.Filters.Add(new SelectListItem() { Text = string.Format($"{filter.Text} ({filter.Game.Name})"), Value = filter.Value }); } return(View(model)); }
public async Task <ActionResult> EditFilterItem(CreateFilterItemViewModel model, HttpPostedFileBase image = null) { if (ModelState.IsValid) { var filterItem = _filterItemService.GetFilterItem(model.Id); var filter = _filterService.GetFilterByValue(model.FilterValue); if (filterItem != null && filter != null) { filterItem.Name = model.Name; filterItem.Value = model.Value; filterItem.Rank = model.Rank; filterItem.Filter = filter; if (image != null && (image.ContentType == "image/jpeg" || image.ContentType == "image/png")) { Tinify.Key = ConfigurationManager.AppSettings["TINYPNG_APIKEY"]; var extName = System.IO.Path.GetExtension(image.FileName); var fileName = $@"{Guid.NewGuid()}{extName}"; // сохраняем файл в папку Files в проекте string fullPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "\\Content\\Images\\FilterItems", fileName); var urlPath = Url.Content("~/Content/Images/FilterItems/" + fileName); image.SaveAs(fullPath); try { using (var s = Tinify.FromFile(fullPath)) { var resized = s.Resize(new { method = "fit", width = 100, height = 70 }); await resized.ToFile(fullPath); } } catch (System.Exception) { // ignored } filterItem.ImagePath = urlPath; } _filterItemService.SaveFilterItem(); return(RedirectToAction("FilterItemList")); } } return(HttpNotFound()); }