public async Task <ActionResult> Edit(ProductViewModelDetail model)
 {
     ViewBag.AllTypes = (await TypesRepository.GetPage <DisplayValue>(null, m => m.OrderBy(n => n.Display), 1, 1000)).Data;
     if (ModelState.IsValid)
     {
         Repository.Update <ProductViewModelDetail>(false, model);
         await Repository.SaveChanges();
     }
     return(View(model));
 }
        public async Task <ActionResult> Create(ProductViewModelDetail model)
        {
            if (ModelState.IsValid)
            {
                Repository.Add <ProductViewModelDetail>(false, model);
                await Repository.SaveChanges();

                return(RedirectToAction("Edit", new { id = model.Id }));
            }
            ViewBag.AllTypes = (await TypesRepository.GetPage <DisplayValue>(null, m => m.OrderBy(n => n.Display), 1, 1000)).Data;
            return(View(model));
        }