public async Task <OperationResult> Add(AddEmailConnectorModel model)
        {
            try
            {
                var emailConnector = new EmailConnector(model.Name, model.EmailAddress, model.UserName, model.Password, new EmailServerConfig(model.Server, model.Port, model.EnableSSL), model.Type, model.Description);

                var duplicateChecking = await _unitOfWork.EmailConnectorRepository.CheckDuplicated(emailConnector.EmailAddress, emailConnector.Name, emailConnector.EmailConnectorId);

                if (!duplicateChecking)
                {
                    //TODO: we need to validate whether the email setting are correct

                    await _unitOfWork.EmailConnectorRepository.AddEmailConnector(emailConnector);

                    var result = await _unitOfWork.SaveAsync();

                    if (result.Success)
                    {
                        return(OperationResult.SuccessResult);
                    }
                    else
                    {
                        return(new UnexpectedErrorResult(result.Error.Message));
                    }
                }
                else
                {
                    return(new DuplicateEmailConnectorResult());
                }
            }
            catch (Exception ex)
            {
                return(new UnexpectedErrorResult(ex.Message));
            }
        }
Пример #2
0
        public async Task <IActionResult> Add(AddEmailConnectorModel model)
        {
            if (ModelState.IsValid)
            {
                var result = await _emailConnectorManager.Add(model);

                if (result.Success)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError(result.Code.ToString(), result.Message);
                }
            }

            return(View(model));
        }