/// <summary> /// Get list of problem status in application /// </summary> /// <param name="sessionKey">string</param> /// <returns>List<ProblemStatus></returns> public ResponseObjectForAnything GetProblemStatusList(string sessionKey) { List<ProblemStatus> problemstatuslist = new List<ProblemStatus>(); AuthenticationEngine authEngine = new AuthenticationEngine(); bool isValid = authEngine.IsValidSession(sessionKey); ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); int count = 0; try { if (isValid) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_GetProblemStatus"); using (IDataReader dr = db.ExecuteReader(dbCommand)) { while (dr.Read()) { ProblemStatus problemstatus = new ProblemStatus(); if (dr["ProblemStatusID"] != DBNull.Value) { problemstatus.ProblemStatusID = Convert.ToInt32(dr["ProblemStatusID"]); } if (dr["ProblemStatusName"] != DBNull.Value) { problemstatus.ProblemStatusName = dr["ProblemStatusName"].ToString(); } problemstatuslist.Add(problemstatus); count++; } } responseObject.ResultCode = "SUCCESS"; responseObject.ResultObjectJSON = Serializer.ObjectToJSON(problemstatuslist); responseObject.ResultObjectRecordCount = count; if (responseObject.ResultObjectRecordCount == 0) { responseObject.ResultMessage = "No problem statuses configured."; } } } catch (Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "GetProblemStatus", System.DateTime.Now); ExceptionManager.PublishException(exc); } return (responseObject); }
/// <summary> /// Get Problems by user ID. /// </summary> /// <param name="sessionKey">string</param> /// <returns>string</returns> public ResponseObjectForAnything GetProblemsByUserID(string sessionKey, string startindex, string pageindex, bool paging, string problemstatusid) { DashboardObject dashboardobject = new DashboardObject(); List<RecentProblemObject> recentproblemlist = new List<RecentProblemObject>(); List<Problem> problemlist = new List<Problem>(); ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); AuthenticationEngine authEngine = new AuthenticationEngine(); bool isValid = true; int count = 0; if (!string.IsNullOrEmpty(sessionKey)) { isValid = authEngine.IsValidSession(sessionKey); } List<ProblemStatus> lstproblemstatus = new List<ProblemStatus>(); List<Category> lstcategory = new List<Category>(); List<Company> lstcompany = new List<Company>(); if (isValid) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_GetProblemsByUserID"); db.AddInParameter(dbCommand, "@SessionKey", DbType.String, sessionKey); db.AddInParameter(dbCommand, "@StartCount", DbType.Int32, Int32.Parse(startindex)); db.AddInParameter(dbCommand, "@PageSize", DbType.Int32, Int32.Parse(pageindex)); db.AddInParameter(dbCommand, "@IsPaging", DbType.Boolean, Convert.ToBoolean(paging)); db.AddInParameter(dbCommand, "@ProblemStatusID", DbType.Boolean, Int32.Parse(problemstatusid)); DataSet dsProblem = db.ExecuteDataSet(dbCommand); if (dsProblem.Tables.Count > 0) { DataTable tProblem = dsProblem.Tables[0]; foreach (DataRow dRow in tProblem.Rows) { Problem problem = new Problem(); User user = new User(); if (dRow["ID"] != DBNull.Value) { problem.ID = Int32.Parse(dRow["ID"].ToString()); } if (dRow["UserID"] != DBNull.Value) { problem.UserID = Int32.Parse(dRow["UserID"].ToString()); } if (dRow["FirstName"] != DBNull.Value) { problem.FirstName = dRow["FirstName"].ToString(); } if (dRow["LastName"] != DBNull.Value) { problem.LastName = dRow["LastName"].ToString(); } if (dRow["DisplayName"] != DBNull.Value) { problem.DisplayName = dRow["DisplayName"].ToString(); } if (dRow["EmailID"] != DBNull.Value) { problem.EmailID = dRow["EmailID"].ToString(); } if (dRow["CompanyRelated"] != DBNull.Value) { problem.IsCompanyRelated = Convert.ToBoolean(dRow["CompanyRelated"].ToString()); } if (dRow["CompanyID"] != DBNull.Value) { problem.CompanyID = Int32.Parse(dRow["CompanyID"].ToString()); } if (dRow["CompanyName"] != DBNull.Value) { problem.CompanyName = dRow["CompanyName"].ToString(); } if (dRow["ProblemHeading"] != DBNull.Value) { problem.ProblemHeading = dRow["ProblemHeading"].ToString(); } if (dRow["CategoryID"] != DBNull.Value) { problem.CategoryID = Int32.Parse(dRow["CategoryID"].ToString()); } if (dRow["SubCategoryID"] != DBNull.Value) { problem.SubCategoryID = Int32.Parse(dRow["SubCategoryID"].ToString()); } if (dRow["ProductID"] != DBNull.Value) { problem.ProductID = Int32.Parse(dRow["ProductID"].ToString()); } if (dRow["ModelNo"] != DBNull.Value) { problem.ModelNo = dRow["ModelNo"].ToString(); } if (dRow["Description"] != DBNull.Value) { problem.Description = dRow["Description"].ToString(); } if (dRow["PurchaseMonth"] != DBNull.Value) { problem.PurchaseMonth = Int32.Parse(dRow["PurchaseMonth"].ToString()); } if (dRow["PurchaseYear"] != DBNull.Value) { problem.PurchaseYear = Int32.Parse(dRow["PurchaseYear"].ToString()); } if (dRow["ProductStatusID"] != DBNull.Value) { problem.ProductStatusID = Int32.Parse(dRow["ProductStatusID"].ToString()); } if (dRow["ProductStatusName"] != DBNull.Value) { problem.ProductStatusName = dRow["ProductStatusName"].ToString(); } if (dRow["ProblemStatusID"] != DBNull.Value) { problem.ProblemStatusID = Int32.Parse(dRow["ProblemStatusID"].ToString()); } if (dRow["ProblemStatusName"] != DBNull.Value) { problem.ProblemStatusName = dRow["ProblemStatusName"].ToString(); } if (dRow["ResolutionNeededBy"] != DBNull.Value) { problem.ResolutionNeededBy = Convert.ToDateTime(dRow["ResolutionNeededBy"].ToString()); } if (dRow["IsVirtual"] != DBNull.Value) { problem.IsVirtual = Convert.ToBoolean(dRow["IsVirtual"].ToString()); } if (dRow["IsRegisteredAddress"] != DBNull.Value) { problem.IsRegisteredAddress = Convert.ToBoolean(dRow["IsRegisteredAddress"].ToString()); } if (dRow["Address1"] != DBNull.Value) { problem.Address1 = dRow["Address1"].ToString(); } if (dRow["Address2"] != DBNull.Value) { problem.Address2 = dRow["Address2"].ToString(); } if (dRow["Address3"] != DBNull.Value) { problem.Address3 = dRow["Address3"].ToString(); } if (dRow["City"] != DBNull.Value) { problem.City = dRow["City"].ToString(); } if (dRow["StateID"] != DBNull.Value) { problem.StateID = Int32.Parse(dRow["StateID"].ToString()); } if (dRow["StateName"] != DBNull.Value) { problem.StateName = dRow["StateName"].ToString(); } if (dRow["CountryID"] != DBNull.Value) { problem.CountryID = Int32.Parse(dRow["CountryID"].ToString()); } if (dRow["CountryName"] != DBNull.Value) { problem.CountryName = dRow["CountryName"].ToString(); } if (dRow["PinCode"] != DBNull.Value) { problem.PinCode = dRow["PinCode"].ToString(); } if (dRow["Latitude"] != DBNull.Value) { problem.Latitude = Convert.ToDecimal(dRow["Latitude"].ToString()); } if (dRow["Longitude"] != DBNull.Value) { problem.Longitude = Convert.ToDecimal(dRow["Longitude"].ToString()); } if (dRow["Distance"] != DBNull.Value) { problem.Distance = Convert.ToDecimal(dRow["Distance"].ToString()); } if (dRow["ThumbnailMedia"] != DBNull.Value) { problem.ThumbnailMedia = dRow["ThumbnailMedia"].ToString(); } problemlist.Add(problem); count++; } dashboardobject.ProblemList = problemlist; } if (dsProblem.Tables.Count > 1) { DataTable tProblemStatus = dsProblem.Tables[1]; foreach (DataRow dRow in tProblemStatus.Rows) { ProblemStatus probstatus = new ProblemStatus(); if (dRow["ProblemStatusID"] != DBNull.Value) { probstatus.ProblemStatusID = Int32.Parse(dRow["ProblemStatusID"].ToString()); } if (dRow["ProblemStatusName"] != DBNull.Value) { probstatus.ProblemStatusName = dRow["ProblemStatusName"].ToString(); } lstproblemstatus.Add(probstatus); } dashboardobject.ProblemStatus = lstproblemstatus; } if (!paging) { if (dsProblem.Tables.Count > 2) { DataTable tCategories = dsProblem.Tables[2]; foreach (DataRow dRow in tCategories.Rows) { Category category = new Category(); if (dRow["ID"] != DBNull.Value) { category.ID = Int32.Parse(dRow["ID"].ToString()); } if (dRow["Name"] != DBNull.Value) { category.Name = dRow["Name"].ToString(); } lstcategory.Add(category); } dashboardobject.Categories = lstcategory; } if (dsProblem.Tables.Count > 3) { DataTable tCountries = dsProblem.Tables[3]; foreach (DataRow dRow in tCountries.Rows) { Company company = new Company(); if (dRow["CompanyID"] != DBNull.Value) { company.CompanyID = Int32.Parse(dRow["CompanyID"].ToString()); } if (dRow["CompanyName"] != DBNull.Value) { company.CompanyName = dRow["CompanyName"].ToString(); } lstcompany.Add(company); } dashboardobject.Companies = lstcompany; } if (dsProblem.Tables.Count > 4) { DataTable tProblem = dsProblem.Tables[4]; foreach (DataRow dRow in tProblem.Rows) { RecentProblemObject problem = new RecentProblemObject(); if (dRow["ProblemID"] != DBNull.Value) { problem.ProblemID = Int32.Parse(dRow["ProblemID"].ToString()); } if (dRow["ProblemTitle"] != DBNull.Value) { problem.ProblemTitle = dRow["ProblemTitle"].ToString(); } if (dRow["Description"] != DBNull.Value) { problem.Description = dRow["Description"].ToString(); } if (dRow["ProblemImagePath"] != DBNull.Value) { problem.ProblemImagePath = dRow["ProblemImagePath"].ToString(); } recentproblemlist.Add(problem); } dashboardobject.RecentProblems = recentproblemlist; } } responseObject.ResultCode = "SUCCESS"; responseObject.ResultObjectRecordCount = count; responseObject.ResultObjectJSON = Serializer.ObjectToJSON(dashboardobject); if (responseObject.ResultObjectRecordCount <= 0) { responseObject.ResultMessage = "No records found."; } } catch (Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "GetProblemsByUserID", System.DateTime.Now); ExceptionManager.PublishException(exc); } } return responseObject; }