public MyProfileObject() { UserObject = new User(); UserCards = new List<UserCard>(); Categories = new List<Category>(); Countries = new List<Country>(); }
/// <summary> /// Update personal profile from app screens. /// </summary> /// <param name="sessionKey">string</param> /// <param name="firstName">string</param> /// <param name="lastName">string</param> /// <param name="displayName">string</param> /// <param name="isUser">string</param> /// <param name="isExpert">string</param> /// <param name="catsubcat">string</param> /// <param name="description">string</param> /// <param name="countrycode">string</param> /// <param name="mobileNumber">string</param> /// <returns>SessionResponseObject</returns> public SessionResponseObject UpdatePersonalInfoByUserId(string sessionKey, string firstName, string lastName, string displayName, string isUser, string isExpert, string catsubcat, string description, string mobileNumber) { AuthenticationEngine authEngine = new AuthenticationEngine(); User user = new User(); bool isValid = authEngine.IsValidSession(sessionKey); SessionResponseObject responseObject = new SessionResponseObject(); ResponseObjectForAnything obj = new ResponseObjectForAnything(); if (isValid) { if (!string.IsNullOrEmpty(sessionKey)) { obj = authEngine.GetUserFromSession(sessionKey); user = (User)Serializer.JSONStringToObject<User>(obj.ResultObjectJSON); } if(user != null) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_UpdateProfileByUserID"); db.AddInParameter(dbCommand, "UserID", DbType.Int32, user.UserID); db.AddInParameter(dbCommand, "FirstName", DbType.String, firstName); db.AddInParameter(dbCommand, "LastName", DbType.String, lastName); db.AddInParameter(dbCommand, "DisplayName", DbType.String, displayName); db.AddInParameter(dbCommand, "IsUser", DbType.Boolean, Convert.ToBoolean(isUser)); db.AddInParameter(dbCommand, "IsExpert", DbType.Boolean, Convert.ToBoolean(isExpert)); string[] lstcatsubcat = catsubcat.Split(";".ToCharArray()); DataSet dataSet = new DataSet(); DataTable dataTable = dataSet.Tables.Add(); dataTable.Columns.Add("CategoryID"); dataTable.Columns.Add("SubCategoryID"); for (int count = 0; count < lstcatsubcat.Length - 1; count++) { string category = lstcatsubcat[count].Split(",".ToCharArray())[0]; string subcategory = lstcatsubcat[count].Split(",".ToCharArray())[1]; dataTable.Rows.Add(new object[] { category, subcategory }); } db.AddInParameter(dbCommand, "CatSubCat", DbType.String, dataSet.GetXml()); db.AddInParameter(dbCommand, "BriefDescription", DbType.String, description); db.AddInParameter(dbCommand, "MobileNumber", DbType.String, mobileNumber); dbCommand.ExecuteNonQuery(); responseObject.ResultCode = "SUCCESS"; responseObject.ResultMessage = "Profile information updated successfully."; } catch(Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "UpdatePersonalInfoByUserId", System.DateTime.Now); ExceptionManager.PublishException(exc); } } } return (responseObject); }
/// <summary> /// Update contact info for a user ID. /// </summary> /// <param name="sessionKey">string</param> /// <param name="address1">string</param> /// <param name="address2">string</param> /// <param name="address3">string</param> /// <param name="state">string</param> /// <param name="city">string</param> /// <param name="pincode">string</param> /// <returns>SessionResponseObject</returns> public ResponseObjectForAnything UpdateContactInfoByUserId(string sessionKey, string address1, string address2, string address3, string stateID, string countryID, string city, string pincode) { AuthenticationEngine authEngine = new AuthenticationEngine(); ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); User user = new User(); bool isValid = authEngine.IsValidSession(sessionKey); if (isValid) { if (!string.IsNullOrEmpty(sessionKey)) { responseObject = authEngine.GetUserFromSession(sessionKey); user = (User)Serializer.JSONStringToObject<User>(responseObject.ResultObjectJSON); } if (user != null) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_UpdateContactByUserID"); db.AddInParameter(dbCommand, "UserID", DbType.Int32, user.UserID); db.AddInParameter(dbCommand, "Address1", DbType.String, address1); db.AddInParameter(dbCommand, "Address2", DbType.String, address2); db.AddInParameter(dbCommand, "Address3", DbType.String, address3); db.AddInParameter(dbCommand, "State", DbType.String, stateID); db.AddInParameter(dbCommand, "City", DbType.String, city); db.AddInParameter(dbCommand, "PinCode", DbType.String, pincode); dbCommand.ExecuteNonQuery(); responseObject.ResultCode = "SUCCESS"; responseObject.ResultMessage = "Contact information updated successfully."; } catch (Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "UpdateContactInfoByUserId", System.DateTime.Now); ExceptionManager.PublishException(exc); } } } return (responseObject); }
/// <summary> /// Update contact info for a user ID. /// </summary> /// <param name="sessionKey">string</param> /// <param name="address1">string</param> /// <param name="address2">string</param> /// <param name="address3">string</param> /// <param name="state">string</param> /// <param name="city">string</param> /// <param name="pincode">string</param> /// <returns>SessionResponseObject</returns> public ResponseObjectForAnything UpdateCardDetailsByUserId(string sessionKey, string cardtype, string cardnumber) { AuthenticationEngine authEngine = new AuthenticationEngine(); User user = new User(); bool isValid = authEngine.IsValidSession(sessionKey); ResponseObjectForAnything obj = new ResponseObjectForAnything(); if (isValid) { if (!string.IsNullOrEmpty(sessionKey)) { obj = authEngine.GetUserFromSession(sessionKey); user = (User)Serializer.JSONStringToObject<User>(obj.ResultObjectJSON); } if (user != null) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_UpdateCardsByUserID"); db.AddInParameter(dbCommand, "UserID", DbType.Int32, user.UserID); db.AddInParameter(dbCommand, "CardType", DbType.Xml, cardtype); db.AddInParameter(dbCommand, "CardNumber", DbType.Xml, cardnumber); dbCommand.ExecuteNonQuery(); obj.ResultCode = "SUCCESS"; obj.ResultMessage = "Card details information updated successfully."; } catch (Exception ex) { obj.ResultCode = "ERROR"; obj.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "UpdateContactInfoByUserId", System.DateTime.Now); ExceptionManager.PublishException(exc); } } } return (obj); }
/// <summary> /// This method gets all user details by QB ID. /// </summary> /// <param name="sessionKey">string</param> /// <param name="qbUserName">string</param> /// <returns>SessionResponseObject</returns> public SessionResponseObject GetUserDetailsByQBID(string sessionKey, string qbUserName) { SessionResponseObject responseObject = new SessionResponseObject(); AuthenticationEngine authEngine = new AuthenticationEngine(); User user = new User(); DataSet dsProfile = new DataSet(); bool isValid = authEngine.IsValidSession(sessionKey); if(isValid) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_GetProfilebyQBID"); db.AddInParameter(dbCommand, "QBUserName", DbType.String, qbUserName); dsProfile = db.ExecuteDataSet(dbCommand); if(dsProfile.Tables.Count > 0) { DataTable tUser = dsProfile.Tables[0]; foreach(DataRow tRow in tUser.Rows) { if (tRow["UserID"] != DBNull.Value) { user.UserID = Int32.Parse(tRow["UserID"].ToString()); } if (tRow["FirstName"] != DBNull.Value) { user.FirstName = tRow["FirstName"].ToString(); } if (tRow["LastName"] != DBNull.Value) { user.LastName = tRow["LastName"].ToString(); } if (tRow["DisplayName"] != DBNull.Value) { user.DisplayName = tRow["DisplayName"].ToString(); } if (tRow["EmailID"] != DBNull.Value) { user.EmailID = tRow["EmailID"].ToString(); } if (tRow["PinCode"] != DBNull.Value) { user.EmailID = tRow["PinCode"].ToString(); } if (tRow["Address1"] != DBNull.Value) { user.Address1 = tRow["Address1"].ToString(); } if (tRow["Address2"] != DBNull.Value) { user.Address2 = tRow["Address2"].ToString(); } if (tRow["Address3"] != DBNull.Value) { user.Address3 = tRow["Address3"].ToString(); } if (tRow["City"] != DBNull.Value) { user.City = tRow["City"].ToString(); } if (tRow["CountryCode"] != DBNull.Value) { user.CountryCode = tRow["CountryCode"].ToString(); } if (tRow["PhoneNumber"] != DBNull.Value) { user.PhoneNumber = tRow["PhoneNumber"].ToString(); } if (tRow["ProfilePicPath"] != DBNull.Value) { user.ProfilePicPath = tRow["ProfilePicPath"].ToString(); } } responseObject.ResultCode = "SUCCESS"; responseObject.ResultObjectRecordCount = tUser.Rows.Count; if (responseObject.ResultObjectRecordCount == 0) { responseObject.ResultMessage = "No quickblox user information found for this user."; } } } catch (Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "CreateUser", System.DateTime.Now); ExceptionManager.PublishException(exc); } } return (responseObject); }
/// <summary> /// Get problem spefic experts who quoted or all /// experts for a category/sub category combination. /// </summary> /// <param name="sessionKey">string</param> /// <param name="problemid">string</param> /// <param name="categoryid">string</param> /// <param name="subcategoryid">string</param> /// <returns>SessionResponseObject</returns> public ResponseObjectForAnything GetExpertsByCatSubCat(string sessionKey, string pincode, string distance, string categoryid, string subcategoryid) { List<User> lstexperts = new List<User>(); List<ProblemBid> lstProblemBids = new List<ProblemBid>(); ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); SessionResponseObject session = new SessionResponseObject(); AuthenticationEngine authEngine = new AuthenticationEngine(); bool isValid = authEngine.IsValidSession(sessionKey); DataSet dsExperts = new DataSet(); if(isValid) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_GetExperts"); float latitude, longitude; GeoHelper geoHelper = new GeoHelper(); geoHelper.GetGeoLocationByPinCode(pincode, out latitude, out longitude); db.AddInParameter(dbCommand, "@Distance", DbType.Decimal, distance); db.AddInParameter(dbCommand, "@Latitude", DbType.Decimal, latitude); db.AddInParameter(dbCommand, "@Longitude", DbType.Decimal, longitude); db.AddInParameter(dbCommand, "@CategoryID", DbType.Int32, Int32.Parse(categoryid)); db.AddInParameter(dbCommand, "@SubCategoryID", DbType.Int32, Int32.Parse(subcategoryid)); dsExperts = db.ExecuteDataSet(dbCommand); if(dsExperts.Tables.Count > 0) { DataTable tUser = dsExperts.Tables[0]; foreach(DataRow tRow in tUser.Rows) { User user = new User(); if (tRow["UserID"] != DBNull.Value) { user.UserID = Int32.Parse(tRow["UserID"].ToString()); } if (tRow["UserRoleID"] != DBNull.Value) { user.UserID = Int32.Parse(tRow["UserRoleID"].ToString()); } if (tRow["FirstName"] != DBNull.Value) { user.FirstName = tRow["FirstName"].ToString(); } if (tRow["LastName"] != DBNull.Value) { user.LastName = tRow["LastName"].ToString(); } if (tRow["DisplayName"] != DBNull.Value) { user.DisplayName = tRow["DisplayName"].ToString(); } if (tRow["EmailID"] != DBNull.Value) { user.EmailID = tRow["EmailID"].ToString(); } if (tRow["PinCode"] != DBNull.Value) { user.PinCode = tRow["PinCode"].ToString(); } if (tRow["Address1"] != DBNull.Value) { user.Address1 = tRow["Address1"].ToString(); } if (tRow["Address2"] != DBNull.Value) { user.Address2 = tRow["Address2"].ToString(); } if (tRow["Address3"] != DBNull.Value) { user.Address3 = tRow["Address3"].ToString(); } if (tRow["City"] != DBNull.Value) { user.City = tRow["City"].ToString(); } if (tRow["Distance"] != DBNull.Value) { user.Distance = Convert.ToDecimal(tRow["Distance"].ToString()); } if (tRow["PhoneNumber"] != DBNull.Value) { user.PhoneNumber = tRow["PhoneNumber"].ToString(); } if (tRow["ProfilePicPath"] != DBNull.Value) { user.ProfilePicPath = tRow["ProfilePicPath"].ToString(); } if (tRow["AvgRating"] != DBNull.Value) { user.AvgRating = Convert.ToDecimal(tRow["AvgRating"].ToString()); } lstexperts.Add(user); } responseObject.ResultCode = "SUCCESS"; responseObject.ResultObjectRecordCount = tUser.Rows.Count; responseObject.ResultObjectJSON = Serializer.ObjectToJSON(lstexperts); if (tUser.Rows.Count == 0) { responseObject.ResultMessage = "No Experts found for this combination of category and subcategory."; } } } catch (Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "GetExpertsByCatSubCat", System.DateTime.Now); ExceptionManager.PublishException(exc); } } return responseObject; }
public ResponseObjectForAnything InviteExperts(string sessionkey, string problemid, string expertids) { ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); AuthenticationEngine authEngine = new AuthenticationEngine(); User user = new User(); int expertid = 0; bool isValid = authEngine.IsValidSession(sessionkey); if(isValid) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_InviteExperts"); db.AddInParameter(dbCommand, "@SessionKey", DbType.String, sessionkey); db.AddInParameter(dbCommand, "@ProblemID", DbType.Int32, Int32.Parse(problemid)); string[] invitedexperts = expertids.Split(",".ToCharArray()); DataSet dsExperts = ToDataSet(invitedexperts, "Name"); db.AddInParameter(dbCommand, "@UserIDs", DbType.String, dsExperts.GetXml()); expertid = Int32.Parse(db.ExecuteScalar(dbCommand).ToString()); if (expertid > 0) { responseObject.ResultCode = "SUCCESS"; responseObject.ResultMessage = "Problem created successfully."; responseObject.ResultObjectID = expertid; } else { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = "Unknown error occured, please try again later."; } } catch(Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "SaveProblem", 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; }
/// <summary> /// This method gets the details for a particular /// problem. It contains all bid details and details /// of all users who bidded on that problem. /// </summary> /// <param name="sessionKey">string</param> /// <param name="problemId">int</param> /// <returns>ProblemObject</returns> public ResponseObjectForAnything GetProblemDetailById(string sessionKey, string problemId, bool ispaging) { ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); ProblemObject problemdetailobject = new ProblemObject(); List<Problem> lstproblem = new List<Problem>(); AuthenticationEngine authEngine = new AuthenticationEngine(); List<User> lstuser = new List<User>(); List<ProblemHashTag> lstproblemhashtag = new List<ProblemHashTag>(); List<ProblemMedia> lstproblemmedia = new List<ProblemMedia>(); int count = 0; bool isValid = true; if (!string.IsNullOrEmpty(sessionKey)) { isValid = authEngine.IsValidSession(sessionKey); } if (isValid) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_GetProblemDetailByID"); db.AddInParameter(dbCommand, "@Sessionkey", DbType.String, sessionKey); if (!string.IsNullOrEmpty(problemId)) { db.AddInParameter(dbCommand, "@ProblemID", DbType.Int32, Int32.Parse(problemId)); } else { db.AddInParameter(dbCommand, "@ProblemID", DbType.Int32, null); } db.AddInParameter(dbCommand, "@IsPaging", DbType.Boolean, ispaging); DataSet dsProblemDetail = db.ExecuteDataSet(dbCommand); if (!ispaging) { if (dsProblemDetail.Tables.Count > 0) { DataTable tUser = dsProblemDetail.Tables[0]; foreach (DataRow tRow in tUser.Rows) { User user = new User(); if (tRow["UserID"] != DBNull.Value) { user.UserID = Int32.Parse(tRow["UserID"].ToString()); } if (tRow["EmailId"] != DBNull.Value) { user.EmailID = tRow["EmailId"].ToString(); } if (tRow["FirstName"] != DBNull.Value) { user.FirstName = tRow["FirstName"].ToString(); } if (tRow["LastName"] != DBNull.Value) { user.LastName = tRow["LastName"].ToString(); } if (tRow["ProfilePicPath"] != DBNull.Value) { user.ProfilePicPath = tRow["ProfilePicPath"].ToString(); } if (tRow["DisplayName"] != DBNull.Value) { user.DisplayName = tRow["DisplayName"].ToString(); } if (tRow["CountryCode"] != DBNull.Value) { user.CountryCode = tRow["CountryCode"].ToString(); } if (tRow["PhoneNumber"] != DBNull.Value) { user.PhoneNumber = tRow["PhoneNumber"].ToString(); } if (tRow["Address1"] != DBNull.Value) { user.Address1 = tRow["Address1"].ToString(); } if (tRow["Address2"] != DBNull.Value) { user.Address2 = tRow["Address2"].ToString(); } if (tRow["Address3"] != DBNull.Value) { user.Address3 = tRow["Address3"].ToString(); } if (tRow["City"] != DBNull.Value) { user.City = tRow["City"].ToString(); } if (tRow["StateID"] != DBNull.Value) { user.StateID = Int32.Parse(tRow["StateID"].ToString()); } if (tRow["CountryID"] != DBNull.Value) { user.CountryID = Int32.Parse(tRow["CountryID"].ToString()); } if (tRow["BriefDescription"] != DBNull.Value) { user.BriefDescription = tRow["BriefDescription"].ToString(); } if (tRow["QuickBloxUserName"] != DBNull.Value) { user.QuickBloxUserName = tRow["QuickBloxUserName"].ToString(); } if (tRow["QuickBloxPassword"] != DBNull.Value) { user.QuickBloxPassword = tRow["QuickBloxPassword"].ToString(); } if (tRow["ProfileCompleteness"] != DBNull.Value) { user.ProfileCompleteness = Int32.Parse(tRow["ProfileCompleteness"].ToString()); } lstuser.Add(user); } problemdetailobject.user = lstuser; } if (dsProblemDetail.Tables.Count > 1) { DataTable tProblem = dsProblemDetail.Tables[1]; Problem problem = new Problem(); foreach (DataRow dRow in tProblem.Rows) { 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["CategoryName"] != DBNull.Value) { problem.CategoryName = dRow["CategoryName"].ToString(); } if (dRow["SubCategoryID"] != DBNull.Value) { problem.SubCategoryID = Int32.Parse(dRow["SubCategoryID"].ToString()); } if (dRow["SubCategoryName"] != DBNull.Value) { problem.SubCategoryName = dRow["SubCategoryName"].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(); } //lstproblem.Add(problem); } problemdetailobject.individualproblem = problem; } if (dsProblemDetail.Tables.Count > 2) { DataTable tProblemHashTag = dsProblemDetail.Tables[2]; List<ProblemHashTag> lstHashTag = new List<ProblemHashTag>(); foreach (DataRow dRow in tProblemHashTag.Rows) { ProblemHashTag problemhashtag = new ProblemHashTag(); if (dRow["ProblemID"] != DBNull.Value) { problemhashtag.ProblemID = Int32.Parse(dRow["ProblemID"].ToString()); } if (dRow["HashTagID"] != DBNull.Value) { problemhashtag.HashTagID = Int32.Parse(dRow["HashTagID"].ToString()); } if (dRow["Name"] != DBNull.Value) { problemhashtag.HashTag = dRow["Name"].ToString(); } lstHashTag.Add(problemhashtag); } problemdetailobject.problemhashtag = lstHashTag; } if (dsProblemDetail.Tables.Count > 3) { DataTable tProblemMedia = dsProblemDetail.Tables[3]; List<ProblemMedia> lstHashTag = new List<ProblemMedia>(); foreach (DataRow dRow in tProblemMedia.Rows) { ProblemMedia problemmedia = new ProblemMedia(); if (dRow["ProblemMediaID"] != DBNull.Value) { problemmedia.ProblemMediaID = Int32.Parse(dRow["ProblemMediaID"].ToString()); } if (dRow["ProblemID"] != DBNull.Value) { problemmedia.ProblemID = Int32.Parse(dRow["ProblemID"].ToString()); } if (dRow["IsImage"] != DBNull.Value) { problemmedia.IsImage = Convert.ToBoolean(dRow["IsImage"].ToString()); } if (dRow["MediaPath"] != DBNull.Value) { problemmedia.MediaPath = dRow["MediaPath"].ToString(); } lstHashTag.Add(problemmedia); } problemdetailobject.problemmedia = lstproblemmedia; } } if (!ispaging && dsProblemDetail.Tables.Count > 4 || ispaging && dsProblemDetail.Tables.Count > 0) { DataTable tProblemBids = dsProblemDetail.Tables[4]; List<ProblemBid> lstproblembid = new List<ProblemBid>(); foreach (DataRow dRow in tProblemBids.Rows) { ProblemBid bid = new ProblemBid(); if (dRow["BidId"] != DBNull.Value) { bid.BidID = Int32.Parse(dRow["BidId"].ToString()); } if (dRow["ProblemID"] != DBNull.Value) { bid.ProblemID = Int32.Parse(dRow["ProblemID"].ToString()); } if (dRow["UserID"] != DBNull.Value) { bid.UserID = Int32.Parse(dRow["UserID"].ToString()); } if (dRow["DisplayName"] != DBNull.Value) { bid.DisplayName = dRow["DisplayName"].ToString(); } if (dRow["ProfilePicPath"] != DBNull.Value) { bid.ProfileImagePath = dRow["ProfilePicPath"].ToString(); } if (dRow["BriefDescription"] != DBNull.Value) { bid.BriefDescription = dRow["BriefDescription"].ToString(); } if (dRow["QuickBloxUserName"] != DBNull.Value) { bid.QuickBloxUserID = dRow["QuickBloxUserName"].ToString(); } if (dRow["Longitude"] != DBNull.Value) { bid.Longitude = Convert.ToDecimal(dRow["Longitude"].ToString()); } if (dRow["Latitude"] != DBNull.Value) { bid.Latitude = Convert.ToDecimal(dRow["Latitude"].ToString()); } if (dRow["Distance"] != DBNull.Value) { bid.Distance = Convert.ToDecimal(dRow["Distance"].ToString()); } if (dRow["Description"] != DBNull.Value) { bid.ResolutionDescription = dRow["Description"].ToString(); } if (dRow["ResolutionMethodID"] != DBNull.Value) { bid.ResolutionMethodID = Int32.Parse(dRow["ResolutionMethodID"].ToString()); } if (dRow["ResolutionLink1"] != DBNull.Value) { bid.ResolutionLink1 = dRow["ResolutionLink1"].ToString(); } if (dRow["ResolutionLink2"] != DBNull.Value) { bid.ResolutionLink2 = dRow["ResolutionLink2"].ToString(); } if (dRow["CurrencyID"] != DBNull.Value) { bid.CurrencyID = Int32.Parse(dRow["CurrencyID"].ToString()); } if (dRow["CurrencyName"] != DBNull.Value) { bid.CurrencyName = dRow["CurrencyName"].ToString(); } if (dRow["CurrencyDisplayText"] != DBNull.Value) { bid.CurrencyDisplayText = dRow["CurrencyDisplayText"].ToString(); } if (dRow["Amount"] != DBNull.Value) { bid.Amount = Convert.ToDecimal(dRow["Amount"].ToString()); } if (dRow["CompanyID"] != DBNull.Value) { bid.CompanyID = Int32.Parse(dRow["CompanyID"].ToString()); } if (dRow["CompanyName"] != DBNull.Value) { bid.CompanyName = dRow["CompanyName"].ToString(); } if (dRow["UserID"] != DBNull.Value) { bid.UserID = Int32.Parse(dRow["UserID"].ToString()); } if (dRow["IsSelected"] != DBNull.Value) { bid.IsSelected = Convert.ToBoolean(dRow["IsSelected"].ToString()); } if (dRow["IsInvited"] != DBNull.Value) { bid.IsInvited = Convert.ToBoolean(dRow["IsInvited"].ToString()); } if (dRow["SubmittedDate"] != DBNull.Value) { bid.SubmittedDate = Convert.ToDateTime(dRow["SubmittedDate"].ToString()); } if (dRow["IsRated"] != DBNull.Value) { bid.IsRated = Convert.ToBoolean(dRow["IsRated"].ToString()); } if (dRow["UserRating"] != DBNull.Value) { bid.UserRating = Convert.ToDecimal(dRow["UserRating"].ToString()); } lstproblembid.Add(bid); count++; } problemdetailobject.problembid = lstproblembid; } if (!ispaging) { if (dsProblemDetail.Tables.Count > 5) { DataTable tResolutionMedia = dsProblemDetail.Tables[5]; List<ResolutionMedia> lstresolutionmedia = new List<ResolutionMedia>(); foreach (DataRow dRow in tResolutionMedia.Rows) { ResolutionMedia resmedia = new ResolutionMedia(); if (dRow["BidID"] != DBNull.Value) { resmedia.BidID = Int32.Parse(dRow["BidID"].ToString()); } if (dRow["IsImage"] != DBNull.Value) { resmedia.IsImage = Convert.ToBoolean(dRow["IsImage"].ToString()); } if (dRow["ResolutionMediaPath"] != DBNull.Value) { resmedia.MediaPath = dRow["ResolutionMediaPath"].ToString(); } lstresolutionmedia.Add(resmedia); } problemdetailobject.resolutionmedia = lstresolutionmedia; } if (dsProblemDetail.Tables.Count > 6) { DataTable tResolutionProposedTime = dsProblemDetail.Tables[6]; List<ResolutionProposedTime> lstresproposedtime = new List<ResolutionProposedTime>(); foreach (DataRow dRow in tResolutionProposedTime.Rows) { ResolutionProposedTime proposedtime = new ResolutionProposedTime(); if (dRow["ID"] != DBNull.Value) { proposedtime.ID = Int32.Parse(dRow["ID"].ToString()); } if (dRow["BidID"] != DBNull.Value) { proposedtime.BidID = Int32.Parse(dRow["BidID"].ToString()); } if (dRow["IsSelected"] != DBNull.Value) { proposedtime.IsSelected = Convert.ToBoolean(dRow["IsSelected"].ToString()); } if (dRow["ResolutionProposedTime"] != DBNull.Value) { proposedtime.ProposedTime = Convert.ToDateTime(dRow["ResolutionProposedTime"].ToString()); } lstresproposedtime.Add(proposedtime); } problemdetailobject.proposedtime = lstresproposedtime; } if (!ispaging && dsProblemDetail.Tables.Count > 7 || ispaging && dsProblemDetail.Tables.Count > 0) { DataTable tProblemBids = dsProblemDetail.Tables[7]; List<ProblemBid> lstproblembid = new List<ProblemBid>(); foreach (DataRow dRow in tProblemBids.Rows) { ProblemBid bid = new ProblemBid(); if (dRow["BidId"] != DBNull.Value) { bid.BidID = Int32.Parse(dRow["BidId"].ToString()); } if (dRow["ProblemID"] != DBNull.Value) { bid.ProblemID = Int32.Parse(dRow["ProblemID"].ToString()); } if (dRow["UserID"] != DBNull.Value) { bid.UserID = Int32.Parse(dRow["UserID"].ToString()); } if (dRow["DisplayName"] != DBNull.Value) { bid.DisplayName = dRow["DisplayName"].ToString(); } if (dRow["ProfilePicPath"] != DBNull.Value) { bid.ProfileImagePath = dRow["ProfilePicPath"].ToString(); } if (dRow["BriefDescription"] != DBNull.Value) { bid.BriefDescription = dRow["BriefDescription"].ToString(); } if (dRow["QuickBloxUserName"] != DBNull.Value) { bid.QuickBloxUserID = dRow["QuickBloxUserName"].ToString(); } if (dRow["Longitude"] != DBNull.Value) { bid.Longitude = Convert.ToDecimal(dRow["Longitude"].ToString()); } if (dRow["Latitude"] != DBNull.Value) { bid.Latitude = Convert.ToDecimal(dRow["Latitude"].ToString()); } if (dRow["Distance"] != DBNull.Value) { bid.Distance = Convert.ToDecimal(dRow["Distance"].ToString()); } if (dRow["Description"] != DBNull.Value) { bid.ResolutionDescription = dRow["Description"].ToString(); } if (dRow["ResolutionMethodID"] != DBNull.Value) { bid.ResolutionMethodID = Int32.Parse(dRow["ResolutionMethodID"].ToString()); } if (dRow["ResolutionLink1"] != DBNull.Value) { bid.ResolutionLink1 = dRow["ResolutionLink1"].ToString(); } if (dRow["ResolutionLink2"] != DBNull.Value) { bid.ResolutionLink2 = dRow["ResolutionLink2"].ToString(); } if (dRow["CurrencyID"] != DBNull.Value) { bid.CurrencyID = Int32.Parse(dRow["CurrencyID"].ToString()); } if (dRow["CurrencyName"] != DBNull.Value) { bid.CurrencyName = dRow["CurrencyName"].ToString(); } if (dRow["CurrencyDisplayText"] != DBNull.Value) { bid.CurrencyDisplayText = dRow["CurrencyDisplayText"].ToString(); } if (dRow["Amount"] != DBNull.Value) { bid.Amount = Convert.ToDecimal(dRow["Amount"].ToString()); } if (dRow["CompanyID"] != DBNull.Value) { bid.CompanyID = Int32.Parse(dRow["CompanyID"].ToString()); } if (dRow["CompanyName"] != DBNull.Value) { bid.CompanyName = dRow["CompanyName"].ToString(); } if (dRow["IsSelected"] != DBNull.Value) { bid.IsSelected = Convert.ToBoolean(dRow["IsSelected"].ToString()); } if (dRow["IsInvited"] != DBNull.Value) { bid.IsInvited = Convert.ToBoolean(dRow["IsInvited"].ToString()); } if (dRow["SubmittedDate"] != DBNull.Value) { bid.SubmittedDate = Convert.ToDateTime(dRow["SubmittedDate"].ToString()); } if (dRow["IsRated"] != DBNull.Value) { bid.IsRated = Convert.ToBoolean(dRow["IsRated"].ToString()); } if (dRow["UserRating"] != DBNull.Value) { bid.UserRating = Convert.ToDecimal(dRow["UserRating"].ToString()); } lstproblembid.Add(bid); count++; } problemdetailobject.invitedproblembid = lstproblembid; } if (!ispaging && dsProblemDetail.Tables.Count > 8 || ispaging && dsProblemDetail.Tables.Count > 0) { DataTable tProblemBids = dsProblemDetail.Tables[8]; List<ProblemBid> lstproblembid = new List<ProblemBid>(); foreach (DataRow dRow in tProblemBids.Rows) { ProblemBid bid = new ProblemBid(); if (dRow["BidId"] != DBNull.Value) { bid.BidID = Int32.Parse(dRow["BidId"].ToString()); } if (dRow["ProblemID"] != DBNull.Value) { bid.ProblemID = Int32.Parse(dRow["ProblemID"].ToString()); } if (dRow["UserID"] != DBNull.Value) { bid.UserID = Int32.Parse(dRow["UserID"].ToString()); } if (dRow["DisplayName"] != DBNull.Value) { bid.DisplayName = dRow["DisplayName"].ToString(); } if (dRow["ProfilePicPath"] != DBNull.Value) { bid.ProfileImagePath = dRow["ProfilePicPath"].ToString(); } if (dRow["BriefDescription"] != DBNull.Value) { bid.BriefDescription = dRow["BriefDescription"].ToString(); } if (dRow["QuickBloxUserName"] != DBNull.Value) { bid.QuickBloxUserID = dRow["QuickBloxUserName"].ToString(); } if (dRow["Longitude"] != DBNull.Value) { bid.Longitude = Convert.ToDecimal(dRow["Longitude"].ToString()); } if (dRow["Latitude"] != DBNull.Value) { bid.Latitude = Convert.ToDecimal(dRow["Latitude"].ToString()); } if (dRow["Distance"] != DBNull.Value) { bid.Distance = Convert.ToDecimal(dRow["Distance"].ToString()); } if (dRow["Description"] != DBNull.Value) { bid.ResolutionDescription = dRow["Description"].ToString(); } if (dRow["ResolutionMethodID"] != DBNull.Value) { bid.ResolutionMethodID = Int32.Parse(dRow["ResolutionMethodID"].ToString()); } if (dRow["ResolutionLink1"] != DBNull.Value) { bid.ResolutionLink1 = dRow["ResolutionLink1"].ToString(); } if (dRow["ResolutionLink2"] != DBNull.Value) { bid.ResolutionLink2 = dRow["ResolutionLink2"].ToString(); } if (dRow["CurrencyID"] != DBNull.Value) { bid.CurrencyID = Int32.Parse(dRow["CurrencyID"].ToString()); } if (dRow["CurrencyName"] != DBNull.Value) { bid.CurrencyName = dRow["CurrencyName"].ToString(); } if (dRow["CurrencyDisplayText"] != DBNull.Value) { bid.CurrencyDisplayText = dRow["CurrencyDisplayText"].ToString(); } if (dRow["Amount"] != DBNull.Value) { bid.Amount = Convert.ToDecimal(dRow["Amount"].ToString()); } if (dRow["CompanyID"] != DBNull.Value) { bid.CompanyID = Int32.Parse(dRow["CompanyID"].ToString()); } if (dRow["CompanyName"] != DBNull.Value) { bid.CompanyName = dRow["CompanyName"].ToString(); } if (dRow["UserID"] != DBNull.Value) { bid.UserID = Int32.Parse(dRow["UserID"].ToString()); } if (dRow["IsSelected"] != DBNull.Value) { bid.IsSelected = Convert.ToBoolean(dRow["IsSelected"].ToString()); } if (dRow["IsInvited"] != DBNull.Value) { bid.IsInvited = Convert.ToBoolean(dRow["IsInvited"].ToString()); } if (dRow["SubmittedDate"] != DBNull.Value) { bid.SubmittedDate = Convert.ToDateTime(dRow["SubmittedDate"].ToString()); } if (dRow["IsRated"] != DBNull.Value) { bid.IsRated = Convert.ToBoolean(dRow["IsRated"].ToString()); } if (dRow["UserRating"] != DBNull.Value) { bid.UserRating = Convert.ToDecimal(dRow["UserRating"].ToString()); } lstproblembid.Add(bid); count++; } problemdetailobject.selectedproblembid = lstproblembid; } } responseObject.ResultCode = "SUCCESS"; responseObject.ResultObjectRecordCount = count; responseObject.ResultObjectJSON = Serializer.ObjectToJSON(problemdetailobject); if (count <= 0) { responseObject.ResultMessage = "No bids currently available for this problem."; } } catch (Exception ex) { responseObject.ResultCode = "ERROR"; responseObject.ResultMessage = ex.Message; CustomException exc = new CustomException(ex.ToString(), this.ToString(), "GetProblemDetailById", System.DateTime.Now); ExceptionManager.PublishException(exc); } } return responseObject; }