public ActionResult Item(String id) { //web.configから接続文字列を取得 String cnstr = ConfigurationManager.ConnectionStrings[ "mvcdbConnectionString"].ConnectionString; //データベースに接続する DataContext dc = new DataContext(cnstr); //商品情報を取得 ProductItemModel model = new ProductItemModel(); try { //商品情報を取得 model.Product = (from p in dc.GetTable <TProduct>() where p.id == id select p ).Single <TProduct>(); //商品詳細情報を取得 model.ProductDetail = (from p in dc.GetTable <TProductDetail>() where p.id == id select p ).Single <TProductDetail>(); } catch { return(Redirect("/Home/Error")); } return(View(model)); }
public void AddProductItem(ProductItemModel item) { try { string countQuery = $@"SELECT count(*) FROM ProductItem WHERE Product_Name='{item.ProductName}' COLLATE NOCASE"; int count = _productItemExecutor.GetCount(countQuery); if (count > 1) { throw new RecordAlreadyExistsException("Product named " + item.ProductName + " already exists"); } StringBuilder query = new StringBuilder(); query.Append("INSERT INTO ProductItem ( Product_Item_Id, Product_Name, Unit )"); query.Append(" VALUES ( "); query.Append($"'{item.Id}', '{item.ProductName}', '{item.MeasurementUnit}' )"); _productItemExecutor.Add(query.ToString()); } catch (RecordAlreadyExistsException ex) { _logger.Error(ex); throw; } catch (Exception ex) { _logger.Error(ex); throw; } }
public IActionResult EditProduct([FromBody] ProductItemModel product) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } try { var productItem = _context.Products.Single(x => x.Id == product.ProductID); var category = _context.Categories.SingleOrDefault(x => x.Name == product.CategoryName); if (category != null) { productItem.Name = product.ProductName; productItem.CategoryID = category.Id; } else { category = new Category { Name = product.CategoryName }; _context.Categories.Add(category); _context.SaveChanges(); productItem.Name = product.ProductName; productItem.CategoryID = category.Id; } _context.SaveChanges(); return(Ok()); } catch { return(BadRequest("Cannot edit!!!")); } }
//public void BuildMinHeap(ProductItemModel[] input) //{ // if (heapSize > 0) // { // //clear the current heap // Array.Resize(ref arr, input.Length); // heapSize = 0; // for (int i = 0; i < arr.Count; i++) // { // arr[i] = input[i]; // heapSize++; // } // } // for (int i = heapSize - 1 / 2; i >= 0; i--) // { // MinHeapify(i); // } //} //private void MinHeapify(int index) //{ // int left = 2 * index; // int right = (2 * index) + 1; // int smallest = index; // if (left < heapSize && arr[left].ProductPrice < arr[index].ProductPrice) // { // smallest = left; // } // else // { // smallest = index; // } // if (right < heapSize && arr[right].ProductPrice < arr[smallest].ProductPrice) // { // smallest = right; // } // if (smallest != index) // { // swap(ref arr, index, smallest); // MinHeapify(smallest); // } //} private void swap(ref ProductItemModel[] input, int a, int b) { ProductItemModel temp = input[a]; input[a] = input[b]; input[b] = temp; }
public ActionResult AddProduct(ProductAddModel model) { string role = CurrentUser.Role; if (role != Convert.ToString((byte)UserType.Admin)) { return(RedirectToAction("index", "home")); } #region treeinsert var category = _categoryService.GetCategoryByCategoryId(model.CategoryId);//tree insert product string productGroupName = _categoryService.GetCategoryByCategoryId(model.ProductGroupId).CategoryName; PrepareCategoryHash categoryHash = new PrepareCategoryHash(); categoryHash.CreateHashTableAndProductTree(); var categoryTable = categoryHash.GetCategoryTable; var productGroupTreeForCategory = (ProductGroupTree)categoryTable[category.CategoryName]; ProductGroupTreeNode node = productGroupTreeForCategory.GetProductTreeNodeByProductGroupName(productGroupTreeForCategory.GetRoot(), productGroupName); ProductItemModel productItem = new ProductItemModel(); productItem.BrandName = model.BrandName; productItem.ModelName = model.ModelName; productItem.ProductCost = model.Cost; productItem.ProductDescription = model.ProductDescription; productItem.ProductPrice = model.Price; productItem.Status = true; productItem.ProductNumber = model.ProductNumber; productItem.ProductName = model.ProductName; node.ProductBase.Products.Add(productItem); #endregion #region databaseinsert string fileNameDt = ""; if (Request.Files.Count > 0)//resim upload { var file = Request.Files[0]; if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); fileNameDt = fileName; var path = Path.Combine(Server.MapPath("~/ProductImages/"), fileName); file.SaveAs(path); } } Product product = new Product();//database adding product.BrandName = model.BrandName; product.CategoryId = model.ProductGroupId; product.ModelName = model.ModelName; product.ProductCost = model.Cost; product.ProductDescription = model.ProductDescription; product.ProductName = model.ProductName; product.ProductNumber = model.ProductNumber; product.ProductPrice = model.Price; product.ProductImagePath = fileNameDt; product.Status = true; _productservice.AddProduct(product); #endregion return(RedirectToAction("AddProduct", new { message = "success" })); }
// GET: Admin/ProductItem/Create public async Task <ActionResult> Create() { var model = new ProductItemModel { Items = await db.Items.ToListAsync(), Products = await db.Products.ToListAsync() }; return(View(model)); }
// GET: Admin/ProductItem/Create public async Task <ActionResult> Create() { ProductItemModel model = new ProductItemModel(); model.Products = await db.Products.ToListAsync(); model.Items = await db.Items.ToListAsync(); return(View(model)); }
// GET: Admin/ProductItem/Create public async Task <ActionResult> Create() { //Create instance of ProductItemModel and pass it into view var model = new ProductItemModel { Items = await db.Items.ToListAsync(), Products = await db.Products.ToListAsync() }; return(View(model)); }
private ProductItemModel convertProductToProductItemModel(Product product) { var model = new ProductItemModel(); model.Id = product.ID; model.ImageURL = product.Image; model.Price = product.Price.Value; model.Title = product.Name; return(model); }
// GET: Admin/ProductItem/Create public async Task <ActionResult> Create() { // getting Items and Products from db // add to ProductItemModel (view model) var model = new ProductItemModel { Items = await db.Items.ToListAsync(), Products = await db.Products.ToListAsync() }; return(View(model)); }
private static ProductItemModel RetrieveProductItemFromRead(ref MySqlDataReader reader) { var _productItem = new ProductItemModel(); _productItem.ID = reader.GetInt32(_productItem.GetIDColumn); _productItem.Name = reader.GetString(_productItem.GetNameColumn); _productItem.PartType = reader.GetString(_productItem.GetPartTypeColumn); _productItem.Code = reader.GetString(_productItem.GetCodeColumn); _productItem.Image = reader.GetString(_productItem.GetImageColumn); _productItem.Price = reader.GetDouble(_productItem.GetPriceColumn); return(_productItem); }
public static async Task <ProductItemModel> Convert(this ProductItem productItem, ApplicationDbContext db) { var model = new ProductItemModel { ItemId = productItem.ItemId, ProductId = productItem.ProductId, Items = await db.Items.ToListAsync(), Products = await db.Products.ToListAsync() }; return(model); }
public void remove(ProductItemModel value) { for (int i = 0; i < heapSize - 1; i++) { if (arr[i] == value) { arr[i] = arr[heapSize - 1]; heapSize--; siftDown(i); break; } } }
private void MapProductParametrics(ProductItemModel itemModel, ProductItem productItem) { MoveEqualParametricsFromVariantToProduct(itemModel); var variantParametricIds = GetVariantParametricIds(productItem.VariantParametricSeed); var parametricsIdsOnVariant = itemModel.Variants.SelectMany(v => v.Parametrics.Select(p => p.Id)); var alreadyAddedIds = itemModel.Parametrics.Select(p => p.Id); var allParametrics = GetAllParametrics(productItem); allParametrics.RemoveAll(i => variantParametricIds.Contains(i.Id) || parametricsIdsOnVariant.Contains(i.Id) || alreadyAddedIds.Contains(i.Id)); MapParametrics(itemModel.Parametrics, allParametrics); }
public static async Task <ProductItemModel> Convert(this ProductItem productItem, ApplicationDbContext db, bool addListData = true) { var model = new ProductItemModel { ItemId = productItem.ItemId, ProductId = productItem.ProductId, Items = addListData ? await db.Items.ToListAsync() : null, Products = addListData ? await db.Products.ToListAsync(): null, ItemTitle = (await db.Items.FirstOrDefaultAsync(i => i.Id.Equals(productItem.ItemId))).Title, ProductTitle = (await db.Products.FirstOrDefaultAsync(p => p.Id.Equals(productItem.ProductId))).Title }; return(model); }
void AddItemToGrid(Backend.Objects.Product product) { //Fill Grid [ ItemsGrid ] With Rows ProductItemModel productItemModel = new ProductItemModel { OnAdd = OnAddItem, Product = product, User = User, Store = Store, IsSearchItem = true, }; //Add To Grid ItemsGrid.Controls.Add(productItemModel); }
public void AddProductItem_Adding_Dublicate_Returns_Exception() { ISqlExecutor <ProductItemModel> productItemExecutor = new SqlProductItemExecutor(); ILogger logger = A.Fake <ILogger>(); SQLiteRepository repo = new SQLiteRepository(productItemExecutor, logger); ProductItemModel item = new ProductItemModel { Id = Guid.NewGuid(), MeasurementUnit = "Kg", ProductName = "bulves" }; repo.AddProductItem(item); repo.AddProductItem(item); }
void AddProductToGrid(Backend.Objects.Product product) { //Fill Grid [ ItemsGrid ] With Rows ProductItemModel productItemModel = new ProductItemModel { //OnAdd = OnAddProduct, OnDelete = OnRemoveProduct, Product = product, User = User, Store = Store, CanDelete = true, }; //Add To Grid ProductDiscountsGrid.Controls.Add(productItemModel); }
// GET: Admin/ProductItem/Details/5 public async Task <ActionResult> Details(int?itemId, int?productId) { if (itemId == null || productId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ProductItem productItem = await GetProductItem(itemId, productId); if (productItem == null) { return(HttpNotFound()); } ProductItemModel model = await productItem.Convert(db); return(View(model)); }
public ActionResult HouseItemDetail(ParameterModel param) { var model = new ProductItemModel(); if (param.pidx != 0) { Mapper.CreateMap <PRODUCTITEM, ProductItemModel>(); var itemDto = blService.getProductItem(param); model = Mapper.Map <PRODUCTITEM, ProductItemModel>(itemDto); } else { model.hidx = param.hidx; } return(View(model)); }
public ActionResult Detail(int productId) { ProductDao productDao = new ProductDao(); var product = productDao.GetProductById(productId); // chuyen doi dl tu db sang model de hien thi var model = new ProductItemModel(); model.Id = product.ID; model.Title = product.Name; model.Price = product.Price ?? 0;//co the co gia tr hoac khong ? neu co gia tri thi hien gt ? nguoc lai hien thi 0 model.ImageURL = product.Image; model.Description = product.Descriptions; return(View(model)); }
public async Task <ActionResult> Create( ProductItemModel productItem) { if (ModelState.IsValid) { ProductItem x = new ProductItem(); x.ItemtId = productItem.ItemId; x.ProductId = productItem.ProductId; db.ProductItems.Add(x); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(productItem)); }
private void MapVariants(IEnumerable <ProductItem> variants, ProductItemModel itemModel) { foreach (var variant in variants) { var variantModel = Mapper.Map <ProductItem, VariantModel>(variant); //variantModel.Files.RemoveAll(f => itemModel.Files.Select(x => x.Url).Contains(f.Url) && f.Type != (int)ProductFileType.VariantImage); MapVariantParametrics(variant, variantModel.VariantParametrics); MapParametrics(variant, variantModel.Parametrics); itemModel.Variants.Add(variantModel); } itemModel.Files.RemoveAll(f => f.Type != (int)ProductFileType.DefaultImage && !itemModel.Variants.All(v => v.Files.Exists(vf => vf.Url == f.Url))); foreach (var variantModel in itemModel.Variants) { variantModel.Files.RemoveAll(f => itemModel.Files.Select(x => x.Url).Contains(f.Url) && f.Type != (int)ProductFileType.VariantImage); } }
public ActionResult updateHouseItem(ProductItemModel model) { ResultModel result = new ResultModel(); try { Mapper.CreateMap <ProductItemModel, PRODUCTITEM>(); PRODUCTITEM entity = Mapper.Map <ProductItemModel, PRODUCTITEM>(model); result = blService.updateHouseItem(entity); } catch (Exception ex) { result.ResultCode = -1; result.ResultMessage = ex.Message; throw ex; } return(Json(result)); }
public List <int> Resolve(ProductItem source, ProductItemModel destination, List <int> destMember, ResolutionContext context) { var flagList = new List <int>(); if (string.IsNullOrWhiteSpace(source.FlagIdSeed)) { return(flagList); } foreach (var flag in source.FlagIdSeed.Split(',')) { int id; if (int.TryParse(flag.Trim(), out id) && !flagList.Contains(id)) { flagList.Add(id); } } return(flagList); }
private static void MoveEqualParametricsFromVariantToProduct(ProductItemModel itemModel) { foreach (var group in itemModel.Variants.SelectMany(x => x.Parametrics).ToList().GroupBy(x => x.Id)) { var allVariantsHaveTheParametric = itemModel.Variants.All(x => x.Parametrics.SingleOrDefault(y => y.Id == @group.Key) != null); if (!allVariantsHaveTheParametric) { continue; } var distinctValueCount = @group.Distinct(EqualityComparer <ParametricModel> .Default).Count(); if (distinctValueCount != 1) { continue; } itemModel.Parametrics.Add(@group.First()); itemModel.Variants.ForEach(x => x.Parametrics = x.Parametrics.Where(y => y.Id != @group.Key).ToList()); } }
private List <ProductItemModel> TransformResultItemList(PagedResult <ProductSearchResultItem> solrItemList) { List <ProductItemModel> result = new List <ProductItemModel>(); ImageSize imageSizeItemList = Nesoft.ECWeb.MobileService.Models.Product.ImageUrlHelper.GetImageSize(ImageType.Middle); foreach (var item in solrItemList) { ProductItemModel model = new ProductItemModel(); //基本信息 model.ID = item.ProductSysNo; model.Code = item.ProductID; model.ProductTitle = item.ProductDisplayName; model.PromotionTitle = item.PromotionTitle; model.ImageUrl = ProductFacade.BuildProductImage(imageSizeItemList, item.ProductDefaultImage); //价格相关信息 SalesInfoModel salesInfo = new SalesInfoModel(); salesInfo.BasicPrice = item.MarketPrice; salesInfo.CurrentPrice = item.SalesPrice; salesInfo.CashRebate = item.CashRebate; salesInfo.TariffPrice = item.ProductTariffAmt; salesInfo.FreeEntryTax = item.ProductTariffAmt <= ConstValue.TariffFreeLimit; salesInfo.TotalPrice = item.TotalPrice; //赠送积分数量 salesInfo.PresentPoint = item.Point; salesInfo.OnlineQty = item.OnlineQty; salesInfo.IsHaveValidGift = item.IsHaveValidGift; salesInfo.IsCountDown = item.IsCountDown; salesInfo.IsNewProduct = item.IsNewproduct; salesInfo.IsGroupBuyProduct = item.IsGroupBuyProduct; model.SalesInfo = salesInfo; //其它信息 model.ReviewCount = item.ReviewCount; model.ReviewScore = item.ReviewScore; result.Add(model); } return(result); }
public IActionResult AddProduct([FromBody] AddProductModel model) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } try { var category = _context.Categories.SingleOrDefault(c => c.Name == model.CategoryName); if (category == null) { category = new Category { Name = model.CategoryName }; _context.Categories.Add(category); _context.SaveChanges(); } var product = new Product { CategoryID = category.Id, Name = model.ProductName }; _context.Products.Add(product); _context.SaveChanges(); var result = new ProductItemModel { ProductID = product.Id, ProductName = product.Name, CategoryName = category.Name }; return(Ok(result)); } catch { return(BadRequest("Cannot add item!!!")); } }
public async Task <ActionResult> Edit( ProductItemModel productItem) { if (ModelState.IsValid) { ProductItem pd = new ProductItem(); pd.ItemtId = productItem.ItemId; pd.ProductId = productItem.ProductId; pd.OldItemtId = productItem.OldItemtId; pd.OldProductId = productItem.OldProductId; var canchange = await pd.CanChange(db); if (canchange) { var remove = db.ProductItems.FirstOrDefault(pi => pi.ProductId.Equals(productItem.OldProductId) && pi.ItemtId.Equals(productItem.OldItemtId)); db.ProductItems.Remove(remove); db.ProductItems.Add(pd); await db.SaveChangesAsync(); } else { var modell = await db.ProductItems.Convert(db); return(RedirectToAction("index", modell)); } } var model = await db.ProductItems.Convert(db); return(View("Index", model)); }
private void MapVariants(ProductItem productItem, IEnumerable <VariantItem> variants, ProductItemModel itemModel) { foreach (var variant in variants) { var variantModel = Mapper.Map <VariantItem, VariantModel>(variant); MapVariantParametrics(productItem, variant, variantModel.VariantParametrics); MapParametrics(productItem, variant, variantModel.Parametrics); itemModel.Variants.Add(variantModel); } }