Ejemplo n.º 1
0
        /// <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));
            }
        }
Ejemplo n.º 2
0
        /// <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));
            }
        }
Ejemplo n.º 3
0
        public ActionResult UpdateSlide(SliderEditModel model)
        {
            var response = model.Id == 0
                ? _sitePageSevice.AddSlide(model)
                : _sitePageSevice.EditSlide(model);

            return(RedirectToAction("EditSlide", new { id = response.Value }));
        }
Ejemplo n.º 4
0
        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"));
        }
Ejemplo n.º 5
0
        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
            }));
        }