Exemplo n.º 1
0
        public ActionResult GetReports()
        {
            // The following section is just a test for the reporting
            //GlobalVars.ResultGeneric rg = new GlobalVars.ResultGeneric();
            // rg = SQLFunctionsReports.OverallBatchStatusReport(reportID);

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

            GlobalVars.ResultReports resultReport = new GlobalVars.ResultReports();
            try
            {
                logger.Info("GetReports API Request.");

                resultReport = SQLFunctionsReports.GetReports();
                switch (resultReport.ReturnCode)
                {
                case 0:
                    logger.Info("GetReports API Request was executed Successfully.");
                    Response.StatusCode = (int)HttpStatusCode.OK;
                    break;

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

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

            logger.Info("Leaving GetReports API.");
            //return Json(messaje);
            return(Content(messaje));
        }
Exemplo n.º 2
0
        public ActionResult GetReportsByCustomerName(string customerName)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            GlobalVars.ResultReports resultReports = new GlobalVars.ResultReports();
            try
            {
                logger.Info("GetReportsByCustomerName API Request.");

                if (string.IsNullOrEmpty(customerName))
                {
                    Response.StatusCode      = (int)HttpStatusCode.BadRequest;
                    resultReports.ReturnCode = -1;
                    resultReports.Message    = "Missing argument customerName";
                    logger.Warn("GetReportsByCustomerName API Request ends with an Error.");
                    logger.Warn(resultReports.Message);
                }
                else
                {
                    resultReports = SQLFunctionsReports.GetReportsByCustomerName(customerName);
                    switch (resultReports.ReturnCode)
                    {
                    case 0:
                        logger.Info("GetReportsByCustomerName API Request was executed Successfully.");
                        Response.StatusCode = (int)HttpStatusCode.OK;
                        break;

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

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

            logger.Info("Leaving GetReportsByCustomerName API.");
            //return Json(messaje);
            return(Content(messaje));
        }
Exemplo n.º 3
0
        public ActionResult UpdateReport([FromBody] string reportJS)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

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

                    //Rules:
                    // 1- Template ID not null
                    // 2- Customer ID  0 for System Reports. Any other number for Customer Report
                    if (report.TemplateID == 0)
                    {
                        Response.StatusCode = (int)HttpStatusCode.BadRequest;
                        result.ReturnCode   = -1;
                        result.Message      = "You must provide a Valid Template ID.";
                        logger.Warn("UpdateReport API Request ends with a Fatal Error.");
                        logger.Warn(result.Message);
                    }
                    else
                    {
                        result = SQLFunctionsReports.UpdateReport(report);
                        switch (result.ReturnCode)
                        {
                        case 0:
                            logger.Info("UpdateReport API Request was executed Successfully.");
                            Response.StatusCode = (int)HttpStatusCode.OK;
                            break;

                        case -2:
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            logger.Fatal("UpdateReport 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("UpdateReport 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 UpdateReport API");
            //return Json(messaje);
            return(Content(messaje));
        }
Exemplo n.º 4
0
        public ActionResult GenerateWorkOrderReport(string workOrders, Boolean sendEmail, Boolean attachPDF)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric();
            try
            {
                logger.Info("GenerateWorkOrderReport API Request. Work Orders to include in the Report: " + workOrders);
                logger.Info("   Send Email: " + sendEmail.ToString());
                logger.Info("   Attache Reports as PDF: " + attachPDF.ToString());
                // CustomerID == 0 is a valid entry
                if (string.IsNullOrEmpty(workOrders))
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    result.ReturnCode   = -1;
                    result.Message      = "Missing argument WorkOrders (String of Numbers separated by comma)";
                    logger.Warn("GenerateWorkOrderReport API Request ends with an Error.");
                    logger.Warn(result.Message);
                }
                else
                {
                    if (Convert.ToString(sendEmail) == "True" || Convert.ToString(sendEmail) == "False" || string.IsNullOrWhiteSpace(Convert.ToString(sendEmail)))
                    {
                        if (string.IsNullOrWhiteSpace(Convert.ToString(sendEmail)))
                        {
                            sendEmail = false;
                        }
                        result = SQLFunctionsReports.GenerateWorkOrdersReport(workOrders, sendEmail, attachPDF);
                        switch (result.ReturnCode)
                        {
                        case 0:
                            logger.Info("GenerateWorkOrderReport API Request was executed Successfully.");
                            Response.StatusCode = (int)HttpStatusCode.OK;
                            break;

                        case -2:
                            Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                            logger.Fatal("GenerateWorkOrderReport 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      = "Invalid argument sendEmail. You must enter true/false.";
                        logger.Warn("GenerateWorkOrderReport API Request ends with an Error.");
                        logger.Warn(result.Message);
                    }
                }
            }
            catch (Exception e)
            {
                logger.Fatal("GenerateWorkOrderReport 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 GenerateWorkOrderReport API.");
            //return Json(messaje);
            return(Content(messaje));
        }