예제 #1
0
        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));
        }
예제 #2
0
        /// <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")));
        }