public async Task <IActionResult> PostOption([FromBody] OptionsCreateModel model) { if (ModelState.IsValid) { var item = await _service.Insert(model); if (item != null) { return(CreatedAtRoute(nameof(GetOption), item, item.Id)); } return(Conflict()); } return(BadRequest()); }
public async Task InsertNewOption() { // Arrange var option = new OptionCreateModel { Text = "VisualStudio 2019" }; // Act var result = await _service.Insert(option); // Assert result.Should().NotBeNull(); result.Should().BeAssignableTo <OptionBaseModel>(); result.Id.Should().NotBe(0); }
public async Task Insert() { //Arrange var option = new OptionCreateModel { Text = "Some Order", Order = 1, QuestionId = 1 }; //Act var result = await _service.Insert(option); //Assert result.Should().NotBeNull(); result.Should().BeAssignableTo <OptionBaseModel>(); result.Should().NotBe(0); }
public ActionResult detail(Product product) { if (ModelState.IsValid) { try { if (CheckInput(product)) { if (product.SupplierID == 0) { product.SupplierID = null; } if (product.ProductStyleID == 0) { product.ProductStyleID = null; } product.ModifiedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); if (!string.IsNullOrEmpty(product.Tags)) { string[] tags = product.Tags.Split(','); foreach (var item in tags) { if (!tagService.CheckExistTag(item, (int)Common.TableName.Product)) { Tag tag = new Tag(); tag.TagName = item; tag.TableNameID = (int)Common.TableName.Product; int tagID = tagService.Insert(tag); } } } bool flg = productService.Update(product); if (flg) { LogService.WriteLog2DB(accountService.GetUserId(User.Identity.GetUserName()), (int)Common.ActionID.Update, product.ProductID, SDateTime.GetYYYYMMddHmmSSNow(), General.GetIPAddress(), TableNameID, product.ProductName); } // update variant defaul || update list variant if (!product.AutoGenerate) { // variant default if (product.Variant.VariantID > 0) { Variant variant = variantService.GetByPrimaryKey(product.Variant.VariantID); variant.VariantPrice = product.Variant.VariantPrice; variant.CompareWithPrice = product.Variant.CompareWithPrice; variant.Textable = product.Variant.Textable; variant.VariantSKU = product.Variant.VariantSKU; variant.VariantBarcode = product.Variant.VariantBarcode; variant.VariantWeight = product.Variant.VariantWeight; variant.WeightUnit = product.Variant.WeightUnit; variant.RequireShipping = product.Variant.RequireShipping; variant.ModifiedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); bool updateVariant = variantService.Update(variant); } // has list variant else { if (product.Variants != null && product.Variants.Count > 0) { for (int i = 0; i < product.Variants.Count; i++) { product.Variants[i].VariantTittle = variantService.GetVariantTittle(product.Variants[i]); product.Variants[i].ProductID = product.ProductID; product.Variants[i].ModifiedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); bool updateVariantFlg = variantService.Update(product.Variants[i]); } } } } // add variant, add option else { if (product.Variants != null && product.Variants.Count > 0) { variantService.DeleteByProductID(product.ProductID); for (int i = 0; i < product.Variants.Count; i++) { Variant variant = product.Variants[i]; if (variant.IsCreate) { if (SNumber.ToNumber(variant.VariantPrice) <= 0) { variant.VariantPrice = SNumber.ToNumber(product.Variant.VariantPrice) >= 0 ? product.Variant.VariantPrice : 0; } if (string.IsNullOrEmpty(variant.VariantSKU)) { variant.VariantSKU = product.Variant.VariantSKU + "_" + (i + 1); } if (string.IsNullOrEmpty(variant.VariantBarcode)) { variant.VariantSKU = product.Variant.VariantBarcode; } variant.CompareWithPrice = product.Variant.CompareWithPrice; variant.Textable = product.Variant.Textable; variant.VariantWeight = product.Variant.VariantWeight; variant.WeightUnit = product.Variant.WeightUnit; variant.RequireShipping = product.Variant.RequireShipping; variant.VariantBarcode = product.Variant.VariantBarcode; variant.ProductID = product.ProductID; variant.VariantTittle = variantService.GetVariantTittle(variant); variant.CreatedDateTime = variant.ModifiedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); int variantID = variantService.Insert(variant); } } } //option if (product.Options != null && product.Options.Count > 0) { for (int i = 0; i < product.Options.Count; i++) { if (i == 0) { TblOption optionDefault = optionService.GetOptionDefaultOfProduct(product.ProductID); if (optionDefault != null) { optionDefault.OptionName = product.Options[i].OptionName; optionDefault.OptionValue = product.Options[i].OptionValue; optionDefault.ProductID = product.ProductID; optionDefault.Position = 1; optionDefault.ModifiedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); bool updateOptionDefault = optionService.Update(optionDefault); } } else { TblOption option = product.Options[i]; option.ProductID = product.ProductID; option.Position = i + 1; option.CreatedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); option.ModifiedDateTime = SDateTime.GetYYYYMMddHmmSSNow(); int optionID = optionService.Insert(option); } } } } optionService.UpdateOptionOfProduct(product.ProductID); return(RedirectToAction("detail", "products", new { id = product.ProductID, strMessage = "1" })); } } catch (Exception ex) { LogService.WriteException(ex); return(RedirectToAction("", "products")); } } product.ListTag = tagService.GetByTableNameID((int)Common.TableName.Product); product.Options = optionService.GetByProductID(product.ProductID); product.Variants = variantService.GetByProductID(product.ProductID); product.Variant = null; if (product.Variants != null && product.Variants.Count > 0) { if (!string.IsNullOrEmpty(product.Variants[0].Option1) && product.Variants[0].Option1.Equals("Default Title")) { product.Variant = product.Variants[0]; product.Variants = null; } } product.AutoGenerate = false; List <TblImage> images = imageService.GetByProductID(product.ProductID); product.Images = images; List <ProductStyle> productStyle = productStyleService.GetAll(); productStyle.Insert(0, new ProductStyle { ProductStyleID = 0, ProductStyleName = "Chọn loại sản phẩm" }); product.ProductStyles = new SelectList(productStyle, "ProductStyleID", "ProductStyleName", product.ProductStyleID.ToString()); List <Supplier> supplier = supplierService.GetAll(); supplier.Insert(0, new Supplier { SupplierID = 0, SupplierName = "Chọn nhà sản xuất" }); product.Suppliers = new SelectList(supplier, "SupplierID", "SupplierName", product.SupplierID); foreach (ModelState modelState in ViewData.ModelState.Values) { foreach (ModelError error in modelState.Errors) { strErrorMessage += error.ErrorMessage; } } ViewBag.strError = strErrorMessage; return(View(product)); }