Esempio n. 1
0
        /// <summary>
        /// Save email account
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResponseModel SaveEmailAccount(EmailAccountManageModel model)
        {
            ResponseModel response;
            var           emailAccount = GetById(model.Id);

            if (emailAccount != null)
            {
                emailAccount.Email                 = model.Email;
                emailAccount.DisplayName           = model.DisplayName;
                emailAccount.Host                  = model.Host;
                emailAccount.Port                  = model.Port;
                emailAccount.Username              = model.Username;
                emailAccount.Password              = model.Password;
                emailAccount.EnableSsl             = model.EnableSsl;
                emailAccount.UseDefaultCredentials = model.UseDefaultCredentials;
                emailAccount.IsDefault             = model.IsDefault;
                emailAccount.TimeOut               = model.Timeout;

                response = Update(emailAccount);
                return(response.SetMessage(response.Success
                    ? T("EmailAccount_Message_UpdateSuccessfully")
                    : T("EmailAccount_Message_UpdateFailure")));
            }
            Mapper.CreateMap <EmailAccountManageModel, EmailAccount>();
            emailAccount = Mapper.Map <EmailAccountManageModel, EmailAccount>(model);
            response     = Insert(emailAccount);
            return(response.SetMessage(response.Success
                ? T("EmailAccount_Message_CreateSuccessfully")
                : T("EmailAccount_Message_CreateFailure")));
        }
Esempio n. 2
0
        /// <summary>
        /// Save email account
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResponseModel SaveEmailAccount(EmailAccountManageModel model)
        {
            ResponseModel response;
            var           emailAccount = GetById(model.Id);

            if (emailAccount != null)
            {
                emailAccount.Email                 = model.Email;
                emailAccount.DisplayName           = model.DisplayName;
                emailAccount.Host                  = model.Host;
                emailAccount.Port                  = model.Port;
                emailAccount.UserName              = model.UserName;
                emailAccount.Password              = model.Password;
                emailAccount.EnableSsl             = model.EnableSsl;
                emailAccount.UseDefaultCredentials = model.UseDefaultCredentials;
                emailAccount.IsDefault             = model.IsDefault;

                response = Update(emailAccount);
                return(response.SetMessage(response.Success ?
                                           _localizedResourceServices.T("AdminModule:::EmailAccounts:::Messages:::UpdateSuccessfully:::Update email account successfully.")
                    : _localizedResourceServices.T("AdminModule:::EmailAccounts:::Messages:::UpdateFailure:::Update email account failed. Please try again later.")));
            }
            Mapper.CreateMap <EmailAccountManageModel, EmailAccount>();
            emailAccount = Mapper.Map <EmailAccountManageModel, EmailAccount>(model);
            response     = Insert(emailAccount);
            return(response.SetMessage(response.Success ?
                                       _localizedResourceServices.T("AdminModule:::EmailAccounts:::Messages:::CreateSuccessfully:::Create email account successfully.")
                : _localizedResourceServices.T("AdminModule:::EmailAccounts:::Messages:::CreateFailure:::Create email account failed. Please try again later.")));
        }
Esempio n. 3
0
        /// <summary>
        /// Update value for property of model
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResponseModel UpdateEmailAccountData(XEditableModel model)
        {
            var emailAccount = GetById(model.Pk);

            if (emailAccount != null)
            {
                var property =
                    ReflectionUtilities.GetAllPropertiesOfType(typeof(EmailAccountManageModel))
                    .FirstOrDefault(p => p.Name.Equals(model.Name, StringComparison.CurrentCultureIgnoreCase));
                if (property != null)
                {
                    object value = model.Value.ToType(property, WorkContext.CurrentTimezone);

                    #region Validate

                    var manageModel = new EmailAccountManageModel(emailAccount);
                    manageModel.SetProperty(model.Name, value);

                    var validationResults = manageModel.ValidateModel();

                    if (validationResults.Any())
                    {
                        return(new ResponseModel
                        {
                            Success = false,
                            Message = validationResults.BuildValidationMessages()
                        });
                    }

                    #endregion

                    emailAccount.SetProperty(model.Name, value);
                    var response = Update(emailAccount);
                    return(response.SetMessage(response.Success
                        ? T("EmailAccount_Message_UpdateEmailAccountInfoSuccessfully")
                        : T("EmailAccount_Message_UpdateFailure")));
                }
                return(new ResponseModel
                {
                    Success = false,
                    Message = T("EmailAccount_Message_PropertyNotFound")
                });
            }
            return(new ResponseModel
            {
                Success = false,
                Message = T("EmailAccount_Message_ObjectNotFound")
            });
        }
Esempio n. 4
0
        public ActionResult Edit(EmailAccountManageModel model, SubmitTypeEnums submit)
        {
            if (ModelState.IsValid)
            {
                var response = _emailAccountServices.SaveEmailAccount(model);
                if (response.Success)
                {
                    SetSuccessMessage(response.Message);
                    switch (submit)
                    {
                    case SubmitTypeEnums.Save:
                        return(RedirectToAction("Index"));

                    default:
                        return(RedirectToAction("Edit", new { id = model.Id }));
                    }
                }
                SetErrorMessage(response.Message);
            }
            return(View(model));
        }
        public ActionResult Create(EmailAccountManageModel model, SubmitType submit)
        {
            if (ModelState.IsValid)
            {
                var response = _emailAccountService.SaveEmailAccount(model);
                SetResponseMessage(response);
                if (response.Success)
                {
                    var id = (int)response.Data;
                    switch (submit)
                    {
                    case SubmitType.Save:
                        return(RedirectToAction("Index"));

                    default:
                        return(RedirectToAction("Edit", new { id }));
                    }
                }
            }
            return(View(model));
        }
        public ActionResult Edit(EmailAccountManageModel model, string returnUrl, SubmitType submit)
        {
            if (ModelState.IsValid)
            {
                var response = _emailAccountService.SaveEmailAccount(model);
                SetResponseMessage(response);
                if (response.Success)
                {
                    switch (submit)
                    {
                    case SubmitType.Save:
                        if (!string.IsNullOrEmpty(returnUrl))
                        {
                            return(Redirect(returnUrl));
                        }
                        return(RedirectToAction("Index"));

                    default:
                        return(RedirectToAction("Edit", new { id = model.Id, returnUrl }));
                    }
                }
            }
            return(View(model));
        }