public ProductCategoryMapping SaveProductCategoryMapping(ProductCategoryMapping productCategoryMapping)
        {
            ProductCategoryMapping savedProductCategoryMapping = _thyMenaProductCategoryMappingRepository.Add(productCategoryMapping);

            _thyMenaProductCategoryMappingRepository.Save();
            return(savedProductCategoryMapping);
        }
예제 #2
0
        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);
        }
예제 #4
0
        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();
                }
            }
        }
예제 #6
0
        public virtual void UpdateProductCategoryMapping(ProductCategoryMapping productCategoryMapping)
        {
            if (productCategoryMapping == null)
            {
                throw new ArgumentNullException("productCategory");
            }

            _productCategoryMappingRepository.Update(productCategoryMapping);
        }
예제 #7
0
 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));
 }
예제 #8
0
        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));
            }
        }