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)); } }
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)); }