Ejemplo n.º 1
0
        public ActionResult Index(int? id, int? page, int? per_page)
        {
            if ((!page.HasValue || !per_page.HasValue) && !id.HasValue)
            {
                var completeQuery = from category in db.Categories
                            select new CategoryData
                            {
                                id = category.Id,
                                name = category.Name,
                                description = category.Description
                            };
                return Json(completeQuery.ToList(), JsonRequestBehavior.AllowGet);
            }

            var total = db.Categories.Count();
            var total_pages = Math.Ceiling(Convert.ToDouble(total) / Convert.ToDouble(per_page));

            var query = from category in db.Categories
                        select category;

            if (id != null)
            {
                query = query.Where(c => c.Id == id);
            }
            else
            {
                query = query.OrderBy(c => c.Id);
                query = query.Skip((page.Value - 1) * per_page.Value).Take(per_page.Value);
            }

            List<CategoryData> categoriesList = new List<CategoryData>();
            foreach (var category in query)
            {
                var categoryData = new CategoryData();
                categoryData.id = category.Id;
                categoryData.name = category.Name;
                categoryData.description = category.Description;
                categoriesList.Add(categoryData);
            }

            if (!id.HasValue)
            {
                var paginated = new PaginatedData<CategoryData>
                {
                    current_page = page.Value,
                    per_page = per_page.ToString(),
                    total_pages = Convert.ToInt32(total_pages),
                    total_entries = total,
                    values = categoriesList
                };
                return Json(paginated, JsonRequestBehavior.AllowGet);
            }
            else
            {
                return Json(categoriesList[0], JsonRequestBehavior.AllowGet);
            }
        }
Ejemplo n.º 2
0
 public ActionResult Index(CategoryData category)
 {
     Category newCategory = new Category();
     newCategory.Name = category.name;
     newCategory.Description = category.description;
     db.Categories.Add(newCategory);
     db.SaveChanges();
     category.id = newCategory.Id;
     return Json(category);
 }
Ejemplo n.º 3
0
 public ActionResult IndexPut(CategoryData category)
 {
     var modifyCategory = db.Categories.Single(c => c.Id == category.id);
     modifyCategory.Name = category.name;
     modifyCategory.Description = category.description;
     db.SaveChanges();
     return Json(category);
 }