public async Task <IActionResult> Create(CategoryCreateEditViewModel vm) { var cultureItems = LocalizationOptions.Value.SupportedUICultures .Select(c => new { Value = c.Name, Text = c.DisplayName }).ToList(); if (ModelState.IsValid) { var translations = new Dictionary <string, string>(); foreach (var cultureItem in cultureItems) { translations[cultureItem.Value] = vm.Category.Name; } vm.Category.Translation = JsonConvert.SerializeObject(translations, Formatting.Indented); // vm.Category.Id = Guid.NewGuid(); _bll.CategoryService.Add(vm.Category); await _bll.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } vm.CategorySelectList = new SelectList(await _bll.CategoryService.GetAllParentCategoriesAsync(), nameof(Category.Id), nameof(Category.Name), vm.Category.ParentCategoryId); return(View(vm)); }
public async Task <IActionResult> Edit(Guid id, CategoryCreateEditViewModel vm) { if (id != vm.Id) { return(BadRequest(new MessageDTO("Id and vm.id do not match"))); } if (!await _bll.Categories.ExistsAsync(vm.Id)) { return(NotFound(new MessageDTO($"Category with this id {id} not found"))); } if (ModelState.IsValid) { await _bll.Categories.UpdateAsync(_mapper.Map(vm)); await _bll.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } vm.ParentCategorySelectList = new SelectList(await _bll.Categories.GetAllAsync(), nameof(CategoryBLL.Id), nameof(CategoryBLL.Description), vm.ParentCategoryId); return(View(vm)); }
public ActionResult CreateCategory(int id, CategoryCreateEditViewModel formData) { if (!ModelState.IsValid) { return(View()); } var cookie = Request.Cookies["SavedCookie"]; if (cookie == null) { return(RedirectToAction("Login", "Home")); } var token = cookie.Value; var url = $"http://localhost:56327/api/category/create/{id}"; var httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("Name", formData.Name)); parameters.Add(new KeyValuePair <string, string>("Description", formData.Description)); var encodedParameters = new FormUrlEncodedContent(parameters); var response = httpClient.PostAsync(url, encodedParameters).Result; if (response.StatusCode == System.Net.HttpStatusCode.Created) { var data = response.Content.ReadAsStringAsync().Result; var result = JsonConvert.DeserializeObject <Category>(data); return(RedirectToAction("Index", "HouseHold")); } else if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { var data = response.Content.ReadAsStringAsync().Result; var result = JsonConvert.DeserializeObject <APIErrorData>(data); ViewBag.Result = result; ViewBag.Errors = result.ModelState.Values.ToList(); return(View()); } else if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError) { return(View("Error")); } return(RedirectToAction("Index", "HouseHold")); }
// GET: Categories/Create public async Task <IActionResult> Create() { CategoryCreateEditViewModel vm = new CategoryCreateEditViewModel(); vm.CategorySelectList = new SelectList( await _bll.CategoryService.GetAllParentCategoriesAsync(), nameof(Category.Id), nameof(Category.Name)); return(View(vm)); }
// GET: Categories/Create public async Task <IActionResult> Create() { var vm = new CategoryCreateEditViewModel { ParentCategorySelectList = new SelectList(await _bll.Categories.GetAllAsync(), nameof(CategoryBLL.Id), nameof(CategoryBLL.Description)) }; return(View(vm)); }
public async Task <IActionResult> Create(CategoryCreateEditViewModel vm) { if (ModelState.IsValid) { var bllEntity = _mapper.Map(vm); _bll.Categories.Add(bllEntity); await _bll.SaveChangesAsync(); vm.Id = bllEntity.Id; return(RedirectToAction(nameof(Index))); } vm.ParentCategorySelectList = new SelectList(await _bll.Categories.GetAllAsync(), nameof(CategoryBLL.Id), nameof(CategoryBLL.Description), vm.ParentCategoryId); return(View(vm)); }
public async Task <IActionResult> Edit(Guid id, CategoryCreateEditViewModel vm) { if (id != vm.Category.Id) { return(NotFound()); } if (ModelState.IsValid) { try { await _bll.CategoryService.UpdateAsync(vm.Category); await _bll.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!await _bll.CategoryService.ExistsAsync(vm.Category.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } vm.CategorySelectList = new SelectList(await _bll.CategoryService.AllAsync(), nameof(Category.Id), nameof(Category.Name), vm.Category.ParentCategoryId); return(View(vm)); }
// GET: Categories/Edit/5 public async Task <IActionResult> Edit(Guid?id) { CategoryCreateEditViewModel vm = new CategoryCreateEditViewModel(); if (id == null) { return(NotFound()); } var category = await _bll.CategoryService.FirstOrDefaultAsync(id.Value); vm.Category = category; if (category == null) { return(NotFound()); } vm.CategorySelectList = new SelectList(await _bll.CategoryService.GetAllParentCategoriesAsync(), nameof(Category.Id), nameof(Category.Name), vm.Category.ParentCategoryId); return(View(vm)); }
public IActionResult CreateParentCategory() { CategoryCreateEditViewModel vm = new CategoryCreateEditViewModel(); return(View(vm)); }