Example #1
0
        public ActionResult GetSMTPInfo()
        {
            // REMOVE THIS SECTION ONCE THE EMAIL NOTIFICATION HAS BEEN FULLY TESTED
            // Testing SendEmail
            //GlobalVars.EMAIL email = new GlobalVars.EMAIL();
            //email.Body = "This is a test message";
            //email.SenderEmailAddress = "*****@*****.**";
            //email.RecipientsEmailAddress = "*****@*****.**";
            //email.Subject = "Test Message sent from SSS Microservices";
            //GlobalVars.ResultGeneric resultGeneric = new GlobalVars.ResultGeneric();
            //resultGeneric = SQLFunctionsSMTP.SendEmail(email);
            // -------------------------------------------------------

            var watch = System.Diagnostics.Stopwatch.StartNew();

            GlobalVars.ResultSMTP resultSMTP = new GlobalVars.ResultSMTP();
            try
            {
                logger.Info("GetSMTPInfo API Request.");
                resultSMTP = SQLFunctionsSMTP.GetSMTPInfo();
                switch (resultSMTP.ReturnCode)
                {
                case 0:
                    logger.Info("GetSMTPInfo API Request was executed Successfully.");
                    Response.StatusCode = (int)HttpStatusCode.OK;
                    break;

                case -2:
                    Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                    logger.Fatal("GetSMTPInfo API Request ends with a Fatal Error.");
                    logger.Debug("Returned value:" + JsonConvert.SerializeObject(resultSMTP, Formatting.Indented));
                    Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                    break;
                }
            }
            catch (Exception e)
            {
                logger.Fatal("GetSMTPInfo API Request ends with a Fatal Error.");
                resultSMTP.ReturnCode = -2;
                resultSMTP.Message    = e.Message;
                var baseException = e.GetBaseException();
                resultSMTP.Exception = baseException.ToString();
                logger.Fatal("Returned value:" + JsonConvert.SerializeObject(resultSMTP, Formatting.Indented));
                Response.StatusCode = (int)HttpStatusCode.InternalServerError;
            }
            Response.ContentType = "application/json";
            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            elapsedMs = elapsedMs / 1000;
            resultSMTP.ElapsedTime = elapsedMs.ToString();
            logger.Debug("Returned value:" + JsonConvert.SerializeObject(resultSMTP, Formatting.Indented));
            //var messaje = JsonConvert.SerializeObject(resultCustomers, Formatting.Indented);
            resultSMTP.HttpStatusCode = Response.StatusCode.ToString();
            var messaje = JsonConvert.SerializeObject(resultSMTP, Formatting.Indented);

            logger.Info("Leaving GetSMTPInfo API.");
            //return Json(messaje);
            return(Content(messaje));
        }
