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); }