public ActionResult EditCategory(CategoriesVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var CategoryInDb = db.Categories.Find(model.Id);

            CategoryInDb.Name = model.Name;
            CategoryInDb.Slug = model.Name.Replace(" ", "-").ToLower();


            foreach (var item in db.CategoryBrands)
            {
                if (item.CategoryId == model.Id)
                {
                    db.Entry(item).State = EntityState.Deleted;
                }
            }
            foreach (var item in model.Brands)
            {
                if (item.Checked)
                {
                    db.CategoryBrands.Add(new CategoryBrand()
                    {
                        CategoryId = model.Id, BrandId = item.Id
                    });
                }
            }
            db.SaveChanges();

            return(RedirectToAction("Categories", "Shop"));
        }
Пример #2
0
        public ActionResult Create(CategoriesVM obj)
        {
            try
            {
                // save record Categories
                obj.Categories.Published      = obj.isPublish;
                obj.Categories.Deleted        = obj.isDelete;
                obj.Categories.ShowOnHomePage = obj.isHome;
                obj.Categories.CreatedOn      = DateTime.Now;
                //save record CategoriesLocalized
                obj.Categories.Fly_CategoryLocalized.Add(obj.CategoriesLocalized);


                //save record Categories Mapping Discount
                obj.CategoryDiscountMapping.DiscountID = obj.SelectValues;
                obj.CategoryDiscountMapping.Createdon  = DateTime.Now;
                obj.Categories.Fly_Category_Discount_Mapping.Add(obj.CategoryDiscountMapping);

                // save
                repository.Add(obj.Categories);

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                return(View(e.Message));
            }
        }
Пример #3
0
        public IActionResult Post(CategoriesVM items)
        {
            try
            {
                // 取得資料表內最大的 Order,再 +1 成為新資料的 order
                int order = 0;
                order = _context.Categories.Where(m => m.ParentID == items.CatParentID & m.Level == items.CatLevel).Select(m => m.Order).DefaultIfEmpty().Max();

                Categories categories = new Categories();
                categories.Name     = items.CatName;
                categories.Level    = items.CatLevel;
                categories.ParentID = items.CatParentID;
                categories.Deleted  = items.CatDeleted;
                categories.Order    = order + 1;

                _context.Categories.Add(categories);
                _context.SaveChanges();

                return(Ok());
            }
            catch (Exception ex)
            {
                return(NotFound());
            }
        }
Пример #4
0
        public async Task <IActionResult> Index(int page)
        {
            var posted = _context.Post.Where(p => p.IsPublished).ToList().Count;

            if (page < 0)
            {
                page = 0;
            }
            if (page * 5 > _context.Post.ToList().Count)
            {
                page = _context.Post.ToList().Count / 5;
            }
            var posts = _context.Post
                        .Where(p => p.IsPublished)
                        .OrderByDescending(p => p.Created)
                        .Include(p => p.Blog)
                        .Skip(page * 5).Take(5);
            var          blogs      = _context.Blog;
            var          tags       = _context.Tag;
            CategoriesVM categories = new CategoriesVM()
            {
                Blogs      = await blogs.ToListAsync(),
                Posts      = await posts.ToListAsync(),
                Tags       = await tags.ToListAsync(),
                PageNum    = page,
                TotalPosts = _context.Post.ToList().Count
            };

            return(View(categories));
        }
Пример #5
0
        public IActionResult Create([FromBody] CategoriesVM Category)
        {
            var category = _mapper.Map <Categories>(Category);

            _categoriesRepository.CreateCategories(category);
            return(Ok(category));
        }
        public CategoriesPage()
        {
            InitializeComponent();

            ViewModel = Resources["vm"] as CategoriesVM;

            SizeChanged += CategoriesPage_SizeChanged;
        }
        CategoriesVM ViewModel;                       // to bind from C#, first have a member referring to the relevant ViewModel

        public CategoriesPage()
        {
            InitializeComponent();

            ViewModel = Resources["vm"] as CategoriesVM;    // get the VM resource using its Key string defined in xaml (type Object as default, hence cast)

            // if ListView had x:Name="listView" in xaml, which is not great MVVM, could use something like listView.SeparatorColor="#efefef"; to set separator to grey in code-behind, instead of using SeparatorColor attribute in xaml
            // I used xaml's SeparatorColor attribute to fulfil all-grey highlight in https://www.udemy.com/the-advanced-xamarin-developer-masterclass/learn/lecture/14080176#questions/7051972
        }
        public ActionResult Categories(int?id)
        {
            var model = new CategoriesVM
            {
                SelectedCategory = id,
                Categories       = unitOfWork.Categories
            };

            return(PartialView(model));
        }
Пример #9
0
        public async Task <CategoriesVM> Categories()
        {
            var categories = await apiClient.GetCategoriesAsync();

            var vm = new CategoriesVM
            {
                Categories = categories
            };

            return(vm);
        }
