public ActionResult SubmitProperty(submitPropertyModel model, string place = "mp")
        {
            var temp = _productService.GetProductById(model.Product.Id);

            temp.ProductCategoryMappings.FirstOrDefault().ProductCategoryId = model.CategoryId;
            try
            {
                temp.Slug = StringConvert.ConvertShortName(model.Product.Name) + "-" + model.Product.Id;
            }
            catch (Exception)
            {
                return(RedirectToAction("SubmitProperty", new { Id = temp.Id, place = place }));
            }
            temp.ColorId      = model.Product.ColorId;
            temp.CodeName     = model.Product.CodeName;
            temp.OldPrice     = model.CategoryId;
            temp.Content      = model.Product.Content;
            temp.Description  = model.Product.Description;
            temp.IsHomePage   = true;
            temp.IsNew        = model.Product.IsNew;
            temp.IsPublic     = model.Product.IsPublic;
            temp.Name         = model.Product.Name;
            temp.Deleted      = false;
            temp.OrginalPrice = model.Product.OrginalPrice;
            foreach (var item in model.Product.ProductAttributeMappings)
            {
                if (item.Value != null)
                {
                    temp.ProductAttributeMappings.Where(p => p.Id == item.Id).FirstOrDefault().Value = item.Value;
                }
                else
                {
                    temp.ProductAttributeMappings.Where(p => p.Id == item.Id).FirstOrDefault().Value = "0";
                }
            }

            temp.ProductAttributeMappings.Where(m => m.ProductAttributeId == 30).FirstOrDefault().Value = model.Product.ProductAttributeMappings.Where(p => p.ProductAttributeId == 30).FirstOrDefault().Value;
            temp.LastEditedTime = DateTime.Now;
            if (!temp.ProductPictureMappings.Any())
            {
                var pic = new Picture();
                pic.IsDeleted = false;
                pic.Url       = "/Images/vin_hom_tan_cang.jpg";
                _pictureService.CreatePicture(pic);
                ProductPictureMapping mapping = new ProductPictureMapping();
                mapping.ProductId = temp.Id;
                mapping.PictureId = pic.Id;
                temp.ProductPictureMappings.Add(mapping);
            }
            //foreach (var item in temp.ProductPictureMappings)
            //{
            //model.Product.ProductPictureMappings.Add(item);
            //}
            try
            {
                _productService.EditProduct(temp);
            }
            catch (Exception)
            {
                return(RedirectToAction("SubmitProperty", new { Id = temp.Id, place = place }));
            }
            if (place.Equals("wp"))
            {
                return(RedirectToAction("WaitingProperty"));
            }
            else if (place.Equals("mp"))
            {
                return(RedirectToAction("MyProperty"));
            }
            else if (place.Equals("fe"))
            {
                return(Redirect("/san-pham/" + temp.Slug));
            }
            else if (place.Equals("am"))
            {
                return(Redirect("/Admin/Product"));
            }
            else if (place != "")
            {
                return(Redirect(place));
            }
            return(RedirectToAction("MyProperty"));
        }
        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));
        }