public ProductCategoryMapping SaveProductCategoryMapping(ProductCategoryMapping productCategoryMapping) { ProductCategoryMapping savedProductCategoryMapping = _thyMenaProductCategoryMappingRepository.Add(productCategoryMapping); _thyMenaProductCategoryMappingRepository.Save(); return(savedProductCategoryMapping); }
public async Task <int> UpdateProduct(Product objProduct) { try { int result = 0; if (_entities != null) { var deleteMapping = (from p in _entities.ProductCategoryMapping where p.ProductID == objProduct.ID select p); foreach (var item in deleteMapping) { _entities.ProductCategoryMapping.Remove(item); } foreach (var item in objProduct.strCategory) { ProductCategoryMapping obj = new ProductCategoryMapping(); obj.CategoryID = item.CategoryID; obj.ProductID = objProduct.ID; _entities.ProductCategoryMapping.Add(obj); } _entities.Product.Update(objProduct); result = await _entities.SaveChangesAsync(); return(result); } return(result); } catch (Exception ex) { throw ex; } }
private void SaveCategoryMappings(ProductCreateOrUpdateModel model) { var categoryMappings = new List <ProductCategoryMapping>(); if (model.CategoryIds != null) { foreach (var id in model.CategoryIds) { // check if category exist Guid categoryId; if (Guid.TryParse(id, out categoryId)) { if (_categoryService.GetCategoryById(categoryId) != null) { // create mapping entity var categoryMapping = new ProductCategoryMapping { Id = Guid.NewGuid(), ProductId = model.Id, CategoryId = Guid.Parse(id) }; categoryMappings.Add(categoryMapping); } } } } // save to database _categoryService.DeleteAllProductCategoryMappingsByProductId(model.Id); _categoryService.InsertProductCategoryMappings(categoryMappings); }
public async Task <int> AddProduct(Product objProduct) { try { if (_entities != null) { Product prod = new Product(); prod.ProductName = objProduct.ProductName; prod.Description = objProduct.Description; prod.Cost = objProduct.Cost; prod.Active = objProduct.Active; prod.ProductCategoryMapping = new List <ProductCategoryMapping>(); foreach (var item in objProduct.strCategory) { ProductCategoryMapping obj = new ProductCategoryMapping(); obj.CategoryID = item.CategoryID; obj.ProductID = prod.ID; prod.ProductCategoryMapping.Add(obj); } _entities.Product.Add(prod); await _entities.SaveChangesAsync(); return(prod.ID); } return(0); } catch (Exception ex) { throw ex; } }
public void InsertOrUpdateCategoryProductMapping(Product product, int?categoryId) { Category category = _categoryRepository.FindCategoryById(categoryId ?? 0); category = category ?? _categoryRepository.FindCategoryByName("Other"); ProductCategoryMapping productCategoryMapping = _productCategoryMappingRepository.FindByProductIdNoXmlUpdateIsUpdated( product.Id, false, false ); if (productCategoryMapping != null) { productCategoryMapping.CategoryId = category.Id; _productCategoryMappingRepository.Update(productCategoryMapping); _productCategoryMappingRepository.Save(); } else { productCategoryMapping = _productCategoryMappingRepository.FindByProductIdCategoryId( product.Id, category.Id); if (productCategoryMapping == null) { _productCategoryMappingRepository.Add(new ProductCategoryMapping() { ProductId = product.Id, CategoryId = category.Id, IsFeaturedProduct = false, DisplayOrder = 0 }); _productCategoryMappingRepository.Save(); } } }
public virtual void UpdateProductCategoryMapping(ProductCategoryMapping productCategoryMapping) { if (productCategoryMapping == null) { throw new ArgumentNullException("productCategory"); } _productCategoryMappingRepository.Update(productCategoryMapping); }
public ActionResult ProductCategoryAdd(int categoryId, int productId) { if (categoryId > 0 && productId > 0) { ProductCategoryMapping _map = new ProductCategoryMapping(); _map.CategoryId = categoryId; _map.ProductId = productId; if (_productCategoryMappingService.Insert(_map) != null) { return(Json(_map, JsonRequestBehavior.AllowGet)); } } return(Json("-1", JsonRequestBehavior.AllowGet)); }
public static List <ProductCategoryMapping> GenerateProductCategoryMappings( List <Category> categories, string fileName, Product product, List <ProductCategoryMapping> productCategoryMappings) { List <ProductCategoryMapping> productCategoryMappingList = new List <ProductCategoryMapping>(); Category category = categories.Where(c => fileName.IndexOf(c.Name) != -1).FirstOrDefault(); category = category ?? categories.Where(c => c.Name == "Other").FirstOrDefault(); ProductCategoryMapping productCategoryMapping1 = productCategoryMappings .Where(pcm => pcm.ProductId == product.Id) .FirstOrDefault(); if (productCategoryMapping1 != null) { productCategoryMappingList.Add(productCategoryMapping1); } ProductCategoryMapping productCategoryMapping2 = productCategoryMappings .Where(pcm => pcm.ProductId == product.Id && pcm.CategoryId == category.Id) .FirstOrDefault(); if (productCategoryMapping2 == null) { productCategoryMapping2 = new ProductCategoryMapping() { ProductId = product.Id, CategoryId = category.Id, IsFeaturedProduct = false, DisplayOrder = 0, }; } productCategoryMappingList.Add(productCategoryMapping2); return(productCategoryMappingList); }
public ActionResult SubmitProperty(int?Id, string place) { var user = GetInfo(); Product product = new Product(); submitPropertyModel model = new submitPropertyModel(); ViewBag.place = place == ""?"mp":place; if (User.IsInRole("SuperAdmin")) { model.ListColor = _colorService.GetColors().Where(p => !p.isDelete).OrderBy(h => h.Name).ToSelectListItems(-1); } else { model.ListColor = _colorService.GetColors().Where(p => !p.isDelete && p.StaffUserName.Equals(user.UserName)).OrderBy(h => h.Name).ToSelectListItems(-1); } var existed = _productAttributeMappingService.GetProductAttributeMappings().Where(p => p.Value.Equals(User.Identity.Name)).Where(p => !p.Product.IsHomePage).FirstOrDefault(); if (Id != null)//edit product { product = _productService.GetProductById(int.Parse(Id.ToString())); //model.ListColor = _colorService.GetColors().Where(p => p.StaffUserName.Equals(user.UserName)).ToSelectListItems(product.ColorId); if (User.IsInRole("SuperAdmin")) { model.ListColor = _colorService.GetColors().Where(p => !p.isDelete).OrderBy(h => h.Name).ToSelectListItems(product.ColorId); } else { model.ListColor = _colorService.GetColors().Where(p => p.StaffUserName.Equals(user.UserName)).OrderBy(h => h.Name).ToSelectListItems(product.ColorId); } model.listCategory = _productCategoryService.GetProductCategories().ToSelectListItems(product.ProductCategoryMappings.FirstOrDefault().ProductCategoryId); model.Product = product; model.Product.OrginalPrice = model.Product.OrginalPrice; model.CategoryId = product.ProductCategoryMappings.FirstOrDefault().ProductCategoryId; model.Lat = product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 26).FirstOrDefault().Value; model.Long = product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 27).FirstOrDefault().Value; return(View(model)); } if (existed != null) { model.listCategory = _productCategoryService.GetProductCategories().ToSelectListItems(existed.Product.ProductCategoryMappings.FirstOrDefault().ProductCategoryId); model.Product = existed.Product; model.Product.OrginalPrice = model.Product.OrginalPrice; model.CategoryId = model.Product.ProductCategoryMappings.FirstOrDefault().ProductCategoryId; model.Lat = model.Product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 26).FirstOrDefault().Value; model.Long = model.Product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 27).FirstOrDefault().Value; return(View(model)); } model.listCategory = _productCategoryService.GetProductCategories().ToSelectListItems(-1); product.Deleted = false; product.IsHomePage = false; //Add ProductAttribute after product created product.ProductAttributeMappings = new Collection <ProductAttributeMapping>(); var listAttributeId = _productAttributeService.GetProductAttributes().Select(p => p.Id); foreach (var id in listAttributeId) { product.ProductAttributeMappings.Add( new ProductAttributeMapping() { ProductAttributeId = id, ProductId = product.Id, Value = "0" }); } //nhap thong tin chu so huu mac dinh if (model.ListColor.ToList().FirstOrDefault() == null) { product.ColorId = 1; ViewBag.noti = "Bạn Vui Lòng Tạo Chủ sở hữu trước khi tạo Bất Động Sản"; return(RedirectToAction("Index", "Owner")); } else { product.ColorId = int.Parse(model.ListColor.ToList().FirstOrDefault().Value); } //nhap thong tin nguoi tao var users = GetInfo(); product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 19).FirstOrDefault().Value = users.UserName; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 20).FirstOrDefault().Value = users.FirstName == null? users.UserName: users.FirstName; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 21).FirstOrDefault().Value = users.PhoneNumber == null ? users.UserName : users.PhoneNumber; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 22).FirstOrDefault().Value = users.Email == null ? users.UserName : users.Email; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 23).FirstOrDefault().Value = users.Skype == null ? users.UserName : users.Skype; _productService.CreateProduct(product); model.Product = product; model.Lat = "10.778557"; model.Long = "106.622344"; //tao category ProductCategoryMapping obj = new ProductCategoryMapping(); obj.ProductId = product.Id; obj.ProductCategoryId = 1; _productCategoryMappingService.CreateProductCategoryMapping(obj); return(View(model)); }
public ActionResult Create(ProductFormModel newProduct, bool continueEditing) { if (ModelState.IsValid) { //Mapping to domain //Product product = Mapper.Map<ProductFormModel, Product>(newProduct.pro); Product product = newProduct.product; if (String.IsNullOrEmpty(product.Slug)) { product.Slug = StringConvert.ConvertShortName(product.Name); } //Create Product _productService.CreateProduct(product); product.Slug = product.Slug + "-" + product.Id; //if (newProduct.CategoryId != 0) //{ // ProductCategoryMapping obj = new ProductCategoryMapping(); // obj.ProductId = product.Id; // obj.ProductCategoryId = newProduct.CategoryId; // _ProductCategoryMappingService.CreateProductCategoryMapping(obj); //} if (newProduct.CategoryId != 0) { ProductCategoryMapping obj = new ProductCategoryMapping(); obj.ProductId = product.Id; obj.ProductCategoryId = newProduct.CategoryId; _ProductCategoryMappingService.CreateProductCategoryMapping(obj); } //Add ProductAttribute after product created product.ProductAttributeMappings = new Collection <ProductAttributeMapping>(); var listAttributeId = _productAttributeService.GetProductAttributes().Select(p => p.Id); foreach (var id in listAttributeId) { product.ProductAttributeMappings.Add( new ProductAttributeMapping() { ProductAttributeId = id, ProductId = product.Id }); } //nhap thong tin nguoi tao var users = GetInfo(); product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 19).FirstOrDefault().Value = users.UserName; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 20).FirstOrDefault().Value = users.FirstName; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 21).FirstOrDefault().Value = users.PhoneNumber; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 22).FirstOrDefault().Value = users.Email; product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 23).FirstOrDefault().Value = users.Skype; //Add Picture default for Labixa product.ProductPictureMappings = new Collection <ProductPictureMapping>(); for (int i = 0; i < 6; i++) { var newPic = new Picture(); bool ismain = i == 0; _pictureService.CreatePicture(newPic); product.ProductPictureMappings.Add( new ProductPictureMapping() { PictureId = newPic.Id, ProductId = product.Id, IsMainPicture = ismain, DisplayOrder = 0, }); } _productService.EditProduct(product); //create product relation //Save all after edit return(RedirectToAction("Index", "Product")); } else { Product product = new Product(); ProductFormModel model = new ProductFormModel(); model.product = product; return(View("Create", model)); } }