PRESENTATION Layer


  1. #region Used namespaces
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Data;
  9. using System.Data.SqlClient;
  10. using WebWareHouseBLL;#endregion Used namespaces
  11. namespace WebWareHouse {
  12. public partial class ShoppingCart: System.Web.UI.Page {
  13. int custId;#region On Page Load
  14. protected void Page_Load(object sender, EventArgs e) {
  15. if (!IsPostBack) {
  16. BindData();
  17. }
  18. }#endregion On Page Load
  19. #region BindData
  20. public DataSet BindData() {
  21. custId = Convert.ToInt32(Session["CustomerId"]);
  22. ShopingCartBLL cartObj = new ShopingCartBLL();
  23. cartObj.UserId = custId;
  24. DataSet dsitem = cartObj.GetAllCartitems();
  25. gdShoppingCart.DataSource = dsitem.Tables[0];
  26. gdShoppingCart.DataBind();
  27. return dsitem;
  28. }#endregion BindData
  29. protected void gdShoppingCart_SelectedIndexChanged(object sender, EventArgs e) {}
  30. protected void btnCheckout_Click(object sender, EventArgs e) {}
  31. #region Row Updating
  32. protected void gdShoppingCart_RowUpdating(object sender, GridViewUpdateEventArgs e) {
  33. bool result;
  34. custId = Convert.ToInt32(Session["CustomerId"]);
  35. ShopingCartBLL cartObj = new ShopingCartBLL();
  36. cartObj.BookId = Convert.ToInt32(gdShoppingCart.Rows[e.RowIndex].Cells[0].Text);
  37. cartObj.Title = gdShoppingCart.Rows[e.RowIndex].Cells[1].Text;
  38. cartObj.Price = Convert.ToDouble(gdShoppingCart.Rows[e.RowIndex].Cells[2].Text);
  39. TextBox txtQuantity = (TextBox)(gdShoppingCart.Rows[e.RowIndex].Cells[3].Controls[0]);
  40. cartObj.Quantity = Convert.ToInt32(txtQuantity.Text);
  41. //cartObj.Amount = Convert.ToDouble(gdShoppingCart.Rows[e.RowIndex].Cells[4].Text);
  42. cartObj.UserId = custId; //replace it with session or pass url
  43. result = cartObj.UpdateAnItem();
  44. if (result) {
  45. string script = "<script>alert('UpDated')</script>";
  46. Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "UpDated", script);
  47. gdShoppingCart.EditIndex = -1;
  48. BindData();
  49. } else {
  50. string script = "<script>alert('UpDated Failed')</script>";
  51. Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "UpDated", script);
  52. }
  53. }#endregion Row Updating
  54. #region Row Editing
  55. protected void gdShoppingCart_RowEditing(object sender, GridViewEditEventArgs e) {
  56. gdShoppingCart.EditIndex = e.NewEditIndex;
  57. BindData();
  58. }#endregion Row Editing
  59. #region Row Deleting
  60. protected void gdShoppingCart_RowDeleting(object sender, GridViewDeleteEventArgs e) {
  61. bool result;
  62. custId = Convert.ToInt32(Session["CustomerId"]);
  63. ShopingCartBLL cartObj = new ShopingCartBLL();
  64. string delete = gdShoppingCart.Rows[e.RowIndex].Cells[0].Text;
  65. cartObj.BookId = Convert.ToInt32(delete);
  66. cartObj.UserId = custId;
  67. result = cartObj.RemoveAnItem();
  68. if (result) {
  69. string script = "<script>alert('Deleted')</script>";
  70. Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "deleted", script);
  71. gdShoppingCart.EditIndex = -1;
  72. BindData();
  73. } else {
  74. string script = "<script>alert('Deletion Failed')</script>";
  75. Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "failed", script);
  76. }
  77. }#endregion Row Deleting
  78. #region Row Cancelling
  79. protected void gdShoppingCart_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {
  80. gdShoppingCart.EditIndex = -1;
  81. BindData();
  82. }#endregion ROw Cancelling
  83. #region Row DataBound
  84. protected void gdShoppingCart_RowDataBound(object sender, GridViewRowEventArgs e) {}
  85. decimal total = 0;
  86. decimal shippingpercentage;
  87. protected void gdShoppingCart_RowDataBound1(object sender, GridViewRowEventArgs e) {
  88. if (e.Row.RowType == DataControlRowType.DataRow) {
  89. Label lblprice = (Label) e.Row.FindControl("lblAmount");
  90. decimal price = decimal.Parse(lblprice.Text);
  91. total += price;
  92. }
  93. if (e.Row.RowType == DataControlRowType.Footer) {
  94. TextBox lbltotalprice = (TextBox) e.Row.FindControl("txtTotalAmount");
  95. DropDownList ddlshipping = (DropDownList) e.Row.FindControl("ddlShipping");
  96. DataSet dsCreditCard = new DataSet();
  97. dsCreditCard.ReadXml(Server.MapPath("ShippingXml.xml"));
  98. ddlshipping.DataSource = dsCreditCard;
  99. ddlshipping.DataTextField = "text";
  100. ddlshipping.DataValueField = "value";
  101. ddlshipping.DataBind();
  102. shippingpercentage = decimal.Parse(ddlshipping.SelectedItem.Text);
  103. shippingpercentage = shippingpercentage / 100;
  104. total = total + total * Convert.ToDecimal(shippingpercentage);
  105. lbltotalprice.Text = total.ToString();
  106. TextBox txtShippingCharge = (TextBox) e.Row.FindControl("txtShipping");
  107. shippingpercentage = shippingpercentage * 100;
  108. txtShippingCharge.Text = Convert.ToString(shippingpercentage);
  109. }
  110. }#endregion Row DataBound
  111. protected void gdShoppingCart_PageIndexChanging(object sender, GridViewPageEventArgs e) {
  112. gdShoppingCart.PageIndex = e.NewPageIndex;
  113. BindData();
  114. }
  115. protected void gdShoppingCart_SelectedIndexChanged1(object sender, EventArgs e) {
  116. }
  117. protected void txtShipping_DataBinding(object sender, EventArgs e) {
  118. }
  119. protected void btnCheckOut_Click1(object sender, EventArgs e) {
  120. int cusid;
  121. double amount;
  122. cusid = Convert.ToInt32(Session["CustomerId"].ToString());
  123. TextBox txtBox = (TextBox)(gdShoppingCart.FooterRow.FindControl("txtTotalAmount"));
  124. amount = double.Parse(txtBox.Text);
  125. Response.Redirect(string.Format("CreditCheck.aspx?id=" + cusid + "&amount=" + amount));
  126. }
  127. }
  128. }