Example #2
0
        public ActionResult UpdateSMTP([FromBody] string smtpJS)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric()
            {
                Message    = "",
                ReturnCode = 0,
                //ReturnValue = ""
            };
            try
            {
                if (smtpJS == null)
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    result.ReturnCode   = -1;
                    result.Message      = "Missing argument smtpJS";
                    logger.Warn("UpdateSMTP API Request ends with a Fatal Error.");
                    logger.Warn(result.Message);
                }
                else
                {
                    GlobalVars.SMTP smtp = JsonConvert.DeserializeObject <GlobalVars.SMTP>(smtpJS);
                    logger.Info("UpdateSMTP API Request.");
                    logger.Debug("Parameter:" + JsonConvert.SerializeObject(smtp, Formatting.Indented));

                    //Rules:
                    // 1- HostName not null
                    // 2- PortNumber <> 0
                    // 3- EnableSslFlag not null
                    // 3- If SSL is true --> UserName and Password not null
                    // 4- Sender Email Address not null
                    // 5- Sender Name could be empty
                    if (!string.IsNullOrEmpty(smtp.HostName) & smtp.PortNumber != 0 & !string.IsNullOrEmpty(smtp.SenderEmailAddress) & !string.IsNullOrEmpty(smtp.EnableSSLFlag.ToString()))
                    {
                        if (smtp.EnableSSLFlag)
                        {
                            if (!string.IsNullOrEmpty(smtp.UserName) & !string.IsNullOrEmpty(smtp.Password))
                            {
                                // Good to go
                            }
                            else
                            {
                                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                                result.ReturnCode   = -1;
                                result.Message      = "When SSL Flag is true, you must provide no empty values for UserName and Password";
                                logger.Warn("UpdateSMTP API Request ends with a Fatal Error.");
                                logger.Warn(result.Message);
                            }
                        }
                        else
                        {
                            // Good to go
                        }
                    }
                    else
                    {
                        Response.StatusCode = (int)HttpStatusCode.BadRequest;
                        result.ReturnCode   = -1;
                        result.Message      = "HostName, PortNumber, and SenderEmailAddress must have a value. HostName not null, PortNumber > 0, SenderEmailAddress not null, and EnableSslflag {true, false}";
                        logger.Warn("UpdateSMTP API Request ends with a Fatal Error.");
                        logger.Warn(result.Message);
                    }
                    if (result.ReturnCode == 0)
                    {
                        result = SQLFunctionsSMTP.UpdateSMTP(smtp);
                        switch (result.ReturnCode)
                        {
                        case 0:
                            logger.Info("UpdateSMTP API Request was executed Successfully.");
                            Response.StatusCode = (int)HttpStatusCode.OK;
                            break;

                        case -2:
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            logger.Fatal("UpdateSMTP API Request ends with a Fatal Error.");
                            logger.Debug("Returned value:" + JsonConvert.SerializeObject(result, Formatting.Indented));
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                logger.Fatal("UpdateSMTP API Request ends with a Fatal Error.");
                result.ReturnCode = -2;
                result.Message    = e.Message;
                var baseException = e.GetBaseException();
                result.Exception = baseException.ToString();
                logger.Fatal("Returned value:" + JsonConvert.SerializeObject(result, Formatting.Indented));
                Response.StatusCode = (int)HttpStatusCode.InternalServerError;
            }
            Response.ContentType = "application/json";
            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            elapsedMs             = elapsedMs / 1000;
            result.ElapsedTime    = elapsedMs.ToString();
            result.HttpStatusCode = Response.StatusCode.ToString();
            var messaje = JsonConvert.SerializeObject(result, Formatting.Indented);

            logger.Info("Leaving UpdateSMTP API");
            //return Json(messaje);
            return(Content(messaje));
        }
Example #3
0
        public ActionResult SendEmail([FromBody] string emailJS)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric();
            try
            {
                logger.Info("SendEmail API Request.");

                if (emailJS == null)
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    result.ReturnCode   = -1;
                    result.Message      = "Missing argument emailJS";
                    logger.Warn("SendEmail API Request ends with a Fatal Error.");
                    logger.Warn(result.Message);
                }
                else
                {
                    GlobalVars.EMAIL email = JsonConvert.DeserializeObject <GlobalVars.EMAIL>(emailJS.ToString());
                    if (!string.IsNullOrWhiteSpace(email.RecipientsEmailAddress))
                    {
                        result = SQLFunctionsSMTP.SendEmail(email);
                        switch (result.ReturnCode)
                        {
                        case 0:
                            logger.Info("SendEmail API Request was executed Successfully.");
                            Response.StatusCode = (int)HttpStatusCode.OK;
                            break;

                        case -2:
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            logger.Fatal("SendEmail API Request ends with a Fatal Error.");
                            logger.Debug("Returned value:" + JsonConvert.SerializeObject(result, Formatting.Indented));
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            break;
                        }
                    }
                    else
                    {
                        Response.StatusCode = (int)HttpStatusCode.BadRequest;
                        result.ReturnCode   = -1;
                        result.Message      = "Missing argument recipients";
                        logger.Warn("SendEmail API Request ends with an Error.");
                        logger.Warn(result.Message);
                    }
                }
            }
            catch (Exception e)
            {
                logger.Fatal("SendEmail API Request ends with a Fatal Error.");
                result.ReturnCode = -2;
                result.Message    = e.Message;
                var baseException = e.GetBaseException();
                result.Exception = baseException.ToString();
                logger.Fatal("Returned value:" + JsonConvert.SerializeObject(result, Formatting.Indented));
                Response.StatusCode = (int)HttpStatusCode.InternalServerError;
            }
            Response.ContentType = "application/json";
            watch.Stop();
            var elapsedMs = watch.ElapsedMilliseconds;

            elapsedMs          = elapsedMs / 1000;
            result.ElapsedTime = elapsedMs.ToString();
            logger.Debug("Returned value:" + JsonConvert.SerializeObject(result, Formatting.Indented));
            //var messaje = JsonConvert.SerializeObject(resultCustomers, Formatting.Indented);
            result.HttpStatusCode = Response.StatusCode.ToString();
            var messaje = JsonConvert.SerializeObject(result, Formatting.Indented);

            logger.Info("Leaving SendEmail API.");
            //return Json(messaje);
            return(Content(messaje));
        }