public ActionResult Feedback(DocumentFeedbackModel model, SubmitType submit) { if (ModelState.IsValid) { var response = _documentService.SaveCustomerFeedback(model); SetResponseMessage(response); if (response.Success) { switch (submit) { case SubmitType.PopupSave: return(View("CloseFancyBox", new CloseFancyBoxViewModel { IsReload = false })); default: return(RedirectToAction("Feedback", new { path = model.EncryptedPath })); } } } SetupPopupAction(); return(View(model)); }
/// <summary> /// Save document feedback /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SaveCustomerFeedback(DocumentFeedbackModel model) { if (WorkContext.CurrentUser == null) { throw new EzCMSUnauthorizeException(); } var protectedDocumentEmailTo = _siteSettingService.GetSetting <string>(SettingNames.ProtectedDocumentEmailTo); var emailModel = new ProtectedDocumentEmailModel { Email = WorkContext.CurrentUser.Email, FullName = WorkContext.CurrentUser.FullName, Comment = model.Comment, Path = model.RelativePath }; var emailResponse = _emailTemplateService.ParseEmail(EmailEnums.EmailTemplateType.ProtectedDocumentForm, emailModel); if (emailResponse == null) { return(new ResponseModel { Success = false, Message = T("ProtectedDocument_Message_MissingProtectedDocumentFeedbackEmailTemplate") }); } var emailLog = new EmailLog { To = protectedDocumentEmailTo, ToName = protectedDocumentEmailTo, From = WorkContext.CurrentUser.Email, FromName = WorkContext.CurrentUser.FullName, CC = emailResponse.CC, Bcc = emailResponse.BCC, Subject = emailResponse.Subject, Body = emailResponse.Body, Priority = EmailEnums.EmailPriority.Medium }; var response = _emailLogService.CreateEmail(emailLog, true); return(response.Success ? response.SetMessage(T("ProtectedDocument_Message_FeedbackSuccessfully")) : response.SetMessage(T("ProtectedDocument_Message_FeedbackFailure"))); }