BUSINESS LOGIC LAYER
  1. #region Used Namespace
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Data;
  8. using System.Data.SqlClient;
  9. using WebWareHouseDAL;#endregion Used Namespace
  10. namespace WebWareHouseBLL {
  11. public class ShopingCartBLL {#region Public Properties
  12. /// <summary>
  13. /// userid of user
  14. /// </summary>
  15. public int UserId {
  16. get;
  17. set;
  18. }
  19. /// <summary>
  20. /// Book title of Selected Book
  21. /// </summary>
  22. public string Title {
  23. get;
  24. set;
  25. }
  26. /// <summary>
  27. /// book id of selected
  28. /// </summary>
  29. public int BookId {
  30. get;
  31. set;
  32. }
  33. /// <summary>
  34. /// price of selected book
  35. /// </summary>
  36. public double Price {
  37. get;
  38. set;
  39. }
  40. /// <summary>
  41. /// number of quantity of book selected
  42. /// </summary>
  43. public int Quantity {
  44. get;
  45. set;
  46. }
  47. /// <summary>
  48. /// Amount ,quantity of book times price of book
  49. /// </summary>
  50. public double Amount {
  51. get;
  52. set;
  53. }#endregion Public Properties
  54. #region Methods
  55. #region Get All Cart Items
  56. public DataSet GetAllCartitems() {
  57. ShopingCartDAL cartObj = new ShopingCartDAL();
  58. cartObj.UserId = UserId;
  59. DataSet dsitem = cartObj.GetAllCartitems();
  60. return dsitem;
  61. }#endregion Get All Cart Items
  62. #region Remove An Item
  63. public bool RemoveAnItem() {
  64. bool flag;
  65. ShopingCartDAL removeObj = new ShopingCartDAL();
  66. removeObj.BookId = BookId;
  67. removeObj.UserId = UserId;
  68. DataSet dsitem = new DataSet();
  69. flag = removeObj.RemoveAnItem();
  70. return flag;
  71. }#endregion Remove An Item
  72. #region Update An Item
  73. public bool UpdateAnItem() {
  74. bool flag;
  75. ShopingCartDAL updateObj = new ShopingCartDAL();
  76. updateObj.BookId = BookId;
  77. updateObj.UserId = UserId;
  78. updateObj.Title = Title;
  79. updateObj.Price = Price;
  80. updateObj.Quantity = Quantity;
  81. NewAmount();
  82. Amount = NewAmount();
  83. updateObj.Amount = Amount;
  84. DataSet dsitem = new DataSet();
  85. flag = updateObj.UpdateAnItem();
  86. return flag;
  87. }#endregion Update An Item
  88. #region Calculate New Amount
  89. public double NewAmount() {
  90. Amount = Quantity * Price;
  91. return Amount;
  92. }#endregion Calculate New Amount
  93. #region AddtoCartInsertion
  94. public bool AddToCart() {
  95. bool flag;
  96. ShopingCartDAL cartObj = new ShopingCartDAL();
  97. cartObj.UserId = UserId;
  98. cartObj.BookId = BookId;
  99. cartObj.Price = Price;
  100. cartObj.Quantity = Quantity;
  101. cartObj.Amount = Amount;
  102. flag = cartObj.AddToCart();
  103. return flag;
  104. }#endregion AddtoCartInsertion
  105. public bool IsExistingBook() {
  106. bool result;
  107. ShopingCartDAL dalObj = new ShopingCartDAL();
  108. dalObj.BookId = BookId;
  109. dalObj.UserId = UserId;
  110. result = dalObj.CheckExistingBoolInCart();
  111. return result;
  112. }
  113. public bool DeleteCart() {
  114. bool flag;
  115. ShopingCartDAL dalobj = new ShopingCartDAL();
  116. dalobj.UserId = UserId;
  117. flag = dalobj.DeleteCart();
  118. return flag;
  119. }
  120. #endregion Methods
  121. }
  122. }
