public void TestUpdateProductModelAsync() { ContextSeeder.Seed(); var bo = new ProductModelBusinessObject(); var resList = bo.ListAsync().Result; var item = resList.Result.FirstOrDefault(); item.Name = "It's just wine"; var resUpdate = bo.UpdateAsync(item).Result; resList = bo.ListNotDeletedAsync().Result; Assert.IsTrue(resList.Success && resUpdate.Success && resList.Result.First().Name == "It's just wine"); }
public void TestUpdateSameBarCodeProductModelAsync() { ContextSeeder.Seed(); var bo = new ProductModelBusinessObject(); var bra = bo.ListNotDeletedAsync().Result.Result.First(); var catBo = new CategoryBusinessObject(); var cat = catBo.ListNotDeletedAsync().Result.Result.First(); var prodMod = new ProductModel("Vinho Branco", "506-1237-422", "", 4.24, 0.80, Measure.L, bra.Id, cat.Id); prodMod.BarCode = "506-1237-424"; var resUpdate = bo.UpdateAsync(prodMod).Result; Assert.IsTrue(!resUpdate.Result); }
public async Task <IActionResult> Edit(Guid id, ProductModelViewModel vm) { if (ModelState.IsValid) { var getOperation = await _bo.ReadAsync(id); if (!getOperation.Success) { return(OperationErrorBackToIndex(getOperation.Exception)); } if (getOperation.Result == null) { return(RecordNotFound()); } var result = getOperation.Result; if (!vm.CompareToModel(result)) { result = vm.ToModel(result); var updateOperation = await _bo.UpdateAsync(result); if (!updateOperation.Success) { TempData["Alert"] = AlertFactory.GenerateAlert(NotificationType.Danger, updateOperation.Exception); getOperation = await _bo.ReadAsync((Guid)id); if (!getOperation.Success) { return(OperationErrorBackToIndex(getOperation.Exception)); } if (getOperation.Result == null) { return(RecordNotFound()); } vm = ProductModelViewModel.Parse(getOperation.Result); var listBOperation = await _bbo.ListNotDeletedAsync(); if (!listBOperation.Success) { return(OperationErrorBackToIndex(listBOperation.Exception)); } var listCOperation = await _cbo.ListNotDeletedAsync(); if (!listCOperation.Success) { return(OperationErrorBackToIndex(listCOperation.Exception)); } ViewBag.Measure = Enum.GetNames(typeof(Measure)).Select(r => new SelectListItem { Text = r, Value = r });; var bList = new List <SelectListItem>(); foreach (var item in listBOperation.Result) { var listItem = new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }; if (item.Id == vm.BrandId) { listItem.Selected = true; } bList.Add(listItem); } ViewBag.Brands = bList; var cList = new List <SelectListItem>(); foreach (var item in listCOperation.Result) { var listItem = new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }; if (item.Id == vm.BrandId) { listItem.Selected = true; } cList.Add(listItem); } ViewBag.Categories = cList; Draw("Edit", "fa-edit"); return(View(vm)); } if (!updateOperation.Result) { TempData["Alert"] = AlertFactory.GenerateAlert(NotificationType.Danger, updateOperation.Message); getOperation = await _bo.ReadAsync((Guid)id); if (!getOperation.Success) { return(OperationErrorBackToIndex(getOperation.Exception)); } if (getOperation.Result == null) { return(RecordNotFound()); } vm = ProductModelViewModel.Parse(getOperation.Result); var listBOperation = await _bbo.ListNotDeletedAsync(); if (!listBOperation.Success) { return(OperationErrorBackToIndex(listBOperation.Exception)); } var listCOperation = await _cbo.ListNotDeletedAsync(); if (!listCOperation.Success) { return(OperationErrorBackToIndex(listCOperation.Exception)); } ViewBag.Measure = Enum.GetNames(typeof(Measure)).Select(r => new SelectListItem { Text = r, Value = r });; var bList = new List <SelectListItem>(); foreach (var item in listBOperation.Result) { var listItem = new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }; if (item.Id == vm.BrandId) { listItem.Selected = true; } bList.Add(listItem); } ViewBag.Brands = bList; var cList = new List <SelectListItem>(); foreach (var item in listCOperation.Result) { var listItem = new SelectListItem() { Value = item.Id.ToString(), Text = item.Name }; if (item.Id == vm.BrandId) { listItem.Selected = true; } cList.Add(listItem); } ViewBag.Categories = cList; Draw("Edit", "fa-edit"); return(View(vm)); } else { return(OperationSuccess("The record was successfuly updated")); } } } return(RedirectToAction(nameof(Index))); }