public ActionResult Edit(ProductDiscount productDiscount, string discountStatus) { try { ViewBag.ProductDiscountProductID = ViewBag.ProductDiscountGroupID = ViewBag.ProductDiscountRoleID = false; switch (discountStatus) { case "0": ViewBag.ProductDiscountProductID = true; //productDiscount.ProductID = null; productDiscount.GroupID = null; productDiscount.RoleID = null; break; case "1": ViewBag.ProductDiscountGroupID = true; productDiscount.ProductID = null; //productDiscount.GroupID = null; productDiscount.RoleID = null; break; case "2": ViewBag.ProductDiscountRoleID = true; productDiscount.ProductID = null; productDiscount.GroupID = null; //productDiscount.RoleID = null; break; default: break; } switch (productDiscount.DiscountType) { case DiscountType.Percent: productDiscount.Price = 0; break; case DiscountType.PriceAfter: productDiscount.Price = (productDiscount.Price * (ExtensionMethods.IsRial ? 1 : 10)); productDiscount.Percent = 0; break; case DiscountType.PriceBefore: productDiscount.Price = (productDiscount.Price * (ExtensionMethods.IsRial ? 1 : 10)); productDiscount.Percent = 0; break; default: break; } productDiscount.LastUpdate = DateTime.Now; ViewBag.Success = true; var id = productDiscount.ID; if (productDiscount.ID == -1) { ProductDiscounts.Insert(productDiscount); UserNotifications.Send(UserID, String.Format("جدید - تخفیف محصول '{0}'", productDiscount.Percent), "/Admin/ProductDiscounts/Edit/" + productDiscount.ID, NotificationType.Success); } else { ProductDiscounts.Update(productDiscount); } productDiscount.Price = (productDiscount.Price / (ExtensionMethods.IsRial ? 1 : 10)); #region Set Task var taskText = String.Format("تخفیف \"{0}\" در حال اتمام است.", productDiscount.Title, productDiscount.PersianEndDate); var taskDate = productDiscount.EndDate.AddDays(-1); UserTasks.SetTask("اتمام مهلت تخفیف", taskText, StaticValues.AdminID, "ProductDiscounts_" + productDiscount.ID, "/Admin/ProductDiscounts/Edit/" + productDiscount.ID, taskDate); #endregion Set Task if (id == -1) { productDiscount = new ProductDiscount(); } } catch (Exception ex) { SetErrors(ex); } return(ClearView(productDiscount)); }