You are on page 1of 9

UserDTO.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Backend.

DTO { /// <summary> /// Summary description for UserDTO /// </summary> public class UserDTO { public UserDTO() { // // TODO: Add constructor logic here // } private int _id; private string _loginId; private string _password; private string _firstName; private string _lastName; private DateTime _dateOfBirth; private string _gender; private string _email; private string _userType; private DateTime _registeredDate; private bool _isActive; private string _resetPasswordKey;

public int Id { get { return _id; } set { _id = value; }

public string LoginId { get { return _loginId; } set { _loginId = value; } } public string Password { get { return _password; } set { _password = value; } } public string FirstName { get { return _firstName; } set { _firstName = value; } } public string LastName { get { return _lastName; } set { _lastName = value; } } public DateTime DateOfBirth { get { return _dateOfBirth; } set { _dateOfBirth = value; } }

public string Gender { get { return _gender; } set { _gender = value; } }

public string Email { get { return _email; } set { _email = value; } } public string UserType { get { return _userType; } set { _userType = value; } } public DateTime RegisteredDate { get { return _registeredDate; } set { _registeredDate = value; } } public bool IsActive { get { return _isActive; } set { _isActive = value; } } public string ResetPasswordKey { get { return _resetPasswordKey; } set { _resetPasswordKey = value; } } } } UserDAL.cs: using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Configuration;

using Backend.DTO; using System.Data; namespace Backend.DAL { class UserDAL { private SqlConnection sqlConnection;

public UserDAL() { DbConn aConn = new DbConn(); sqlConnection = aConn.GetUssdSqlConnection; } public string AddUser(UserDTO aUser) { int insertId = 0; try { sqlConnection.Open(); string sql = "INSERT INTO Users(LoginId, Password, FirstName, LastName, DateOfBi rth, Gender, Email, UserType, RegisteredDate, IsActive) " +"VALUES(@loginId, @pa ssword, @firstName, @lastName, @dateOfBirth, @gender, @email, @userType, @regist eredDate, @isActive)"; SqlCommand command = new SqlCommand(sql, sqlConnection); command.Parameters.AddWithValue("loginId", aUser.LoginId); command.Parameters.AddWithValue("password", aUser.Password); command.Parameters.AddWithValue("firstName", aUser.FirstName); command.Parameters.AddWithValue("lastName", aUser.LastName); command.Parameters.AddWithValue("dateOfBirth", aUser.DateOfBirth); command.Parameters.AddWithValue("gender", aUser.Gender); command.Parameters.AddWithValue("email", aUser.Email); command.Parameters.AddWithValue("userType", aUser.UserType); command.Parameters.AddWithValue("registeredDate", aUser.RegisteredDate);

command.Parameters.AddWithValue("isActive", aUser.IsActive); insertId = command.ExecuteNonQuery(); if (insertId > 0) { return "success"; } else { return "Unknown error occourd."; } } catch (SqlException sqlException) { throw sqlException; } catch (Exception ex) { throw ex; } finally { if (sqlConnection.State != ConnectionState.Closed) { sqlConnection.Close(); } } } public bool UpdateUser(string field, string value, int id) { try {

sqlConnection.Open();

SqlCommand command = new SqlCommand("UPDATE Users SET " + field + " = @resetPasswordKey WHERE Id=@userId", sqlConnection);

command.Parameters.AddWithValue("resetPasswordKey", value);

command.Parameters.AddWithValue("userId", id);

command.ExecuteNonQuery(); return true; } catch (Exception ex) { throw ex; } finally { if (sqlConnection.State != ConnectionState.Closed) { sqlConnection.Close(); } } } public void DeleteUser(int deleteId) { try { sqlConnection.Open();

SqlCommand command = new SqlCommand("DELETE FROM Users WHERE Id = @id", sqlConnection); command.Parameters.AddWithValue("id", deleteId);

command.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { if (sqlConnection.State != ConnectionState.Closed) { sqlConnection.Close(); } } } } } UserBLL.cs: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web; using Backend.DAL; using Backend.DTO;

namespace Backend.BLL { public class UserBLL { public UserBLL() { // // TODO: Add constructor logic here // } private UserDAL userDAL = new UserDAL();

public string AddUser(UserDTO aUser) {

/* validate business logic */ if (userDAL.IsLoginIdExist(aUser.LoginId)) { return "Login Id already taken by another user. Please try a dif ferent one."; }

if (userDAL.IsEmailExist(aUser.Email)) { return "Email Address already exists"; }

try { return userDAL.AddUser(aUser); } catch (Exception ex) { throw ex; } }

public bool UpdateUser(string field, string value, int id) { try { return userDAL.UpdateUser(field, value, id); } catch (Exception ex) { throw ex; } }

public void DeleteUser(int deleteId) { try { userDAL.DeleteUser(deleteId); } catch (Exception ex) { throw ex; } } } }

You might also like