public ActionResult Edit(int?id) { EditProduct editProduct; if (id.HasValue) { editProduct = Mapper.Map <EditProduct>(Products.GetByID(id.Value)); editProduct.Text = HttpUtility.HtmlDecode(editProduct.Text); editProduct.GroupUrlPerfix = Groups.GetByID(editProduct.GroupID.Value).UrlPerfix; editProduct.Groups = ProductGroups.GetByProductID(editProduct.ID).Select(item => item.GroupID).ToList(); editProduct.Images = ProductImages.GetByProductID(editProduct.ID); editProduct.Files = ProductFiles.GetByProductID(editProduct.ID); editProduct.Marks = ProductMarks.GetByProductID(editProduct.ID); editProduct.Points = ProductPoints.GetByProductID(editProduct.ID); editProduct.Keywords = ProductKeywords.GetByProductID(editProduct.ID); editProduct.Notes = ProductNotes.GetByProductID(editProduct.ID); editProduct.ProductPricesLinks = ProductPricesLinks.GetByProductID(editProduct.ID); editProduct.Supplies = ProductSupplies.GetByProductID(editProduct.ID); editProduct.Prices = ProductPrices.GetByProductID(editProduct.ID); editProduct.Varients = ProductVarients.GetByProductID(editProduct.ID); editProduct.Discounts = ProductDiscounts.GetAllByProductID(editProduct.ID); } else { editProduct = new EditProduct(); editProduct.userID = UserID; } return(View(editProduct)); }
public ActionResult Edit(Keyword keyword, string delKey) { try { keyword.LastUpdate = DateTime.Now; ViewBag.Success = true; if (keyword.ID == -1) { Keywords.Insert(keyword); UserNotifications.Send(UserID, String.Format("جدید - کلیدواژه '{0}'", keyword.Title), "/Admin/HomeBoxes/Edit/" + keyword.ID, NotificationType.Success); keyword = new Keyword(); } else { if (delKey == "on" && !keyword.IsActive) { ProductKeywords.DeleteByKeywordID(keyword.ID); } Keywords.Update(keyword); } } catch (Exception ex) { SetErrors(ex); } return(ClearView(keyword)); }
private static bool IsRepeatKey(int keywordID, int productID) { var key = ProductKeywords.GetByKeywordID_ProductID(keywordID, productID); if (key != null) { return(true); } return(false); }
public JsonResult Update(int keywordID, string products) { var jsonSuccessResult = new JsonSuccessResult(); try { string[] arrProducts = products.Split(','); var curList = ProductKeywords.GetByKeywordID(keywordID); foreach (var product in arrProducts) { int productID = Int32.Parse(product); if (!curList.Any(item => item.ProductID == productID && item.KeywordID == keywordID)) { var kp = new ProductKeyword { ProductID = productID, KeywordID = keywordID, LastUpdate = DateTime.Now }; ProductKeywords.Insert(kp); } else { curList.Remove(curList.Single(cls => cls.KeywordID == keywordID && cls.ProductID == productID)); } } foreach (var item in curList) { ProductKeywords.Delete(item.ID); } jsonSuccessResult.Success = true; } catch (Exception ex) { jsonSuccessResult.Errors = new string[] { ex.Message }; jsonSuccessResult.Success = false; } return(new JsonResult() { Data = jsonSuccessResult }); }
private static void SaveDefaultKeywords(string[] keywords, int productID) { List <ProductKeyword> keys = new List <ProductKeyword>(); foreach (var key in keywords) { if (key != null && key != String.Empty) { var orgKey = Keywords.GetByTitle(key); if (orgKey != null) { if (orgKey.IsActive) { var pk = new ProductKeyword { KeywordID = orgKey.ID, ProductID = productID, LastUpdate = DateTime.Now }; keys.Add(pk); } } else { int keyID = InsertKeyword(key); var pk = new ProductKeyword { KeywordID = keyID, ProductID = productID, LastUpdate = DateTime.Now }; keys.Add(pk); } } } if (keys.Count > 0) { ProductKeywords.Insert(keys); } }
public JsonResult Get(int keywordID) { var jsonSuccessResult = new JsonSuccessResult(); try { var list = ProductKeywords.GetByKeywordID(keywordID); jsonSuccessResult.Data = list; jsonSuccessResult.Success = true; } catch (Exception ex) { jsonSuccessResult.Errors = new string[] { ex.Message }; jsonSuccessResult.Success = false; } return(new JsonResult() { Data = jsonSuccessResult }); }
private static void SaveKeywords(EditProduct editProduct, int productID) { var curList = ProductKeywords.GetByProductID(productID); foreach (var key in editProduct.Keywords) { if (key.KeywordID == -1) { key.KeywordID = InsertKeyword(key.Title); } if (!curList.Any(item => item.ID == key.ID)) { var rpt = IsRepeatKey(key.KeywordID, productID); if (!rpt) { var productKeyword = Mapper.Map <ProductKeyword>(key); productKeyword.ProductID = productID; ProductKeywords.Insert(productKeyword); } } else { ProductKeywords.Update(key); curList.Remove(curList.Single(cls => cls.ID == key.ID)); } } foreach (var item in curList) { ProductKeywords.Delete(item.ID); } }
public ActionResult Edit(EditProduct editProduct, string score, string chkSendSms) { try { float scoreValue = score != "" ? float.Parse(score) : 0; var product = Mapper.Map <Product>(editProduct); product.LastUpdate = DateTime.Now; product.ProductScore = scoreValue; ViewBag.Success = true; int productID = product.ID; if (productID == -1) { if (base.IsAdmin) { product.ProductStatus = editProduct.ProductStatus; } else { product.ProductStatus = ProductStatus.NotChecked; } product.UserID = base.UserID; product.CreatedDate = DateTime.Now; Products.Insert(product); productID = product.ID; string[] dKeys = GetDefaultKeys(editProduct); SaveGroups(editProduct, productID); SaveImages(editProduct, productID); SaveFiles(editProduct, productID); SaveMarks(editProduct, productID); SavePoints(editProduct, productID); SaveKeywords(editProduct, productID); SaveDefaultKeywords(dKeys, productID); SaveNotes(editProduct, productID, UserID); SaveProductLinks(editProduct, productID); SaveSupplies(editProduct, productID); SavePrices(editProduct, productID); SaveAttributes(Request, productID); SaveVarients(editProduct, productID); UserNotifications.Send(UserID, String.Format("جدید - محصول '{0}'", editProduct.Title), "/Admin/Products/Edit/" + editProduct.ID, NotificationType.Success); editProduct = new EditProduct(); editProduct.userID = product.UserID; } else { Products.Update(product); SaveGroups(editProduct, productID); SaveImages(editProduct, productID); SaveFiles(editProduct, productID); SaveMarks(editProduct, productID); SavePoints(editProduct, productID); SaveKeywords(editProduct, productID); SaveNotes(editProduct, productID, UserID); SaveProductLinks(editProduct, productID); SaveSupplies(editProduct, productID); SavePrices(editProduct, productID); SaveAttributes(Request, productID); SaveVarients(editProduct, productID); editProduct.Text = HttpUtility.HtmlDecode(editProduct.Text); editProduct.Groups = ProductGroups.GetByProductID(editProduct.ID).Select(item => item.GroupID).ToList(); editProduct.Supplies = ProductSupplies.GetByProductID(editProduct.ID); editProduct.Prices = ProductPrices.GetByProductID(editProduct.ID); editProduct.Varients = ProductVarients.GetByProductID(editProduct.ID); editProduct.Keywords = ProductKeywords.GetByProductID(editProduct.ID); editProduct.Notes = ProductNotes.GetByProductID(editProduct.ID); editProduct.userID = product.UserID; editProduct.GroupUrlPerfix = Groups.GetByID(editProduct.GroupID.Value).UrlPerfix; editProduct.ProductScore = scoreValue; if (chkSendSms == "on") { SendMessageToRequests(editProduct, productID); } } Products.UpdateIsUnavailable(product.ID); } catch (Exception ex) { SetErrors(ex); } return(ClearView(editProduct)); }