Exemplo n.º 1
0
        public AnimeViewModel GetById(int id)
        {
            var product = _context.Animes.Find(id);

            if (product == null)
            {
                throw new Exception("Anime isn't in data.");
            }
            var vm = MapperExtend.AnimeToVM(product);

            vm.CategoryNames = new List <string>();
            foreach (var item in vm.CategoryIds)
            {
                var c = _context.Catetgories.Find(Int32.Parse(item));
                if (c == null)
                {
                    vm.CategoryNames.Add(" ");
                }
                else
                {
                    vm.CategoryNames.Add(c.Name);
                }
            }
            return(vm);
        }
Exemplo n.º 2
0
        public void Update(AnimeViewModel anime)
        {
            var vm = MapperExtend.VMToAnime(anime);

            vm.UpdateTime = DateTime.Now;
            _context.Animes.Update(vm);
            _context.SaveChanges();
        }
Exemplo n.º 3
0
        public async Task <List <AnimeViewModel> > GetAll()
        {
            var listItems = await _context.Animes.ToListAsync();

            List <AnimeViewModel> listVM = new List <AnimeViewModel>();

            foreach (var item in listItems)
            {
                AnimeViewModel vm = new AnimeViewModel();
                vm = MapperExtend.AnimeToVM(item);
                listVM.Add(vm);
            }
            return(listVM);
        }
Exemplo n.º 4
0
        public int Add(AnimeViewModel anime)
        {
            var p = MapperExtend.VMToAnime(anime);

            p.CreateTime = DateTime.Now;
            p.UpdateTime = DateTime.Now;
            p.Status     = true;
            p.IsEpisodes = true;
            var a = _context.Animes.Add(p);

            var xxx = _context.SaveChanges();

            return(a.Entity.Id);
        }
Exemplo n.º 5
0
        public PagedResult <AnimeViewModel> GetAllPaging(int?categoryId, string keyword, int page, int pageSize)
        {
            var query = _context.Animes.AsQueryable();

            if (categoryId.HasValue)
            {
                //var catList = _context.AnimeCategorys.Where(x=>x.)
                //query = query.Join(_context.AnimeCategorys, a => a.Id, ac => ac.AnimeId, (a, ac) => new { Anime = a, AnimeCategory = ac });
                query = query.Where(x => x.CategoryIds.Contains(categoryId.ToString()));
            }

            if (!string.IsNullOrEmpty(keyword))
            {
                query = query.Where(x => x.Name.Contains(keyword));
            }


            int totalRow = query.Count();

            query = query.OrderByDescending(x => x.UpdateTime)
                    .Skip((page - 1) * pageSize).Take(pageSize);

            var data = query.ToList();

            List <AnimeViewModel> listProductVM = new List <AnimeViewModel>();

            foreach (var item in data)
            {
                var vm = MapperExtend.AnimeToVM(item);
                listProductVM.Add(vm);
            }

            var paginationSet = new PagedResult <AnimeViewModel>()
            {
                Results     = listProductVM,
                CurrentPage = page,
                RowCount    = totalRow,
                PageSize    = pageSize
            };

            return(paginationSet);
        }