public async Task<ActionResult> Create(CategoryViewModel model, params int[] selectedRole) { if (ModelState.IsValid) { var result = await CategoryManager.CreateCustomAsync(model.Name, model.Description); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.First()); } else { selectedRole = selectedRole ?? new int[] { }; foreach (var roleId in selectedRole) { var roleResult = await RoleManager.AddToCategoryAsync(roleId, model.Name); if (!roleResult.Succeeded) { ModelState.AddModelError("", roleResult.Errors.First()); } } return RedirectToAction("Index"); } } model.RolesList = RoleManager.Roles.ToList().Select(x => new SelectListItem() { Selected = false, Text = x.Name, Value = x.Name }); return View(model); }
// // GET: /Categories/Create public ActionResult Create() { var model = new CategoryViewModel(); model.RolesList = RoleManager.Roles.ToList().Select(x => new SelectListItem() { Selected = false, Text = x.Name, Value = x.Id.ToString() }); return View(model); }
public async Task<IHttpActionResult> Get(long id) { var entity = await _repository.GetAsync(id); if (entity == null) { return NotFound(); } var viewModel = new CategoryViewModel(); viewModel.Create(entity); return Ok(viewModel); }
public async Task<IHttpActionResult> GetAll() { var all = await _repository.GetAllAsync(); var allViewModels = new List<CategoryViewModel>(); foreach (var entity in all) { var viewModel = new CategoryViewModel(); viewModel.Create(entity); allViewModels.Add(viewModel); } return Ok(allViewModels); }
// // GET: /Categories/Edit/Admin public async Task<ActionResult> Edit(int id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var item = await CategoryManager.FindByIdAsync(id); if (item == null) { return HttpNotFound(); } var categoryRoles = item.CategoryRoles.Select(r => r.RoleId).ToList(); var model = new CategoryViewModel(); model.Id = item.Id; model.Name = item.Name; model.Description = item.Description; model.TranslationCode = item.TranslationCode; model.RolesList = RoleManager.Roles.ToList().Select(x => new SelectListItem() { Selected = categoryRoles.Contains(x.Id), Text = x.Name, Value = x.Id.ToString() }); return View(model); }
public async Task<IHttpActionResult> Post(Category entity) { var user = HttpContext.Current.User as ClaimsPrincipal; bool isAdmin = await _unitOfWork.Users.IsAdmin(user); if (!isAdmin) { return Unauthorized(); } if (!ModelState.IsValid) { return BadRequest(ModelState); } _repository.Add(entity); await _unitOfWork.CompleteAsync(); var viewModel = new CategoryViewModel(); viewModel.Create(entity); return CreatedAtRoute("DefaultApi", new { id = entity.Id }, viewModel); }
public async Task<IHttpActionResult> Delete(long id) { var user = HttpContext.Current.User as ClaimsPrincipal; bool isAdmin = await _unitOfWork.Users.IsAdmin(user); if (!isAdmin) { return Unauthorized(); } var entity = await _repository.GetAsync(id); if (entity == null) { return NotFound(); } //var productsInCategory = _unitOfWork.Products.FindAsync(c => c.CategoryId == id); _repository.Remove(entity); await _unitOfWork.CompleteAsync(); var viewModel = new CategoryViewModel(); viewModel.Create(entity); return Ok(viewModel); }