public ActionResult Edit(ProductQuestion productQuestion, string sendEmail)
        {
            try
            {
                productQuestion.LastUpdate = DateTime.Now;

                ViewBag.Success = true;

                if (productQuestion.ID == -1)
                {
                    productQuestion.UserID   = UserID;
                    productQuestion.DateTime = DateTime.Now;

                    ProductQuestions.Insert(productQuestion);

                    UserNotifications.Send(UserID, String.Format("جدید - سوالات متداول '{0}'", productQuestion.Question), "/Admin/ProductQuestions/Edit/" + productQuestion.ID, NotificationType.Success);

                    productQuestion = new ProductQuestion();
                }
                else
                {
                    ProductQuestions.Update(productQuestion);

                    if (!String.IsNullOrWhiteSpace(productQuestion.UserID) && sendEmail == "on" && productQuestion.QuestionStatus == QuestionStatus.Answered)
                    {
                        var user = OSUsers.GetByID(productQuestion.UserID);

                        EmailServices.SendEmail(user.Email, "پاسخ به پرسش شما", productQuestion.Reply, user.Id);
                    }
                }
            }
            catch (Exception ex)
            {
                SetErrors(ex);
            }

            return(ClearView(model: productQuestion));
        }