Пример #1
0
        public JsonResult SavePoster(PosterWebModel poster)
        {
            var success = false;

            success = poster.Id == 0 ? UOW.PosterRepository.CreatePoster(poster) : UOW.PosterRepository.UpdatePoster(poster);

            return(Json(success));
        }
Пример #2
0
        public bool UpdatePoster(PosterWebModel poster)
        {
            var dbModel = DataContext.Poster.Include(p => p.Tags).SingleOrDefault(p => p.Id == poster.Id);

            if (dbModel == null)
            {
                return(false);
            }

            AutoMapper.Mapper.Map(poster, dbModel);

            //save Tags
            if (poster.Tags != null && poster.Tags.Count > 0)
            {
                foreach (var tagDb in dbModel.Tags.ToList())
                {
                    //Doesnt exist in webModel (removed by client)
                    if (!poster.Tags.Any(t => t.Id == tagDb.Id))
                    {
                        dbModel.Tags.Remove(tagDb);
                    }
                }
                foreach (var tagWebModel in poster.Tags.ToList())
                {
                    //Doesnt exist in db (added by client)
                    if (!dbModel.Tags.Any(t => t.Id == tagWebModel.Id))
                    {
                        dbModel.Tags.Add(DataContext.Tags.First(t => t.Id == tagWebModel.Id));
                    }
                }
            }
            else //All tags were deleted
            {
                foreach (var tag in dbModel.Tags.ToList())
                {
                    dbModel.Tags.Remove(tag);
                }
            }
            if (poster.ImageFile != null)
            {
                var fileName = Guid.NewGuid() + ".png";
                dbModel.ImageFileName = fileName;
                dbModel.Active        = true;
                FileHelper.SaveFile(poster.ImageFile, DirectoriesEnum.Courses, fileName);
            }
            return(Save());
        }
Пример #3
0
        public bool CreatePoster(PosterWebModel poster)
        {
            var dbModel = AutoMapper.Mapper.Map <PosterWebModel, Poster>(poster);

            //Save tags
            if (poster.Tags != null)
            {
                foreach (var tagWebModel in poster.Tags)
                {
                    dbModel.Tags.Add(DataContext.Tags.First(t => t.Id == tagWebModel.Id));
                }
            }

            //Save image file
            var fileName = Guid.NewGuid() + ".png";

            dbModel.ImageFileName = fileName;
            dbModel.Active        = true;
            FileHelper.SaveFile(poster.ImageFile, DirectoriesEnum.Posters, fileName);

            DataContext.Poster.Add(dbModel);
            return(Save());
        }