using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using System.Data.SqlClient;
using System.Data;
using AIAHTML5.Server.Constants;
using AIAHTML5.Server.Models;
using Newtonsoft.Json;
namespace AIAHTML5.Server.Models
{
public class DbModel
{
String dbConnectionString = System.Configuration.ConfigurationManager.AppSettings["AIADatabaseV5Context"];
User user = new User();
SqlConnection connection;
SqlCommand command;
private DataSet GetSQLData(string commandText, bool isSp)
{
connection = new SqlConnection(dbConnectionString);
if (isSp)
{
command = new SqlCommand(commandText, connection);
command.CommandType = CommandType.StoredProcedure;
}
else
{
command = new SqlCommand(commandText, connection);
}
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = command;
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
private DataSet GetAllEditionForLicense(int licenseId)
{
connection = new SqlConnection(dbConnectionString);
command = new SqlCommand();
command.Connection = connection;
command.CommandText = "GetAllEditionForLicense";
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@iLicenseId", licenseId).DbType = DbType.Int32;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = command;
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}
///
/// This function use to get all account type
///
/// Array of all account type List
public ArrayList GetAllAccountTypes()
{
ArrayList arrAccountType = new ArrayList();
Hashtable hasAccountType = null;
hasAccountType = new Hashtable();
hasAccountType.Add(AdminConstant.KEY_ID, 0);
hasAccountType.Add(AdminConstant.KEY_TITLE, AdminConstant.TITLE_SELECT);
arrAccountType.Add(hasAccountType);
DataSet ds = GetSQLData("EC_GetAccountTypeList", true);
DataTable dt = ds.Tables[0];
foreach (DataRow drActType in dt.Rows)
{
hasAccountType = new Hashtable();
hasAccountType.Add(AdminConstant.KEY_ID, drActType["Id"]);
hasAccountType.Add(AdminConstant.KEY_TITLE, drActType["Title"]);
arrAccountType.Add(hasAccountType);
}
return arrAccountType;
}
///
/// This function use to get all user type
///
/// array of all User Type
public ArrayList GetUserType()
{
ArrayList arrUserType = new ArrayList();
Hashtable hasUserType = null;
hasUserType = new Hashtable();
hasUserType.Add(AdminConstant.KEY_ID, 0);
hasUserType.Add(AdminConstant.KEY_TITLE, AdminConstant.TITLE_ALL);
arrUserType.Add(hasUserType);
DataSet ds = GetSQLData("", false); //Stored procedure not found
DataTable dt = ds.Tables[0];
foreach (DataRow drUserType in dt.Rows)
{
hasUserType = new Hashtable();
hasUserType.Add(AdminConstant.KEY_ID, drUserType["Id"]);
hasUserType.Add(AdminConstant.KEY_TITLE, drUserType["Title"]);
arrUserType.Add(hasUserType);
}
return arrUserType;
}
///
/// This function used to get all countries list
///
/// Array of all country List
public ArrayList GetAllCountries()
{
ArrayList arrCountry = new ArrayList();
Hashtable hasCountry = null;
hasCountry = new Hashtable();
hasCountry.Add(AdminConstant.KEY_ID, 0);
hasCountry.Add(AdminConstant.KEY_TITLE, AdminConstant.TITLE_SELECT);
arrCountry.Add(hasCountry);
////Disconnected -------------------
//connection = new SqlConnection(dbConnsectionString);
//command = new SqlCommand("EC_GetCountryList", connection);
//command.CommandType = CommandType.StoredProcedure;
//SqlDataAdapter da = new SqlDataAdapter();
//da.SelectCommand = command;
//DataSet ds = new DataSet();
//da.Fill(ds);
//DataTable dt = ds.Tables["Country"];
//foreach (DataRow drCountry in dt.Rows)
//{
// hasCountry = new Hashtable();
// hasCountry.Add("Id", drCountry["Id"]);
// hasCountry.Add("Title", drCountry["CountryName"]);
// arrCountry.Add(hasCountry);
//}
//return arrCountry;
////Connected
//connection = new SqlConnection(dbConnsectionString);
//command = new SqlCommand();
//command.Connection = connection;
//command.CommandType = CommandType.StoredProcedure;
//command.CommandText = "EC_GetCountryList";
//connection.Open();
//reader = command.ExecuteReader();
//while (reader.Read())
//{
// hasCountry = new Hashtable();
// hasCountry.Add("Id", reader["Id"]);
// hasCountry.Add("Title", reader["CountryName"]);
// arrCountry.Add(hasCountry);
//}
//connection.Close();
DataSet ds = GetSQLData("EC_GetCountryList", true);
DataTable dt = ds.Tables[0];
foreach (DataRow drCountry in dt.Rows)
{
hasCountry = new Hashtable();
hasCountry.Add(AdminConstant.KEY_ID, drCountry["Id"]);
hasCountry.Add(AdminConstant.KEY_TITLE, drCountry["CountryName"]);
arrCountry.Add(hasCountry);
}
return arrCountry;
}
///
/// This function used to get all states (U.S.)
///
/// Array of all state List
public ArrayList GetAllUSStates()
{
ArrayList arrState = new ArrayList();
Hashtable hasState = null;
hasState = new Hashtable();
hasState.Add(AdminConstant.KEY_ID, 0);
hasState.Add(AdminConstant.KEY_TITLE, AdminConstant.TITLE_SELECT);
arrState.Add(hasState);
DataSet ds = GetSQLData("EC_GetStateList", true);
DataTable dt = ds.Tables[0];
foreach (DataRow drState in dt.Rows)
{
hasState = new Hashtable();
hasState.Add(AdminConstant.KEY_ID, drState["Id"]);
hasState.Add(AdminConstant.KEY_TITLE, drState["StateName"]);
arrState.Add(hasState);
}
return arrState;
}
///
/// This function used to get all edition type with "All" at the 0 index
///
/// array of all Edition Type
public ArrayList GetAllEditionTypes()
{
ArrayList arrEditionType = new ArrayList();
Hashtable hasEditionType = null;
hasEditionType = new Hashtable();
hasEditionType.Add(AdminConstant.KEY_ID, 0);
hasEditionType.Add(AdminConstant.KEY_TITLE, AdminConstant.TITLE_ALL);
arrEditionType.Add(hasEditionType);
DataSet ds = GetSQLData("getEditionData", true);
DataTable dt = ds.Tables[0];
foreach (DataRow drEdition in dt.Rows)
{
hasEditionType = new Hashtable();
hasEditionType.Add(AdminConstant.KEY_ID, drEdition["Id"]);
hasEditionType.Add(AdminConstant.KEY_TITLE, drEdition["Title"]);
arrEditionType.Add(hasEditionType);
}
return arrEditionType;
}
///
/// This function used to get all Secuirty Question type
///
/// array of all security question
public ArrayList GetSecuirtyQuestionsList()
{
ArrayList arrQuestionType = new ArrayList();
Hashtable hasQuestionType = new Hashtable();
hasQuestionType.Add(AdminConstant.KEY_ID, 0);
hasQuestionType.Add(AdminConstant.KEY_TITLE, AdminConstant.TITLE_SELECT);
arrQuestionType.Add(hasQuestionType);
DataSet ds = GetSQLData("EC_GetSecurityQuestionList", true);
DataTable dt = ds.Tables[0];
foreach (DataRow drSQ in dt.Rows)
{
hasQuestionType = new Hashtable();
hasQuestionType.Add(AdminConstant.KEY_ID, drSQ["Id"]);
hasQuestionType.Add(AdminConstant.KEY_TITLE, drSQ["Title"]);
arrQuestionType.Add(hasQuestionType);
}
return arrQuestionType;
}
///
/// This function use to get all License type
///
/// array of License Types
public ArrayList GetAllLicenseType()
{
//ArrayList arrLicenseType = new ArrayList();
//Hashtable hasLicenseType = null;
//hasLicenseType = new Hashtable();
//hasLicenseType.Add(HelperConst.KEY_ID, 0);
//hasLicenseType.Add(HelperConst.KEY_TITLE, HelperConst.TITLE_ALL);
//arrLicenseType.Add(hasLicenseType);
ArrayList arrLicenseType = new ArrayList();
Hashtable hasLicenseType = null;
hasLicenseType = new Hashtable();
hasLicenseType.Add(AdminConstant.KEY_ID, 0);
hasLicenseType.Add(AdminConstant.KEY_TITLE, AdminConstant.TITLE_ALL);
arrLicenseType.Add(hasLicenseType);
string sqlCommand = "SELECT lic.Id, lic.Title FROM LicenseType lic WHERE isActive=1";
DataSet ds = GetSQLData(sqlCommand, false);
DataTable dt = ds.Tables[0];
foreach (DataRow drLicenseType in dt.Rows)
{
hasLicenseType = new Hashtable();
hasLicenseType.Add(AdminConstant.KEY_ID, drLicenseType["Id"]);
hasLicenseType.Add(AdminConstant.KEY_TITLE, drLicenseType["Title"]);
arrLicenseType.Add(hasLicenseType);
}
return arrLicenseType;
}
public int UpdateUserProfile(int intUserID, string strEmailID, string strFirstName, string strLastName) //, int intLicenseId
{
int rowsUpdated = 0;
int userId = 0;
string fName = string.Empty;
string lName = string.Empty;
string email = string.Empty;
//foreach (KeyValuePair obj in userInfo)
//{
// if (obj.Key == "")
// userId = Convert.ToInt32(obj.Value);
// if (obj.Key == "")
// fName = obj.Value.ToString();
// if (obj.Key == "")
// lName = obj.Value.ToString();
// if (obj.Key == "EMAIL")
// email = obj.Value.ToString();
//}
try
{
using (connection = new SqlConnection(dbConnectionString))
{
using (command = connection.CreateCommand())
//new SqlCommand("UPDATE AIAUser SET FirstName = @FirstName, LastName = @LastName, EmailId = @EmailId, ModifierId = @ModifierId, ModifiedDate = GETDATE() WHERE(Id = @iUserId)", connection))
{
command.CommandText = "UPDATE AIAUser SET FirstName = @FirstName, LastName = @LastName, EmailId = @EmailId, ModifierId = @ModifierId, ModifiedDate = GETDATE() WHERE(Id = @iUserId)";
command.Parameters.AddWithValue("@FirstName", strFirstName);
command.Parameters.AddWithValue("@LastName", strLastName);
command.Parameters.AddWithValue("@EmailId", strEmailID);
command.Parameters.AddWithValue("@ModifierId", intUserID);
command.Parameters.AddWithValue("@iUserId", intUserID);
connection.Open();
rowsUpdated = command.ExecuteNonQuery(); //rows number of record got updated
connection.Close();
}
}
}
catch (SqlException ex)
{
rowsUpdated = 0;
}
return rowsUpdated;
}
public int UpdateUserProfile(int intUserID, string strEmailID, string strFirstName, string strLastName, int intLicenseId)
{
int rowsUpdated = 0;
try
{
using (connection = new SqlConnection(dbConnectionString))
{
connection.Open();
using (SqlCommand cmd =
new SqlCommand("UPDATE AIAUser SET FirstName = @FirstName, LastName = @LastName, EmailId = @EmailId, ModifierId = @ModifierId, ModifiedDate = GETDATE() WHERE(Id = @iUserId)", connection))
{
cmd.Parameters.AddWithValue("@FirstName", strFirstName);
cmd.Parameters.AddWithValue("@LastName", strLastName);
cmd.Parameters.AddWithValue("@EmailId", strEmailID);
cmd.Parameters.AddWithValue("@ModifierId", intUserID);
cmd.Parameters.AddWithValue("@iUserId", intUserID);
rowsUpdated = cmd.ExecuteNonQuery();
connection.Close();
//rows number of record got updated
}
}
}
catch (SqlException ex)
{
rowsUpdated = 0;
}
return rowsUpdated;
}
public string GetUserInfoByIDandLoginId(int intUserId, string sLoginId)
{
string result = string.Empty;
try
{
using (connection = new SqlConnection(dbConnectionString))
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
result = "Opened";
}
string query = "SELECT ISNULL(CreationDate,'') as CreationDate, CreatorId, ISNULL(DeactivationDate, '') as DeactivationDate, EmailId, FirstName, Id, IsActive, LastName, LoginId, ISNULL(ModifiedDate, '') as ModifiedDate , ModifierId, Password, SecurityAnswer, SecurityQuestionId, UserTypeId FROM AIAUser WHERE(Id = " + intUserId + ") AND (LoginId = '" + sLoginId + "')";
using (command = connection.CreateCommand())
{
command.CommandText = "SELECT ISNULL(CreationDate,'') as CreationDate, CreatorId, ISNULL(DeactivationDate, '') as DeactivationDate, EmailId, FirstName, Id, IsActive, LastName, LoginId, ISNULL(ModifiedDate, '') as ModifiedDate , ModifierId, Password, SecurityAnswer, SecurityQuestionId, UserTypeId FROM AIAUser WHERE(Id = @Id) AND(LoginId = @sLoginName)";
command.Parameters.AddWithValue("@Id", intUserId);
command.Parameters.AddWithValue("@sLoginName", sLoginId);
command.ExecuteNonQuery();
using (SqlDataReader reader = command.ExecuteReader())
{
if (!reader.Read())
throw new InvalidOperationException("No records were returned.");
if (reader.Read())
throw new InvalidOperationException("Multiple records were returned.");
else
{
user.Id = Convert.ToInt32(reader["Id"]);
user.FirstName = Convert.ToString(reader["FirstName"]);
user.LastName = Convert.ToString(reader["LastName"]);
user.EmailId = Convert.ToString(reader["EmailId"]);
user.CreationDate = Convert.ToDateTime(reader["CreationDate"]);
user.CreatorId = Convert.ToInt32(reader["CreatorId"]);
user.DeactivationDate = Convert.ToDateTime(reader["DeactivationDate"]);
user.LoginId = Convert.ToString(reader["LoginId"]);
user.Password = Convert.ToString(reader["Password"]);
user.SecurityAnswer = Convert.ToString(reader["SecurityAnswer"]);
user.SecurityQuestionId = Convert.ToInt32(reader["SecurityQuestionId"]);
user.UserTypeId = Convert.ToInt32(reader["UserTypeId"]);
user.IsActive = Convert.ToBoolean(reader["IsActive"]);
//if (reader.HasRows)
//{
// string json = JsonConvert.SerializeObject(reader, Formatting.Indented);
// result = json;
//}
result = JsonConvert.SerializeObject(user);
}
reader.Close();
}
}
connection.Close();
}
//using (command =
// new SqlCommand("SELECT ISNULL(CreationDate,'') as CreationDate, CreatorId, ISNULL(DeactivationDate, '') as DeactivationDate, EmailId, FirstName, Id, IsActive, LastName, LoginId, ISNULL(ModifiedDate, '') as ModifiedDate , ModifierId, Password, SecurityAnswer, SecurityQuestionId, UserTypeId FROM AIAUser WHERE(Id = @Id) AND(LoginId = @sLoginName)", connection))
// {
// command.Parameters.AddWithValue("@Id", intUserId);
// command.Parameters.AddWithValue("@sLoginName", sLoginId);
// //connection.Open();
// command.ExecuteNonQuery();
// SqlDataReader userReader = command.ExecuteReader();
// using (userReader)
// {
// while (userReader.Read())
// {
// User user = new User();
// user.Id = Convert.ToInt32(userReader["Id"]);
// user.FirstName = userReader["FirstName"].ToString().Trim();
// user.LastName = userReader["LastName"].ToString().Trim();
// user.EmailId = userReader["EmailId"].ToString().Trim();
// user.LoginId = userReader["LoginId"].ToString().Trim();
// user.Password = userReader["Password"].ToString().Trim();
// user.SecurityQuestionId = Convert.ToInt32(userReader["SecurityQuestionId"]);
// user.SecurityAnswer = userReader["SecurityAnswer"].ToString().Trim();
// user.CreatorId = Convert.ToInt32(userReader["CreatorId"]);
// user.CreationDate = Convert.ToDateTime(userReader["CreationDate"]);
// user.DeactivationDate = Convert.ToDateTime(userReader["DeactivationDate"]);
// user.ModifierId = Convert.ToInt32(userReader["ModifierId"]);
// user.ModifiedDate = Convert.ToDateTime(userReader["ModifiedDate"]);
// user.UserTypeId = Convert.ToInt32(userReader["UserTypeId"]);
// user.IsActive = Convert.ToBoolean(userReader["IsActive"]);
// //var r = Serialize(userReader);
// string json = JsonConvert.SerializeObject(userReader, Formatting.Indented);
// result = json;
// }
// }
// }
//}
}
catch (SqlException ex)
{ }
return result;
}
public string GetUserInfoByIDandLoginId2(int intUserId, string sLoginId)
{
string res = string.Empty;
string query = "SELECT ISNULL(CreationDate,'') as CreationDate, CreatorId, ISNULL(DeactivationDate, '') as DeactivationDate, EmailId, FirstName, Id, IsActive, LastName, LoginId, ISNULL(ModifiedDate, '') as ModifiedDate , ModifierId, Password, SecurityAnswer, SecurityQuestionId, UserTypeId FROM AIAUser WHERE(Id = " + intUserId + ") AND (LoginId = '" + sLoginId + "')";
connection = new SqlConnection(dbConnectionString);
command = new SqlCommand(query, connection);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = command;
DataTable dt = new DataTable();
da.Fill(dt);
connection.Close();
string JSONresult;
JSONresult = JsonConvert.SerializeObject(dt);
return JSONresult;
}
public int UpdateUserID(int iUserId, string sLoginId)
{
int rowsUpdated = 0;
try
{
using (connection = new SqlConnection(dbConnectionString))
{
using (command = connection.CreateCommand())
{
command.CommandText = "UPDATE AIAUser SET LoginId= @sNewLoginId, ModifierId=@iModifierUserId WHERE (id = @iUserId)";
command.Parameters.AddWithValue("@iUserId", iUserId);
command.Parameters.AddWithValue("@iModifierUserId", iUserId);
command.Parameters.AddWithValue("@sNewLoginId", sLoginId);
connection.Open();
rowsUpdated = command.ExecuteNonQuery(); //rows number of record got updated
connection.Close();
}
}
}
catch (SqlException ex)
{
rowsUpdated = 0;
}
return rowsUpdated;
}
public string GetUserDetailsByLoginIDandPassword(string sLoginId, string sPassword)
{
string uDetail = string.Empty;
try
{
String query = "SELECT CreationDate, CreatorId, DeactivationDate, EmailId, FirstName, Id, IsActive, LastName, LoginId, ModifiedDate, ModifierId, Password, SecurityAnswer, SecurityQuestionId, UserTypeId FROM AIAUser WHERE(LoginId = '" + sLoginId + "') AND(Password = '" + sPassword + "')";
//connection = new SqlConnection(dbConnectionString);
//command = new SqlCommand(query, connection);
//connection.Open();
//SqlDataReader reader = command.ExecuteReader();
//while (reader.Read())
//{
// if(reader.HasRows)
// uDetail = JsonConvert.SerializeObject(reader, Formatting.Indented);
//}
using (connection = new SqlConnection(dbConnectionString))
{
connection.Open();
//string query = "SELECT ISNULL(CreationDate,'') as CreationDate, CreatorId, ISNULL(DeactivationDate, '') as DeactivationDate, EmailId, FirstName, Id, IsActive, LastName, LoginId, ISNULL(ModifiedDate, '') as ModifiedDate , ModifierId, Password, SecurityAnswer, SecurityQuestionId, UserTypeId FROM AIAUser WHERE(Id = " + intUserId + ") AND (LoginId = '" + sLoginId + "')";
//using (command = connection.CreateCommand())
using (command = connection.CreateCommand())
{
command.CommandText = "SELECT CreationDate, CreatorId, DeactivationDate, EmailId, FirstName, Id, IsActive, LastName, LoginId, ModifiedDate, ModifierId, Password, SecurityAnswer, SecurityQuestionId, UserTypeId FROM AIAUser WHERE (LoginId = @iLoginId) AND (Password = @sPassword)";
command.Parameters.AddWithValue("@iLoginId", sLoginId);
command.Parameters.AddWithValue("@sPassword", sPassword);
command.CommandType = CommandType.Text;
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
string json = JsonConvert.SerializeObject(reader, Formatting.Indented);
uDetail = json;
}
}
}
connection.Close();
}
catch (SqlException ex)
{
}
return uDetail;
}
public int UpdateUserPassword(int iUserId, string sPassword )
{
int rowsUpdated = 0;
try
{
using (connection = new SqlConnection(dbConnectionString))
{
using (command = connection.CreateCommand())
{
command.CommandText = "UPDATE AIAUser SET Password = @sPassword, ModifierId = @iModifierUserId WHERE(id = @iUserId)";
command.Parameters.AddWithValue("@iUserId", iUserId);
command.Parameters.AddWithValue("@iModifierUserId", iUserId);
command.Parameters.AddWithValue("@sPassword", sPassword);
connection.Open();
rowsUpdated = command.ExecuteNonQuery(); //rows number of record got updated
connection.Close();
}
}
}
catch (SqlException ex)
{
rowsUpdated = 0;
}
return rowsUpdated;
}
}
}