示例#1
0
        public ActionResult GetCustomerbyName(string customerName)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            GlobalVars.ResultCustomers resultCustomers = new GlobalVars.ResultCustomers();
            try
            {
                logger.Info("GetCustomerbyName API Request. Customer Name: " + customerName);

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

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

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

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