public LoginInformation CompareHashAndAuthenticate(string HashString) { LoginInformation LoginInformation = new LoginInformation(); SICTLogger.WriteInfo(UserDetailsBusiness.CLASS_NAME, "CompareHashAndAuthenticate ", "Start "); try { string UName = string.Empty; DataAccessLayer.DataAccessLayer DBLayer = new DataAccessLayer.DataAccessLayer(); DataTable DataTable = new DataTable(); DataTable DtUpload = new DataTable(); bool IsAuthenticatedUser = false; DataTable = DBLayer.GetAllUserNameAndPassword(); DtUpload = DBLayer.GetLastUploadDate(); foreach (DataRow Dr in DataTable.Rows) { string UserName = Dr[BusinessConstants.USERNAME].ToString(); string Password = Dr[BusinessConstants.PASSWORD].ToString(); string UserNameAndPassword = string.Format("{0}&{1}", UserName, Password); if (string.Compare(this.CreateMD5Hash(UserNameAndPassword), HashString, true) == 0) { UName = UserName; LoginInformation = this.Authenticate(Dr); IsAuthenticatedUser = true; break; } } if (!IsAuthenticatedUser) { LoginInformation.ReturnCode = 0; LoginInformation.SessionId = null; LoginInformation.ReturnMessage = "Invalid Username or Password"; } if (DtUpload.Rows.Count > 0) { System.Collections.Generic.List <string> UploadDates = new System.Collections.Generic.List <string>(); string UploadDate = string.Empty; if (!string.IsNullOrEmpty(DtUpload.Rows[0][BusinessConstants.LASTUPLOADDATE].ToString())) { UploadDate = System.Convert.ToDateTime(DtUpload.Rows[0][BusinessConstants.LASTUPLOADDATE].ToString()).ToUniversalTime().ToString(); UploadDate = System.Convert.ToDateTime(UploadDate).ToString("MM/dd/yyyy/HH/mm"); UploadDate = UploadDate.Replace(".", "/"); UploadDate = UploadDate.Replace(":", "/"); LoginInformation.LastUploadDate = UploadDate; } } LoginInformation.IsSpecialUser = this.CheckIsSpecialUserOrNot(UName); LoginInformation.AirportId = System.Convert.ToInt32(DBLayer.GetAirportIdByUserName(UName)); } catch (System.Exception Ex) { LoginInformation.ReturnCode = -1; LoginInformation.ReturnMessage = "Error in Function Execution"; SICTLogger.WriteException(UserDetailsBusiness.CLASS_NAME, "CompareHashAndAuthenticate ", Ex); } SICTLogger.WriteInfo(UserDetailsBusiness.CLASS_NAME, "CompareHashAndAuthenticate ", "End"); return(LoginInformation); }