public EmailResponseDto <EmailProviderSettingsDto> UpdateEmailProvider(EmailProviderSettingsDto providerInput)
        {
            var response = new EmailResponseDto <EmailProviderSettingsDto>();

            if (!string.IsNullOrEmpty(providerInput.EmailPoolName))
            {
                if (string.IsNullOrEmpty(providerInput.EmailPoolID))
                {
                    var emailPool = _emailPoolRepository.GetEmailPoolByName(providerInput.EmailPoolName)?.Result;
                    if (emailPool != null)
                    {
                        providerInput.EmailPoolID = emailPool.ID;
                    }
                    else
                    {
                        response.Status  = false;
                        response.Message = "Invalid Email pool.";
                        response.Result  = providerInput;
                        return(response);
                    }
                }
                else
                {
                    var emailPool = _emailPoolRepository.CheckIfEmailPoolIDNameValid(providerInput.EmailPoolID, providerInput.EmailPoolName);
                    if (!emailPool.Status)
                    {
                        response.Status  = false;
                        response.Message = "Email Pool ID and Name do not match.";
                        response.Result  = providerInput;
                        return(response);
                    }
                }
            }
            else if (!string.IsNullOrEmpty(providerInput.EmailPoolID))
            {
                var emailPool = _emailPoolRepository.CheckIfEmailPoolIDIsValid(providerInput.EmailPoolID);
                if (!emailPool.Status)
                {
                    response.Status  = false;
                    response.Message = "Invalid Email Pool ID.";
                    response.Result  = providerInput;
                    return(response);
                }
            }
            else
            {
                response.Status  = false;
                response.Message = "Email pool cannot be blank.";
                response.Result  = providerInput;
                return(response);
            }
            var mappedEmailInput = _mapper.Map <EmailProviderSettingsTable>(providerInput);
            var mappedResponse   = _emailProviderRepository.UpdateEmailProvider(mappedEmailInput);

            response = _mapper.Map <EmailResponseDto <EmailProviderSettingsDto> >(mappedResponse);
            return(response);
        }
Example #2
0
        public EmailResponseDto <EmailProviderSettingsDto> UpdateEmailProvider(EmailProviderSettingsDto providerInput)
        {
            _logger.LogInformation("UpdateEmailProvider interactor method.");
            EmailResponseDto <EmailProviderSettingsDto> providerResponse = new EmailResponseDto <EmailProviderSettingsDto>();

            try
            {
                _logger.LogInformation("Trying to update EmailProvider.");
                providerResponse = _emailProviderInteractor.UpdateEmailProvider(providerInput);
                _logger.LogDebug("Status: " + providerResponse.Status + ", " + providerResponse.Message);
                return(providerResponse);
            }
            catch (Exception ex)
            {
                _logger.LogError("Error occurred in Email Interactor while updating email provider: ", ex.Message);
                providerResponse.Message = "Error occurred while updating email provider: " + ex.Message;
                providerResponse.Status  = false;
                return(providerResponse);
            }
        }
        public ActionResult AddEmailProvider(EmailProviderSettingsDto providerInput)
        {
            _logger.LogInformation("AddEmailProvider action method.");
            _logger.LogDebug($"EmailPoolName: {providerInput.EmailPoolName}, EmailProviderName: {providerInput.Name}, Configuration: {providerInput.Configuration}");
            EmailResponseDto <EmailProviderSettingsDto> providerResponse = new EmailResponseDto <EmailProviderSettingsDto>();

            try
            {
                if (!string.IsNullOrWhiteSpace(providerInput.Configuration) && !string.IsNullOrWhiteSpace(providerInput.Type) && !string.IsNullOrWhiteSpace(providerInput.Name))
                {
                    providerResponse = _emailInteractor.AddEmailProvider(providerInput);
                    if (providerResponse.Status)
                    {
                        _logger.LogDebug("Status: " + providerResponse.Status + ", " + providerResponse.Message);
                        return(Ok(providerResponse));
                    }
                    else
                    {
                        _logger.LogError("Status: " + providerResponse.Status + ", " + providerResponse.Message);
                        return(StatusCode((int)HttpStatusCode.PreconditionFailed, providerResponse));
                    }
                }
                else
                {
                    providerResponse.Status  = false;
                    providerResponse.Message = "Provider Name, Type and Configuration cannot be empty or whitespace.";
                    _logger.LogError("Status: " + providerResponse.Status + ", " + providerResponse.Message);
                    return(StatusCode((int)HttpStatusCode.PreconditionFailed, providerResponse));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("Internal server error: Error occurred while adding email provider: " + ex.Message);
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex));
            }
        }
 public ActionResult UpdateEmailProvider(EmailProviderSettingsDto providerInput)
 {
     _logger.LogInformation("UpdateEmailProvider action method.");
     _logger.LogDebug($"EmailPoolName: {providerInput.EmailPoolName}, EmailProviderName: {providerInput.Name}, Configuration: {providerInput.Configuration}");
     try
     {
         var providerResponse = _emailInteractor.UpdateEmailProvider(providerInput);
         if (providerResponse.Status)
         {
             _logger.LogDebug("Status: " + providerResponse.Status + ", " + providerResponse.Message);
             return(Ok(providerResponse));
         }
         else
         {
             _logger.LogError("Status: " + providerResponse.Status + ", " + providerResponse.Message);
             return(StatusCode((int)HttpStatusCode.PreconditionFailed, providerResponse));
         }
     }
     catch (Exception ex)
     {
         _logger.LogError("Internal server error: Error occurred while updating email provider: " + ex.Message);
         return(StatusCode((int)HttpStatusCode.InternalServerError, ex));
     }
 }