|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace DataLayer
{
public class UserRepository: IUserRepository
{
//Change connection string as per your sql server
//Store it in App.Config
private const string strConection = "Data Source=localhost;Initial Catalog=test;User Id=testUser;Password=welcome;";
#region IUserRepository Members
/// <summary>
/// Returns Total Number of Users using Stored Procedure "SampleDb_TotalUsers"
/// </summary>
/// <returns>int</returns>
public int GetTotalUsers()
{
try
{
int totalUsers = -1;
SqlConnection myCon = new SqlConnection(strConection);
myCon.Open();
SqlCommand com = new SqlCommand();
com.Connection = myCon;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "SampleDb_TotalUsers";
SqlParameter paramOut = new SqlParameter("@TotalUsers", DbType.Int32);
paramOut.Direction = ParameterDirection.Output;
com.Parameters.Add(paramOut);
com.ExecuteNonQuery();
if (com.Parameters["@TotalUsers"] != null)
{
totalUsers = Convert.ToInt32(com.Parameters["@TotalUsers"].Value);
}
myCon.Close();
return totalUsers;
}
catch (SqlException sExp)
{
throw new Exception(sExp.ToString());
}
catch (Exception exp)
{
throw new Exception(exp.ToString());
}
}
/// <summary>
/// Inserts new user
/// </summary>
/// <param name="fName">string</param>
/// <param name="lName">string</param>
public void AddNewUser(string fName, string lName)
{
try
{
SqlConnection myCon = new SqlConnection(strConection);
myCon.Open();
SqlCommand com = new SqlCommand();
com.Connection = myCon;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "SampleDb_AddUser";
SqlParameter paramFirstName = new SqlParameter("@FirstName", SqlDbType.NVarChar, 50);
paramFirstName.Value = fName;
paramFirstName.Direction = ParameterDirection.Input;
com.Parameters.Add(paramFirstName);
SqlParameter paramLastName = new SqlParameter("@LastName", SqlDbType.NVarChar, 50);
paramLastName.Value = lName;
paramLastName.Direction = ParameterDirection.Input;
com.Parameters.Add(paramLastName);
com.ExecuteNonQuery();
myCon.Close();
}
catch (SqlException sExp)
{
throw new Exception(sExp.ToString());
}
catch (Exception exp)
{
throw new Exception(exp.ToString());
}
}
/// <summary>
/// Deletes user based on ID
/// </summary>
/// <param name="userID"></param>
public void DeleteUser(int userID)
{
try
{
SqlConnection myCon = new SqlConnection(strConection);
myCon.Open();
SqlCommand com = new SqlCommand();
com.Connection = myCon;
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "SampleDb_DeleteUser";
SqlParameter paramUserID = new SqlParameter("@UserID", SqlDbType.Int,32);
paramUserID.Value = userID;
paramUserID.Direction = ParameterDirection.Input;
com.Parameters.Add(paramUserID);
com.ExecuteNonQuery();
myCon.Close();
}
catch (SqlException sExp)
{
throw new Exception(sExp.ToString());
}
catch (Exception exp)
{
throw new Exception(exp.ToString());
}
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Milan has been developing commercial applications over a decade primarily on Windows platform. When not programming, he loves to test his physical endurance - running far away to unreachable distance or hiking up in the mountains to play with Yaks and wanting to teach 'Yeti' programming!