/// <summary> /// Редактирование слайда /// </summary> /// <param name="model"></param> /// <returns></returns> public BaseResponse <int> EditSlide(SliderEditModel model) { try { using (var db = new DataContext()) { var old = db.Sliders.FirstOrDefault(x => x.Id == model.Id); if (old == null) { return(new BaseResponse <int>(EnumResponseStatus.Error, "Слайд не найден")); } old.IsActive = model.IsActive; if (model.PhotoFile != null) { FileManager.DeleteFile(EnumDirectoryType.Slider, fileName: old.PhotoUrl); old.PhotoUrl = FileManager.SaveImage(model.PhotoFile, EnumDirectoryType.Slider, Guid.NewGuid().ToString()); } db.SaveChanges(); return(new BaseResponse <int>(EnumResponseStatus.Success, "Слайд успешно изменен", old.Id)); } } catch (Exception ex) { return(new BaseResponse <int>(EnumResponseStatus.Exception, ex.Message)); } }
/// <summary> /// Создать слайд /// </summary> /// <param name="model"></param> /// <returns></returns> public BaseResponse <int> AddSlide(SliderEditModel model) { try { if (model.PhotoFile == null) { return(new BaseResponse <int>(EnumResponseStatus.ValidationError, "Изображение не выбрано")); } using (var db = new DataContext()) { var maxPriority = db.Sliders.AsNoTracking().Where(x => x.SitePage == model.SitePage) .Max(x => x.Priority) ?? 1; var newsSlide = new Slider { //todo:?мб на страницах будут разные слайдеры SitePage = (int)EnumSitePage.Home, DateCreate = DateTime.Now, IsActive = model.IsActive, Priority = maxPriority }; db.Sliders.Add(newsSlide); db.SaveChanges(); newsSlide.PhotoUrl = FileManager.SaveImage(model.PhotoFile, EnumDirectoryType.Slider, Guid.NewGuid().ToString()); db.SaveChanges(); return(new BaseResponse <int>(EnumResponseStatus.Success, "Слайд успешно сохранен", newsSlide.Id)); } } catch (Exception ex) { return(new BaseResponse <int>(EnumResponseStatus.Exception, ex.Message)); } }
public ActionResult UpdateSlide(SliderEditModel model) { var response = model.Id == 0 ? _sitePageSevice.AddSlide(model) : _sitePageSevice.EditSlide(model); return(RedirectToAction("EditSlide", new { id = response.Value })); }
public IActionResult EditarSlider(SliderModel model, IFormFile ImageFile) { if (ModelState.IsValid) { if (ImageFile != null) { var filename = ContentDispositionHeaderValue.Parse(ImageFile.ContentDisposition).FileName.Trim('"'); //var targetDirectory = Path.Combine(_hostingEnv.ContentRootPath, string.Format("~/images/slider")); var targetDirectory = Path.Combine(_hostingEnv.WebRootPath, string.Format("images\\slider\\")); //MAC//var targetDirectory = Path.Combine(_hostingEnv.WebRootPath, string.Format("images/slider/")); var savePath = Path.Combine(targetDirectory, filename); ImageFile.CopyTo(new FileStream(savePath, FileMode.Create)); SliderEditModel datos = new SliderEditModel { Id = model.Id, FotoUrl = filename, Clase = model.Clase, Titulo = model.Titulo, Descripcion = model.Descripcion, Id_Titular = model.Id_Titular, Fecha = Convert.ToDateTime(Helpers.Helpers.GetValidDateTime()) }; _ligamodel.EditarSlider(datos); } else { SliderEditModel datos = new SliderEditModel { Id = model.Id, FotoUrl = model.FotoUrl, Clase = model.Clase, Titulo = model.Titulo, Descripcion = model.Descripcion, Id_Titular = model.Id_Titular, Fecha = Convert.ToDateTime(Helpers.Helpers.GetValidDateTime()) }; _ligamodel.EditarSlider(datos); } } return(RedirectToAction("ListaSlider")); }
public async Task <IActionResult> Edit([Required][FromForm] int id, SliderEditModel slider) { if (ModelState.IsValid) { try { Slider _slider = await lawyerDbContext.Sliders.FindAsync(id); string _oldFileName = _slider.Img; _slider.Img = await FileService.UploadImageAsync(slider.Img, "Uploads"); await lawyerDbContext.SaveChangesAsync(); FileService.DeleteFile(_oldFileName, "Uploads"); return(RedirectToAction(nameof(Index))); } catch (ArgumentNullException exp) { ModelState.AddModelError("img", exp.Message); } catch (InvalidContentTypeException exp) { ModelState.AddModelError("img", exp.Message); } catch { ModelState.AddModelError("", "Some error occured. Please try again."); } } return(View(new SliderEditModel { Id = id, FileName = slider.FileName })); }