/// <summary> /// Get session key by email ID /// </summary> /// <param name="emailID">string</param> /// <returns>string</returns> public ResponseObjectForAnything GetUserFromSession(string sessionKey) { string retValue = string.Empty; ResponseObjectForAnything obj = new ResponseObjectForAnything(); bool isValid = true; List<Person> lstPerson = new List<Person>(); int count = 0; if (isValid) { try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_GetUserFromSession"); db.AddInParameter(dbCommand, "@SessionKey", DbType.String, sessionKey); DataSet dsPerson = db.ExecuteDataSet(dbCommand); if (dsPerson.Tables.Count > 0) { DataTable tPerson = dsPerson.Tables[0]; foreach (DataRow dr in tPerson.Rows) { Person person = new Person(); if (dr["PersonID"] != DBNull.Value) { person.PersonID = Int32.Parse(dr["PersonID"].ToString()); } if (dr["PersonTypeID"] != DBNull.Value) { person.PersonTypeID = Int32.Parse(dr["PersonTypeID"].ToString()); } if (dr["PreferredLanguageID"] != DBNull.Value) { person.PreferredLanguageID = Int32.Parse(dr["PreferredLanguageID"].ToString()); } if (dr["FirstName"] != DBNull.Value) { person.FirstName = dr["FirstName"].ToString(); } if (dr["LastName"] != DBNull.Value) { person.LastName = dr["LastName"].ToString(); } if (dr["Username"] != DBNull.Value) { person.Username = dr["Username"].ToString(); } if (dr["Email"] != DBNull.Value) { person.Email = dr["Email"].ToString(); } if (dr["CountryID"] != DBNull.Value) { person.CountryID = Int32.Parse(dr["CountryID"].ToString()); } if (dr["StateID"] != DBNull.Value) { person.StateID = Int32.Parse(dr["StateID"].ToString()); } if (dr["ProfilePicPath"] != DBNull.Value) { person.ProfilePicPath = dr["ProfilePicPath"].ToString(); } if (dr["PersonGroupID"] != DBNull.Value) { person.PersonGroupID = Int32.Parse(dr["PersonGroupID"].ToString()); } if (dr["GroupName"] != DBNull.Value) { person.GroupName = dr["GroupName"].ToString(); } if (dr["PersonType"] != DBNull.Value) { person.PersonType = dr["PersonType"].ToString(); } if (dr["PointsEarned"] != DBNull.Value) { person.PointsEarned = Int32.Parse(dr["PointsEarned"].ToString()); } if (dr["AvgFeedback"] != DBNull.Value) { person.AvgFeedback = Convert.ToDecimal(dr["AvgFeedback"].ToString()); } lstPerson.Add(person); count++; } } obj.ResultCode = "SUCCESS"; obj.ResultObjectJSON = Serializer.ObjectToJSON(lstPerson); obj.ResultObjectRecordCount = count; if (obj.ResultObjectRecordCount == 0) { obj.ResultMessage = "Invalid session."; } } catch (Exception ex) { obj.ResultCode = "ERROR"; obj.ResultMessage = ex.Message.ToString(); CustomException exc = new CustomException(ex.ToString(), this.ToString(), "GetUserFromSession", System.DateTime.Now); ExceptionManager.PublishException(exc); } } return obj; }
/// <summary> /// This method creates the session for logged in user /// and returns all information needed to show on app /// and website landing page. /// </summary> /// <param name="userName">string</param> /// <param name="password">string</param> /// <param name="deviceToken">string</param> /// <returns>SessionResponseObject</returns> public string CreateSession(string emailID, string password, string deviceToken) { ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); SessionResponseObject sessionObject = new SessionResponseObject(); int count = 0; try { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_CreateSession"); db.AddInParameter(dbCommand, "@Username", DbType.String, emailID); string password1 = BitConverter.ToString(SHA1.Create().ComputeHash(Encoding.Default.GetBytes(password + ""))).Replace("-", ""); db.AddInParameter(dbCommand, "@Password", DbType.String, BitConverter.ToString(SHA1.Create().ComputeHash(Encoding.Default.GetBytes(password + ""))).Replace("-", "")); db.AddInParameter(dbCommand, "@DeviceToken", DbType.String, deviceToken); DataSet dsAuth = db.ExecuteDataSet(dbCommand); if (dsAuth.Tables.Count > 0) { DataTable tUser = dsAuth.Tables[0]; Session session = new Session(); if (tUser.Rows.Count > 0) { if (tUser.Rows[0]["SessionKey"] != DBNull.Value) { session.SessionKey = tUser.Rows[0]["SessionKey"].ToString(); } if (tUser.Rows[0]["SessionID"] != DBNull.Value) { session.ID = Int32.Parse(tUser.Rows[0]["SessionID"].ToString()); } count++; } sessionObject.session = session; } if (dsAuth.Tables.Count > 1) { DataTable tUser = dsAuth.Tables[1]; Person person = new Person(); if (tUser.Rows.Count > 0) { if (tUser.Rows[0]["PersonID"] != DBNull.Value) { person.PersonID = Int32.Parse(tUser.Rows[0]["PersonID"].ToString()); } if (tUser.Rows[0]["PersonTypeID"] != DBNull.Value) { person.PersonTypeID = Int32.Parse(tUser.Rows[0]["PersonTypeID"].ToString()); } if (tUser.Rows[0]["PreferredLanguageID"] != DBNull.Value) { person.PreferredLanguageID = Int32.Parse(tUser.Rows[0]["PreferredLanguageID"].ToString()); } if (tUser.Rows[0]["FirstName"] != DBNull.Value) { person.FirstName = tUser.Rows[0]["FirstName"].ToString(); } if (tUser.Rows[0]["LastName"] != DBNull.Value) { person.LastName = tUser.Rows[0]["LastName"].ToString(); } if (tUser.Rows[0]["Username"] != DBNull.Value) { person.Username = tUser.Rows[0]["Username"].ToString(); } if (tUser.Rows[0]["ProfilePicPath"] != DBNull.Value) { person.ProfilePicPath = tUser.Rows[0]["ProfilePicPath"].ToString(); } if (tUser.Rows[0]["Email"] != DBNull.Value) { person.Email = tUser.Rows[0]["Email"].ToString(); } } sessionObject.person = person; } string sessionresponse = Serializer.ObjectToJSON(sessionObject); responseObject.ResultObjectJSON = sessionresponse; responseObject.ResultCode = "SUCCESS"; responseObject.ResultObjectRecordCount = count; if (responseObject.ResultObjectRecordCount == 0) { responseObject.ResultMessage = "Invalid Email Id or Password"; } } catch (Exception exception) { sessionObject.ResultCode = "ERROR"; sessionObject.ResultMessage = "Invalid Email Id or Password"; CustomException exc = new CustomException(exception.ToString(), this.ToString(), "CreateSession", System.DateTime.Now); ExceptionManager.PublishException(exc); } return Serializer.ObjectToJSON(responseObject); }
/// <summary> /// Get persons list. /// </summary> /// <param name="sessionKey">string</param> /// <param name="personId">string</param> /// <param name="personTypeId">string</param> /// <param name="persongroupid">string</param> /// <param name="langid">string</param> /// <param name="firstname">string</param> /// <param name="lastname">string</param> /// <param name="username">string</param> /// <param name="password">string</param> /// <param name="email">string</param> /// <param name="countryid">string</param> /// <param name="stateid">string</param> /// <param name="telhome">string</param> /// <param name="telwork">string</param> /// <param name="telmobile">string</param> /// <param name="profilepicture">string</param> /// <param name="personcode">string</param> /// <param name="jobtitle">string</param> /// <returns>string</returns> public string GetPersons(string sessionKey, string personId, string duedate, string persontypeid) { PersonObject personobj = new PersonObject(); List<Person> lstPerson = new List<Person>(); List<Address> lstAddress = new List<Address>(); List<PersonCompletedQuiz> lstcompletedquiz = new List<PersonCompletedQuiz>(); List<SteviArt.Common.DTO.Task> lsttasks = new List<Common.DTO.Task>(); List<PrivateProject> lstprivateprojs = new List<PrivateProject>(); List<PersonFeedback> lstfeedback = new List<PersonFeedback>(); ResponseObjectForAnything responseObject = new ResponseObjectForAnything(); int count = 0; bool isValid = true; if (!string.IsNullOrEmpty(sessionKey)) { isValid = IsValidSession(sessionKey); } try { if (isValid) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbCommand = db.GetStoredProcCommand("usp_GetPerson"); if (!string.IsNullOrEmpty(personId)) { db.AddInParameter(dbCommand, "@PersonID", DbType.Int32, Int32.Parse(personId)); } else { db.AddInParameter(dbCommand, "@PersonID", DbType.Int32, null); } if (!string.IsNullOrEmpty(duedate)) { db.AddInParameter(dbCommand, "@DueDate", DbType.DateTime, Convert.ToDateTime(duedate)); } else { db.AddInParameter(dbCommand, "@DueDate", DbType.DateTime, null); } if (!string.IsNullOrEmpty(persontypeid)) { db.AddInParameter(dbCommand, "@PersonTypeID", DbType.Int32, Int32.Parse(persontypeid)); } else { db.AddInParameter(dbCommand, "@PersonTypeID", DbType.Int32, null); } DataSet dsPersons = db.ExecuteDataSet(dbCommand); if (dsPersons.Tables.Count > 0) { DataTable tUser = dsPersons.Tables[0]; foreach (DataRow dr in tUser.Rows) { Person person = new Person(); if (dr["PersonID"] != DBNull.Value) { person.PersonID = Int32.Parse(dr["PersonID"].ToString()); } if (dr["PersonTypeID"] != DBNull.Value) { person.PersonTypeID = Int32.Parse(dr["PersonTypeID"].ToString()); } if (dr["PreferredLanguageID"] != DBNull.Value) { person.PreferredLanguageID = Int32.Parse(dr["PreferredLanguageID"].ToString()); } if (dr["FirstName"] != DBNull.Value) { person.FirstName = dr["FirstName"].ToString(); } if (dr["LastName"] != DBNull.Value) { person.LastName = dr["LastName"].ToString(); } if (dr["Username"] != DBNull.Value) { person.Username = dr["Username"].ToString(); } if (dr["Email"] != DBNull.Value) { person.Email = dr["Email"].ToString(); } if (dr["ProfilePicPath"] != DBNull.Value) { person.ProfilePicPath = dr["ProfilePicPath"].ToString(); } if (dr["PersonGroupID"] != DBNull.Value) { person.PersonGroupID = Int32.Parse(dr["PersonGroupID"].ToString()); } if (dr["GroupName"] != DBNull.Value) { person.GroupName = dr["GroupName"].ToString(); } if (dr["PersonType"] != DBNull.Value) { person.PersonType = dr["PersonType"].ToString(); } if (dr["RegisteredToken"] != DBNull.Value) { person.RegisteredToken = dr["RegisteredToken"].ToString(); } if (dr["PointsEarned"] != DBNull.Value) { person.PointsEarned = Convert.ToInt32(dr["PointsEarned"].ToString()); } if (dr["AvgFeedback"] != DBNull.Value) { person.AvgFeedback = Convert.ToDecimal(dr["AvgFeedback"].ToString()); } if (dr["FullName"] != DBNull.Value) { person.FullName = dr["FullName"].ToString(); } if (dr["AudioURL"] != DBNull.Value) { person.AudioURL = dr["AudioURL"].ToString(); } if (dr["GroupAudioURL"] != DBNull.Value) { person.GroupAudioURL = dr["GroupAudioURL"].ToString(); } lstPerson.Add(person); count++; } personobj.Persons = lstPerson; } if(dsPersons.Tables.Count > 1) { DataTable tPersonQuiz = dsPersons.Tables[1]; foreach(DataRow dr in tPersonQuiz.Rows) { PersonCompletedQuiz completedquiz = new PersonCompletedQuiz(); if (dr["PersonCompletedQuizID"] != DBNull.Value) { completedquiz.PersonCompletedQuizID = Int32.Parse(dr["PersonCompletedQuizID"].ToString()); } if (dr["VideoID"] != DBNull.Value) { completedquiz.VideoID = Int32.Parse(dr["VideoID"].ToString()); } if (dr["VideoTitle"] != DBNull.Value) { completedquiz.VideoTitle = dr["VideoTitle"].ToString(); } if (dr["CompletedDate"] != DBNull.Value) { completedquiz.CompletedDate = Convert.ToDateTime(dr["CompletedDate"].ToString()); } if (dr["PointsEarned"] != DBNull.Value) { completedquiz.PointsEarned = Int32.Parse(dr["PointsEarned"].ToString()); } lstcompletedquiz.Add(completedquiz); } personobj.PersonCompletedQuiz = lstcompletedquiz; } if (dsPersons.Tables.Count > 2) { DataTable tTasks = dsPersons.Tables[2]; foreach(DataRow dr in tTasks.Rows) { Common.DTO.Task task = new Common.DTO.Task(); if (dr["Title"] != DBNull.Value) { task.Title = dr["Title"].ToString(); } if (dr["LastCompletionDate"] != DBNull.Value) { task.LastCompletionDate = Convert.ToDateTime(dr["LastCompletionDate"].ToString()); } if (dr["PercentComplete"] != DBNull.Value) { task.PercentComplete = Decimal.Parse(dr["PercentComplete"].ToString()); } if (dr["IsCompleted"] != DBNull.Value) { task.IsCompleted = Convert.ToBoolean(dr["IsCompleted"].ToString()); } if (dr["DueDate"] != DBNull.Value) { task.DueDate = Convert.ToDateTime(dr["DueDate"].ToString()); } lsttasks.Add(task); } personobj.Task = lsttasks; } if (dsPersons.Tables.Count > 3) { DataTable tPrivateProj = dsPersons.Tables[3]; foreach(DataRow dr in tPrivateProj.Rows) { Common.DTO.PrivateProject privateproj = new PrivateProject(); if (dr["PhotoURL"] != DBNull.Value) { privateproj.PhotoURL = dr["PhotoURL"].ToString(); } if (dr["CreatedDate"] != DBNull.Value) { privateproj.CreatedDate = Convert.ToDateTime(dr["CreatedDate"].ToString()); } if (dr["PersonID"] != DBNull.Value) { privateproj.PersonID = Int32.Parse(dr["PersonID"].ToString()); } if (dr["ApprovalStatusName"] != DBNull.Value) { privateproj.ApprovalStatusName = dr["ApprovalStatusName"].ToString(); } lstprivateprojs.Add(privateproj); } personobj.PrivateProject = lstprivateprojs; } if(dsPersons.Tables.Count > 4) { DataTable tFeedback = dsPersons.Tables[4]; foreach (DataRow dr in tFeedback.Rows) { Common.DTO.PersonFeedback feedback = new PersonFeedback(); if (dr["PersonFeedbackID"] != DBNull.Value) { feedback.PersonFeedbackID = Int32.Parse(dr["PersonFeedbackID"].ToString()); } if (dr["PersonID"] != DBNull.Value) { feedback.PersonID = Int32.Parse(dr["PersonID"].ToString()); } if (dr["PersonName"] != DBNull.Value) { feedback.PersonName = dr["PersonName"].ToString(); } if (dr["Feedback"] != DBNull.Value) { feedback.Feedback = Convert.ToDecimal(dr["Feedback"].ToString()); } if (dr["FeedbackSubmitterID"] != DBNull.Value) { feedback.FeedbackSubmitterID = Int32.Parse(dr["FeedbackSubmitterID"].ToString()); } if (dr["FeedbackSubmitterName"] != DBNull.Value) { feedback.FeedbackSubmitterName = dr["FeedbackSubmitterName"].ToString(); } if (dr["RankTopicID"] != DBNull.Value) { feedback.RankTopicID = Int32.Parse(dr["RankTopicID"].ToString()); } if (dr["RankTopic"] != DBNull.Value) { feedback.RankTopic = dr["RankTopic"].ToString(); } lstfeedback.Add(feedback); } personobj.PersonFeedback = lstfeedback; } } responseObject.ResultObjectJSON = Serializer.ObjectToJSON(personobj); responseObject.ResultCode = "SUCCESS"; responseObject.ResultObjectRecordCount = count; if (responseObject.ResultObjectRecordCount <= 0) { responseObject.ResultMessage = "No records found."; } } catch (Exception ex) { CustomException exc = new CustomException(ex.ToString(), this.ToString(), "GetPersons", System.DateTime.Now); ExceptionManager.PublishException(exc); } return Serializer.ObjectToJSON(responseObject); }