Пример #10
0
 public bool AddCategory(CategoriesVM categoriesVM)
 {
     try
     {
         var categories = _mapper.Map <Categories>(categoriesVM);
         var response   = _categoriesRepository.AddCategory(categories);
         return(response.Result);
     } catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #11
0
        public IActionResult Update(int CategoryId, [FromBody] CategoriesVM Category)
        {
            //to update any attribute in category by id
            var category = _categoriesRepository.GetCategory(CategoryId);

            if (category == null)
            {
                return(NotFound());
            }
            _mapper.Map(Category, category);
            _categoriesRepository.Update(category);
            return(Ok(_mapper.Map <CategoriesVM>(category)));
        }
Пример #12
0
        public async Task <IActionResult> Tag()
        {
            var          name       = RouteData.Values["id"].ToString();
            var          posts      = _context.Tag.Where(t => t.Name == name).Select(t => t.Post);
            var          blogs      = _context.Blog;
            CategoriesVM categories = new CategoriesVM()
            {
                Blogs = await blogs.ToListAsync(),
                Posts = await posts.ToListAsync(),
                Tags  = await _context.Tag.ToListAsync()
            };

            return(View("Index", categories));
        }
Пример #13
0
        public async Task <ActionResult> Categories()
        {
            var spendingCategories = (await baseService.GetAllCategories(CategoryType.Spendings, catsWithSubs: false));
            var incomeCategories   = (await baseService.GetAllCategories(CategoryType.IncomeSources, catsWithSubs: false));

            var viewmodel = new CategoriesVM
            {
                SpendingCategories = spendingCategories,
                IncomeCategories   = incomeCategories
            };

            var spendingSecondCats = new Dictionary <CategoryType, IEnumerable <Model.Category> >();
            var incomeSecondCats   = new Dictionary <CategoryType, IEnumerable <Model.Category> >();

            foreach (var cat in spendingCategories)
            {
                if (cat.SuperCatId.HasValue)
                {
                    cat.SuperCategory = await baseService.GetCategoryName(cat.SuperCatId.Value);
                }

                if (cat.SecondTypeId.HasValue && cat.SecondTypeId != 0)
                {
                    var secondCategories = await baseService.GetAllCategories(cat.SecondTypeId, catsWithSubs : false);

                    foreach (var cat2 in secondCategories)
                    {
                        if (cat2.SuperCatId.HasValue)
                        {
                            cat2.SuperCategory = await baseService.GetCategoryName(cat2.SuperCatId.Value);
                        }
                    }

                    spendingSecondCats.Add(cat.SecondTypeId.Value, secondCategories);
                }
            }

            foreach (var cat in incomeCategories.Where(x => x.SecondTypeId.HasValue && x.SecondTypeId != 0))
            {
                var secondCategories = await baseService.GetAllCategories(cat.SecondTypeId, catsWithSubs : false);

                incomeSecondCats.Add(cat.SecondTypeId.Value, secondCategories);
            }

            viewmodel.SpendingSecondCategories = spendingSecondCats;
            viewmodel.IncomeSecondCategories   = incomeSecondCats;

            return(View("Categories", viewmodel));
        }
Пример #14
0
        public async Task <IActionResult> Categories()
        {
            var          id         = RouteData.Values["id"].ToString();
            var          posts      = _context.Post.Where(p => p.BlogId == Int32.Parse(id) && p.IsPublished == true).Include(p => p.Blog);
            var          blogs      = _context.Blog;
            var          tags       = _context.Tag;
            CategoriesVM categories = new CategoriesVM()
            {
                Blogs = await blogs.ToListAsync(),
                Posts = await posts.ToListAsync(),
                Tags  = await tags.ToListAsync()
            };

            return(View("Index", categories));
        }
        // GET: Admin/Shop/EditCategory/id
        public ActionResult EditCategory(int id)
        {
            //get specific
            var CategoryInDb = db.Categories.Find(id);

            if (CategoryInDb == null)
            {
                return(HttpNotFound());
            }
            ////////~~~~~~

            var Result = from B in db.Brands
                         select new
            {
                B.BrandId,
                B.Name,
                B.ImageName,
                Checked = (
                    (from CtoB in db.CategoryBrands
                     where (CtoB.CategoryId == id) & (CtoB.BrandId == B.BrandId)
                     select CtoB).Count() > 0
                    )
            };
            ///////~~~~~~~~~~
            var MyCatViewModel = new CategoriesVM()
            {
                Id   = id,
                Name = CategoryInDb.Name,
            };
            /////~~~~~~~
            /////~~~~~~~
            var checkBoxList = new List <CheckBoxVM>();

            foreach (var item in Result)
            {
                checkBoxList.Add(new CheckBoxVM
                {
                    Id        = item.BrandId,
                    ImageName = item.ImageName,
                    Name      = item.Name,
                    Checked   = item.Checked
                });
            }
            ///////~~~~~~~~~~
            MyCatViewModel.Brands = checkBoxList;
            return(View(MyCatViewModel));
        }
        public ActionResult DetailsCategory(int id)
        {
            Category CategoryInDb = db.Categories.Find(id);

            if (CategoryInDb == null)
            {
                return(HttpNotFound());
            }
            //===================
            var Result = from B in db.Brands
                         select new
            {
                B.BrandId,
                B.Name,
                B.ImageName,
                Checked = (
                    (from CtoB in db.CategoryBrands
                     where (CtoB.CategoryId == id) & (CtoB.BrandId == B.BrandId)
                     select CtoB).Count() > 0
                    )
            };

            var CategoryVM = new CategoriesVM()
            {
                Id   = id,
                Name = CategoryInDb.Name,
            };

            var BrandCheckBox = new List <CheckBoxVM>();

            foreach (var item in Result)
            {
                BrandCheckBox.Add(new CheckBoxVM
                {
                    Id        = item.BrandId,
                    Name      = item.Name,
                    ImageName = item.ImageName,
                    Checked   = item.Checked
                });
            }

            CategoryVM.Brands = BrandCheckBox;

            return(View(CategoryVM));
        }
        public ActionResult Categories()
        {
            var model = new CategoriesVM()
            {
                CategoryList = new List <Category>()
                {
                    new Category()
                    {
                        Id = 1, Title = "Biryani", Description = "There are various forms of Hyderabadi biryani.", TotalItems = 8, Discount = 0.00f, ImagePath = "~/Images/Menu/Categories/biryani.jpg"
                    },
                    new Category()
                    {
                        Id = 2, Title = "Rotis", Description = "Roti is a flat bread originating from the Indian subcontinent.", TotalItems = 10, Discount = 5.00f, ImagePath = "~/Images/Menu/Categories/rotis.jpg"
                    },
                    new Category()
                    {
                        Id = 3, Title = "Curries", Description = "Various parts of the sub-continent have their own regional variations of curry.", TotalItems = 15, Discount = 3.00f, ImagePath = "~/Images/Menu/Categories/curries.jpg"
                    },
                    new Category()
                    {
                        Id = 4, Title = "Noodles", Description = "Noodles are made of acorn meal, wheat flour, wheat germ, and salt.", TotalItems = 20, Discount = 5.00f, ImagePath = "~/Images/Menu/Categories/noodles.jpg"
                    },
                    new Category()
                    {
                        Id = 5, Title = "Pizzas", Description = "Pizza bread is a type of sandwich that is often served open-faced.", TotalItems = 16, Discount = 8.00f, ImagePath = "~/Images/Menu/Categories/pizza.jpg"
                    },
                    new Category()
                    {
                        Id = 6, Title = "Beverages", Description = "Any one of various liquids for drinking, usually excluding water.", TotalItems = 7, Discount = 10.00f, ImagePath = "~/Images/Menu/Categories/beverages.jpg"
                    },
                    new Category()
                    {
                        Id = 7, Title = "Desserts", Description = "Dessert is a course that concludes a main meal.", TotalItems = 11, Discount = 15.00f, ImagePath = "~/Images/Menu/Categories/desserts.jpg"
                    },
                },
                DefaultImagePath = "/Images/sorry-image-not-available.png"
            };

            return(View(model));
        }
Пример #18
0
        public async Task <IActionResult> Results(string SearchString)
        {
            var posts = from p in _context.Post
                        select p;
            var blogs = _context.Blog;
            var tags  = _context.Tag;

            if (!String.IsNullOrEmpty(SearchString))
            {
                posts = posts.Where(p => p.Title.Contains(SearchString) || p.Abstract.Contains(SearchString) || p.Content.Contains(SearchString));
                //return View("Index", await posts.Include(p => p.Blog).ToListAsync());
            }
            //return View("Index", await posts.Include(p => p.Blog).ToListAsync());
            CategoriesVM categories = new CategoriesVM()
            {
                Blogs = await blogs.ToListAsync(),
                Posts = await posts.ToListAsync(),
                Tags  = await tags.ToListAsync()
            };

            return(View("Index", categories));
        }
Пример #19
0
        public IActionResult Get(int Id)
        {
            try
            {
                var item = _context.Categories.Find(Id);

                if (item != null)
                {
                    CategoriesVM result = new CategoriesVM()
                    {
                        CatID   = item.ID,
                        CatName = item.Name
                    };

                    return(Ok(result));
                }

                return(NotFound());
            }
            catch (Exception ex)
            {
                return(NotFound());
            }
        }
Пример #20
0
        public CategoriesPage()
        {
            InitializeComponent();

            ViewModel = Resources["vm"] as CategoriesVM;
        }
Пример #21
0
        public ActionResult <bool> Post([FromBody] CategoriesVM categoriesVM)
        {
            var response = _categoriesService.AddCategory(categoriesVM);

            return(Ok(response));
        }