DATA ACESS LAYER
  1. #region Uesd Namespace
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Data;
  8. using System.Data.SqlClient;#endregion Used Namespace
  9. namespace WebWareHouseDAL {
  10. public class ShopingCartDAL {#region Public Properties
  11. /// <summary>
  12. /// userid of user
  13. /// </summary>
  14. public int UserId {
  15. get;
  16. set;
  17. }
  18. /// <summary>
  19. /// Book title of Selected Book
  20. /// </summary>
  21. public string Title {
  22. get;
  23. set;
  24. }
  25. /// <summary>
  26. /// book id of selected
  27. /// </summary>
  28. public int BookId {
  29. get;
  30. set;
  31. }
  32. /// <summary>
  33. /// price of selected book
  34. /// </summary>
  35. public double Price {
  36. get;
  37. set;
  38. }
  39. /// <summary>
  40. /// number of quantity of book selected
  41. /// </summary>
  42. public int Quantity {
  43. get;
  44. set;
  45. }
  46. /// <summary>
  47. /// Amount ,quantity of book times price of book
  48. /// </summary>
  49. public double Amount {
  50. get;
  51. set;
  52. }#endregion Public Properties#region Methods
  53. #region GetAllCartItems
  54. /// <summary>
  55. /// To get all cart items of a user
  56. /// </summary>
  57. /// <returns>dataset of cart items</returns>
  58. public DataSet GetAllCartitems() {
  59. SqlDataAdapter daitems;
  60. SqlCommand cmd;
  61. SqlConnection conObj = null;
  62. DataSet dsitems = null;
  63. try { //replace userid with session id or pass id in selectquery
  64. conObj = WareHouseDBConnection.GetDbConnection();
  65. conObj.Open();
  66. string selectQuerty = "select a.car_bookid,b.boo_title,a.car_price,a.car_quantity,a.car_amount,b.boo_id from web_cartmanagement a JOIN web_bookmanagement b ON a.car_bookid = b.boo_id where car_userid=@custid";
  67. cmd = new SqlCommand(selectQuerty, conObj);
  68. SqlParameter sqlparam1 = cmd.Parameters.AddWithValue("@custid", UserId);
  69. daitems = new SqlDataAdapter(cmd);
  70. dsitems = new DataSet();
  71. daitems.Fill(dsitems);
  72. } catch (Exception es) {
  73. throw es;
  74. } finally {
  75. conObj.Close();
  76. }
  77. return dsitems;
  78. }#endregion GetAllCartItems
  79. #region Remove An Item
  80. /// <summary>
  81. /// To remove an item from users cart
  82. /// </summary>
  83. /// <returns>true/false</returns>
  84. public bool RemoveAnItem() {
  85. String removeString;
  86. SqlCommand cmdremove;
  87. int rowsaffected;
  88. SqlConnection conobj = null;
  89. bool result = false;
  90. try {
  91. removeString = "procDeleteACart";
  92. conobj = WareHouseDBConnection.GetDbConnection();
  93. cmdremove = new SqlCommand(removeString, conobj);
  94. cmdremove.CommandType = CommandType.StoredProcedure;
  95. conobj.Open();
  96. cmdremove.Connection = conobj;
  97. SqlParameter sqlparam1 = cmdremove.Parameters.AddWithValue("@userid", UserId);
  98. SqlParameter sqlparam2 = cmdremove.Parameters.AddWithValue("@bookid", BookId);
  99. rowsaffected = cmdremove.ExecuteNonQuery();
  100. if (rowsaffected > 0) {
  101. result = true;
  102. } else {
  103. result = false;
  104. }
  105. } catch (Exception es) {
  106. throw es;
  107. } finally {
  108. conobj.Close();
  109. }
  110. return result;
  111. }#endregion Remove An Item
  112. #region Update An Item
  113. /// <summary>
  114. /// To update number of Quantity of item And hence Amount
  115. /// </summary>
  116. /// <returns></returns>
  117. public bool UpdateAnItem() {
  118. string updateQuery;
  119. int rowsAffected;
  120. SqlCommand cmdupdate;
  121. SqlConnection conobj = null;
  122. bool result = false;
  123. try {
  124. updateQuery = "procUpdateACart";
  125. conobj = WareHouseDBConnection.GetDbConnection();
  126. cmdupdate = new SqlCommand(updateQuery, conobj);
  127. cmdupdate.CommandType = CommandType.StoredProcedure;
  128. conobj.Open();
  129. cmdupdate.Connection = conobj;
  130. SqlParameter sqlparam1 = cmdupdate.Parameters.AddWithValue("@quantity", Quantity);
  131. SqlParameter sqlparam2 = cmdupdate.Parameters.AddWithValue("@userid", UserId);
  132. SqlParameter sqlparam3 = cmdupdate.Parameters.AddWithValue("@bookid", BookId);
  133. SqlParameter sqlparam4 = cmdupdate.Parameters.AddWithValue("@amount", Amount);
  134. rowsAffected = cmdupdate.ExecuteNonQuery();
  135. if (rowsAffected > 0) {
  136. result = true;
  137. } else {
  138. result = false;
  139. }
  140. } catch (Exception es) {
  141. throw es;
  142. } finally {
  143. conobj.Close();
  144. }
  145. return result;
  146. }
  147. #endregion Update An Item
  148. #region AddtoCartInsertion
  149. public bool AddToCart() {
  150. SqlCommand cmd;
  151. string insertQuery;
  152. int numRows;
  153. bool result;
  154. SqlConnection con = null;
  155. try {
  156. con = WareHouseDBConnection.GetDbConnection();
  157. con.Open();
  158. insertQuery = "procInsertToCart";
  159. cmd = new SqlCommand(insertQuery, con);
  160. cmd.CommandType = CommandType.StoredProcedure;
  161. SqlParameter sqlParam1 = cmd.Parameters.AddWithValue("@userid", UserId);
  162. SqlParameter sqlParam2 = cmd.Parameters.AddWithValue("@bookid", BookId);
  163. SqlParameter sqlParam3 = cmd.Parameters.AddWithValue("@price", Price);
  164. SqlParameter sqlParam4 = cmd.Parameters.AddWithValue("@quantity", Quantity);
  165. SqlParameter sqlparam5 = cmd.Parameters.AddWithValue("@amount", Amount);
  166. numRows = cmd.ExecuteNonQuery();
  167. if (numRows > 0) {
  168. result = true;
  169. } else {
  170. result = false;
  171. }
  172. } catch (SqlException ex) {
  173. throw ex;
  174. } finally {
  175. con.Close();
  176. }
  177. return result;
  178. }
  179. #endregion AddtoCartInsertion
  180. public bool CheckExistingBoolInCart() {
  181. string selectQuery;
  182. SqlCommand cmdSelect;
  183. SqlDataReader drSelect;
  184. SqlConnection cObj = null;
  185. int count = 0;
  186. bool result = false;
  187. try {
  188. selectQuery = "SELECT car_bookid from dbo.web_cartmanagement where car_userid=@idpass And car_bookid=@bookidpass";
  189. cObj = WareHouseDBConnection.GetDbConnection();
  190. cObj.Open();
  191. cmdSelect = new SqlCommand(selectQuery, cObj);
  192. SqlParameter sqlparam0 = cmdSelect.Parameters.AddWithValue("@idpass", UserId);
  193. SqlParameter sqlparam1 = cmdSelect.Parameters.AddWithValue("@bookidpass", BookId);
  194. drSelect = cmdSelect.ExecuteReader();
  195. while (drSelect.Read()) {
  196. count = count + 1;
  197. }
  198. if (count > 0) {
  199. result = true;
  200. } else {
  201. result = false;
  202. }
  203. } catch (SqlException ex) {
  204. throw ex;
  205. } finally {
  206. cObj.Close();
  207. }
  208. return result;
  209. }
  210. public bool DeleteCart() {
  211. string deleteQuery;
  212. SqlCommand cmdSelect;
  213. SqlDataReader reader;
  214. bool result;
  215. SqlConnection cObj = null;
  216. try {
  217. deleteQuery = "delete from web_cartmanagement where car_userid=@id";
  218. cObj = WareHouseDBConnection.GetDbConnection();
  219. cObj.Open();
  220. cmdSelect = new SqlCommand(deleteQuery, cObj);
  221. SqlParameter sqlparam = cmdSelect.Parameters.AddWithValue("@id", UserId);
  222. reader = cmdSelect.ExecuteReader();
  223. if (reader.Read()) {
  224. result = true;
  225. } else {
  226. result = false;
  227. }
  228. } catch (SqlException ex) {
  229. throw ex;
  230. } finally {
  231. cObj.Close();
  232. }
  233. return result;
  234. }
  235. #endregion Methods
  236. }
  237. }