public ActionResult GetProjectByName(string projectName)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            GlobalVars.ResultProjects resultProjects = new GlobalVars.ResultProjects();
            try
            {
                logger.Info("GetProjectsByName API Request. Project Name: " + projectName);
                if (string.IsNullOrEmpty(projectName))
                {
                    Response.StatusCode       = (int)HttpStatusCode.BadRequest;
                    resultProjects.ReturnCode = -1;
                    resultProjects.Message    = "Missing argument Project Name";
                    logger.Warn("GetProjectsByName API Request ends with an Error.");
                    logger.Warn(resultProjects.Message);
                }
                else
                {
                    resultProjects = SQLFunctionsProjects.GetProjectByName(projectName);
                    switch (resultProjects.ReturnCode)
                    {
                    case 0:
                        logger.Info("GetProjectsByName API Request was executed Successfully.");
                        Response.StatusCode = (int)HttpStatusCode.OK;
                        break;

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

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

            logger.Info("Leaving GetProjectsByName API.");
            //return Json(messaje);
            return(Content(messaje));
        }
        /// <summary>
        /// Get Project by Name
        /// </summary>
        /// <returns></returns>
        static public GlobalVars.ResultProjects GetProjectByName(string projectName)
        {
            List <GlobalVars.Project> projects = new List <GlobalVars.Project>();

            GlobalVars.ResultProjects resultProjects = new GlobalVars.ResultProjects()
            {
                ReturnCode     = 0,
                Message        = "",
                ReturnValue    = projects,
                RecordsCount   = 0,
                HttpStatusCode = ""
            };
            try
            {
                logger.Trace("Entering into GetProjectByName Method ...");
                using (ScanningDBContext DB = new ScanningDBContext())
                {
                    var results = DB.Projects.Where(x => x.ProjectName == projectName);
                    resultProjects.RecordsCount = results.Count();
                    if (results.Count() >= 1)
                    {
                        foreach (var x in results)
                        {
                            GlobalVars.Project project = new GlobalVars.Project()
                            {
                                ProjectID   = x.ProjectId,
                                CustomerID  = x.CustomerId,
                                ProjectName = x.ProjectName
                            };
                            projects.Add(project);
                        }
                    }
                }
                resultProjects.ReturnValue = projects;
                resultProjects.Message     = "GetProjectByName transaction completed successfully. Number of records found: " + resultProjects.RecordsCount;
                logger.Debug(resultProjects.Message);
            }
            catch (Exception e)
            {
                logger.Error("Error:" + e.Message + "\n" + "Exception: " + e.InnerException);
                resultProjects.ReturnCode = -2;
                resultProjects.Message    = e.Message;
                var baseException = e.GetBaseException();
                resultProjects.Exception = baseException.ToString();
            }
            logger.Trace("Leaving GetProjectByName Method ...");
            return(resultProjects);
        }