[[[[[[[Step 3]]]]]]]]]
ProductController.cs
========================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVCGridSample.Models;
using MVCGridSample.Models.DB;
using System.Text;
namespace MVCGridSample.Controllers
{
public class ProductController : Controller
{
public string[] strAllArr, strFinalArr;
string sortDirection;
long lgProductId = 0;
string strPageSizecntl = "50";
public mdlProduct MdlProduct = null;
#region Default
public ActionResult ProductList()
{
try
{
TempData["sortDirection"] = "ASC";
return View();
}
catch (Exception ex)
{
return View();
}
}
#endregion
#region Defined
public JsonResult LoadProduct(string strSize, string strFilterText)
{
try
{
TempData["CurrentPageIndex"] = 1;
return Json(BindProductGrd(strSize, strFilterText));
}
catch (Exception ex)
{
return Json("");
}
}
public JsonResult MangeSortDirection(string strSize, string strFilterText)
{
try
{
if (TempData["sortDirection"] != null && TempData["sortDirection"].ToString() == "ASC")
{
TempData["sortDirection"] = "DESC";
}
else
{
TempData["sortDirection"] = "ASC";
}
return Json(BindProductGrd(strSize, strFilterText));
}
catch (Exception ex)
{
return Json("");
}
}
public JsonResult DeleteProduct()
{
try
{
if (TempData["chkDelete"] != null)
{
strAllArr = TempData["chkDelete"].ToString().Split('|');
if (MdlProduct == null)
{
MdlProduct = new mdlProduct();
}
for (int i = 0; i <= strAllArr.Length - 1; i++)
{
strFinalArr = strAllArr[i].ToString().Split(';');
lgProductId = Convert.ToInt64(strFinalArr[0].ToString());
MdlProduct.DeleteProduct(lgProductId, 1);
}
TempData["chkDelete"] = null;
}
return Json(BindProductGrd(strPageSizecntl, ""));
}
catch (Exception ex)
{
return Json("");
}
}
public JsonResult ChangePageIndexProduct(string strAction, string strSize, string strFilterText)
{
try
{
if (strAction == "Next")
{
if (TempData["CurrentPageIndex"] != null && TempData["TotalPages"] != null)
{
if (Convert.ToInt16(TempData["CurrentPageIndex"].ToString()) != Convert.ToInt16(TempData["TotalPages"].ToString()))
{
int i = Convert.ToInt16(TempData["CurrentPageIndex"]);
TempData["CurrentPageIndex"] = i + 1;
return Json(BindProductGrd(strSize, strFilterText));
}
}
}
else
{
if (Convert.ToInt16(TempData["CurrentPageIndex"].ToString()) != 1)
{
int i = Convert.ToInt16(TempData["CurrentPageIndex"]);
TempData["CurrentPageIndex"] = i - 1;
return Json(BindProductGrd(strSize, strFilterText));
}
}
return Json("");
}
catch (Exception ex)
{
return Json("");
}
}
public string BindProductGrd(string strSize, string strFilterText)
{
try
{
if (Session["VIEWRights"] != null && Session["VIEWRights"].ToString() == "0")
{
return "";
}
int PageIndex = 1;
int pageno = 1;
int inTotalRows = 0;
if (TempData["CurrentPageIndex"] != null)
{
PageIndex = Convert.ToInt16(TempData["CurrentPageIndex"].ToString());
TempData["CurrentPageIndex"] = PageIndex.ToString();
}
List<Product_lstResult> ObjGetAllProduct = new List<Product_lstResult>();
if (MdlProduct == null)
{
MdlProduct = new mdlProduct();
}
if (TempData["sortDirection"] != null)
{
sortDirection = TempData["sortDirection"].ToString();
}
else
{
sortDirection = "ASC";
}
ObjGetAllProduct = MdlProduct.GetAllProduct(Convert.ToInt16(strSize), PageIndex, strFilterText, sortDirection);
TempData["sortDirection"] = sortDirection;
StringBuilder strProductGrd = new StringBuilder("");
strProductGrd.Append("<table><thead><tr><th><input name=\"selectall\" type=\"checkbox\" onclick=\"return SelectAllCheckbox()\" title=\"Select all\" /></th><th style=\"cursor: pointer;\" onclick=\"return LoadProductGrd()\">Product Name</th><th>Description</th><th>Active</th></tr></thead><tbody>");
if (ObjGetAllProduct.Count > 0)
{
pageno = Convert.ToInt16(ObjGetAllProduct.ElementAt(0).RowNum.ToString());
inTotalRows = Convert.ToInt16(ObjGetAllProduct.ElementAt(0).TotalRows.ToString());
TempData["TotalPages"] = ObjGetAllProduct.ElementAt(0).PageCount.ToString();
TempData["TotalRows"] = inTotalRows;
string strUName, strDesc, strIsActive;
long lgUID;
for (int i = 0; i <= ObjGetAllProduct.Count - 1; i++)
{
if (ObjGetAllProduct.ElementAt(i).Id != null)
{
lgUID = Convert.ToInt64(ObjGetAllProduct.ElementAt(i).Id);
}
else
{
lgUID = 0;
}
if (ObjGetAllProduct.ElementAt(i).ProductName != null)
{
strUName = ObjGetAllProduct.ElementAt(i).ProductName.ToString();
}
else
{
strUName = "";
}
if (ObjGetAllProduct.ElementAt(i).Description != null)
{
strDesc = ObjGetAllProduct.ElementAt(i).Description.ToString();
}
else
{
strDesc = "";
}
if (ObjGetAllProduct.ElementAt(i).IsActive != null)
{
strIsActive = ObjGetAllProduct.ElementAt(i).IsActive.ToString();
}
else
{
strIsActive = "";
}
if (i == 0)
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
else if (i == 1)
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
else if (i % 2 == 0)
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
else
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
}
strProductGrd.Append("</tbody></table>");
if (inTotalRows > 0)
{
strProductGrd.Append("<div><label style=\"color:white;\">Show <select id=\"ddlSelect\" size=\"1\" onchange=\"return LoadGrd();\">");
strProductGrd.Append("</select> entries</label></div>");
}
strProductGrd.Append("<div >");
if (PageIndex == 1 && inTotalRows <= Convert.ToInt16(strSize))
{
strProductGrd.Append("Showing 1 to " + ObjGetAllProduct.Count + " of " + inTotalRows + "</div><div ><div title=\"Previous\"></div><div title=\"Next\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">NEXT</div></div>");
}
else if (PageIndex == 1)
{
strProductGrd.Append("Showing 1 to " + ObjGetAllProduct.Count + " of " + inTotalRows + "</div><div ><div title=\"Previous\"></div><div title=\"Next\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">NEXT</div></div>");
}
else if (PageIndex == Convert.ToInt16(TempData["TotalPages"]))
{
strProductGrd.Append("Showing " + pageno + " to " + inTotalRows + " of " + inTotalRows + "</div><div ><div title=\"Previous\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">PREVIOUS</div><div title=\"Next\"></div></div>");
}
else
{
strProductGrd.Append("Showing " + pageno + " to " + (ObjGetAllProduct.Count + pageno - 1) + " of " + inTotalRows + "</div><div ><div title=\"Previous\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">PREVIOUS</div><div title=\"Next\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">NEXT</div></div>");
}
TempData["TotalPages"] = ObjGetAllProduct.ElementAt(0).PageCount.ToString();
}
else
{
strProductGrd.Append("</tbody></table>");
}
return strProductGrd.ToString();
}
catch (Exception ex)
{
return "";
}
}
public JsonResult GetPaging()
{
int intTotalCount = 0;
if (TempData["TotalRows"] != null)
{
intTotalCount = Convert.ToInt16(TempData["TotalRows"]);
TempData["TotalRows"] = intTotalCount.ToString();
}
List<SelectListItem> GetPaginglst = new List<SelectListItem>();
GetPaginglst.Add(new SelectListItem { Text = "50", Value = "50" });
if (intTotalCount > 50 && intTotalCount <= 100)
{
GetPaginglst.Add(new SelectListItem { Text = "100", Value = "100" });
}
if (intTotalCount > 100 && intTotalCount <= 250)
{
GetPaginglst.Add(new SelectListItem { Text = "100", Value = "100" });
GetPaginglst.Add(new SelectListItem { Text = "250", Value = "250" });
}
else if (intTotalCount > 250)
{
GetPaginglst.Add(new SelectListItem { Text = "100", Value = "100" });
GetPaginglst.Add(new SelectListItem { Text = "250", Value = "250" });
GetPaginglst.Add(new SelectListItem { Text = "500", Value = "500" });
}
return Json(GetPaginglst, JsonRequestBehavior.AllowGet);
}
public void SetAction(string strArchiveAll)
{
try
{
if (strArchiveAll == "")
{
TempData["chkDelete"] = null;
}
else
{
TempData["chkDelete"] = strArchiveAll;
}
}
catch (Exception ex)
{
}
}
#endregion
}
}
ProductController.cs
========================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVCGridSample.Models;
using MVCGridSample.Models.DB;
using System.Text;
namespace MVCGridSample.Controllers
{
public class ProductController : Controller
{
public string[] strAllArr, strFinalArr;
string sortDirection;
long lgProductId = 0;
string strPageSizecntl = "50";
public mdlProduct MdlProduct = null;
#region Default
public ActionResult ProductList()
{
try
{
TempData["sortDirection"] = "ASC";
return View();
}
catch (Exception ex)
{
return View();
}
}
#endregion
#region Defined
public JsonResult LoadProduct(string strSize, string strFilterText)
{
try
{
TempData["CurrentPageIndex"] = 1;
return Json(BindProductGrd(strSize, strFilterText));
}
catch (Exception ex)
{
return Json("");
}
}
public JsonResult MangeSortDirection(string strSize, string strFilterText)
{
try
{
if (TempData["sortDirection"] != null && TempData["sortDirection"].ToString() == "ASC")
{
TempData["sortDirection"] = "DESC";
}
else
{
TempData["sortDirection"] = "ASC";
}
return Json(BindProductGrd(strSize, strFilterText));
}
catch (Exception ex)
{
return Json("");
}
}
public JsonResult DeleteProduct()
{
try
{
if (TempData["chkDelete"] != null)
{
strAllArr = TempData["chkDelete"].ToString().Split('|');
if (MdlProduct == null)
{
MdlProduct = new mdlProduct();
}
for (int i = 0; i <= strAllArr.Length - 1; i++)
{
strFinalArr = strAllArr[i].ToString().Split(';');
lgProductId = Convert.ToInt64(strFinalArr[0].ToString());
MdlProduct.DeleteProduct(lgProductId, 1);
}
TempData["chkDelete"] = null;
}
return Json(BindProductGrd(strPageSizecntl, ""));
}
catch (Exception ex)
{
return Json("");
}
}
public JsonResult ChangePageIndexProduct(string strAction, string strSize, string strFilterText)
{
try
{
if (strAction == "Next")
{
if (TempData["CurrentPageIndex"] != null && TempData["TotalPages"] != null)
{
if (Convert.ToInt16(TempData["CurrentPageIndex"].ToString()) != Convert.ToInt16(TempData["TotalPages"].ToString()))
{
int i = Convert.ToInt16(TempData["CurrentPageIndex"]);
TempData["CurrentPageIndex"] = i + 1;
return Json(BindProductGrd(strSize, strFilterText));
}
}
}
else
{
if (Convert.ToInt16(TempData["CurrentPageIndex"].ToString()) != 1)
{
int i = Convert.ToInt16(TempData["CurrentPageIndex"]);
TempData["CurrentPageIndex"] = i - 1;
return Json(BindProductGrd(strSize, strFilterText));
}
}
return Json("");
}
catch (Exception ex)
{
return Json("");
}
}
public string BindProductGrd(string strSize, string strFilterText)
{
try
{
if (Session["VIEWRights"] != null && Session["VIEWRights"].ToString() == "0")
{
return "";
}
int PageIndex = 1;
int pageno = 1;
int inTotalRows = 0;
if (TempData["CurrentPageIndex"] != null)
{
PageIndex = Convert.ToInt16(TempData["CurrentPageIndex"].ToString());
TempData["CurrentPageIndex"] = PageIndex.ToString();
}
List<Product_lstResult> ObjGetAllProduct = new List<Product_lstResult>();
if (MdlProduct == null)
{
MdlProduct = new mdlProduct();
}
if (TempData["sortDirection"] != null)
{
sortDirection = TempData["sortDirection"].ToString();
}
else
{
sortDirection = "ASC";
}
ObjGetAllProduct = MdlProduct.GetAllProduct(Convert.ToInt16(strSize), PageIndex, strFilterText, sortDirection);
TempData["sortDirection"] = sortDirection;
StringBuilder strProductGrd = new StringBuilder("");
strProductGrd.Append("<table><thead><tr><th><input name=\"selectall\" type=\"checkbox\" onclick=\"return SelectAllCheckbox()\" title=\"Select all\" /></th><th style=\"cursor: pointer;\" onclick=\"return LoadProductGrd()\">Product Name</th><th>Description</th><th>Active</th></tr></thead><tbody>");
if (ObjGetAllProduct.Count > 0)
{
pageno = Convert.ToInt16(ObjGetAllProduct.ElementAt(0).RowNum.ToString());
inTotalRows = Convert.ToInt16(ObjGetAllProduct.ElementAt(0).TotalRows.ToString());
TempData["TotalPages"] = ObjGetAllProduct.ElementAt(0).PageCount.ToString();
TempData["TotalRows"] = inTotalRows;
string strUName, strDesc, strIsActive;
long lgUID;
for (int i = 0; i <= ObjGetAllProduct.Count - 1; i++)
{
if (ObjGetAllProduct.ElementAt(i).Id != null)
{
lgUID = Convert.ToInt64(ObjGetAllProduct.ElementAt(i).Id);
}
else
{
lgUID = 0;
}
if (ObjGetAllProduct.ElementAt(i).ProductName != null)
{
strUName = ObjGetAllProduct.ElementAt(i).ProductName.ToString();
}
else
{
strUName = "";
}
if (ObjGetAllProduct.ElementAt(i).Description != null)
{
strDesc = ObjGetAllProduct.ElementAt(i).Description.ToString();
}
else
{
strDesc = "";
}
if (ObjGetAllProduct.ElementAt(i).IsActive != null)
{
strIsActive = ObjGetAllProduct.ElementAt(i).IsActive.ToString();
}
else
{
strIsActive = "";
}
if (i == 0)
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
else if (i == 1)
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
else if (i % 2 == 0)
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
else
{
strProductGrd.Append("<tr ><td><input name=\"chkSelect\" type=\"checkbox\" title=\"Select\" onclick=\"return isallchecked()\" id=" + lgUID.ToString() + " /></td><td ><a style=\"color: black;\" href=\"../Configuration/ProductManage?" + (lgUID.ToString() + "|Id") + "\" >" + strUName + "</a></td><td>" + strDesc + "</td><td>" + strIsActive + "</td></tr>");
}
}
strProductGrd.Append("</tbody></table>");
if (inTotalRows > 0)
{
strProductGrd.Append("<div><label style=\"color:white;\">Show <select id=\"ddlSelect\" size=\"1\" onchange=\"return LoadGrd();\">");
strProductGrd.Append("</select> entries</label></div>");
}
strProductGrd.Append("<div >");
if (PageIndex == 1 && inTotalRows <= Convert.ToInt16(strSize))
{
strProductGrd.Append("Showing 1 to " + ObjGetAllProduct.Count + " of " + inTotalRows + "</div><div ><div title=\"Previous\"></div><div title=\"Next\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">NEXT</div></div>");
}
else if (PageIndex == 1)
{
strProductGrd.Append("Showing 1 to " + ObjGetAllProduct.Count + " of " + inTotalRows + "</div><div ><div title=\"Previous\"></div><div title=\"Next\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">NEXT</div></div>");
}
else if (PageIndex == Convert.ToInt16(TempData["TotalPages"]))
{
strProductGrd.Append("Showing " + pageno + " to " + inTotalRows + " of " + inTotalRows + "</div><div ><div title=\"Previous\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">PREVIOUS</div><div title=\"Next\"></div></div>");
}
else
{
strProductGrd.Append("Showing " + pageno + " to " + (ObjGetAllProduct.Count + pageno - 1) + " of " + inTotalRows + "</div><div ><div title=\"Previous\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">PREVIOUS</div><div title=\"Next\" style=\"cursor: pointer;\" onclick=\"return ChangePageIndex(this.title)\">NEXT</div></div>");
}
TempData["TotalPages"] = ObjGetAllProduct.ElementAt(0).PageCount.ToString();
}
else
{
strProductGrd.Append("</tbody></table>");
}
return strProductGrd.ToString();
}
catch (Exception ex)
{
return "";
}
}
public JsonResult GetPaging()
{
int intTotalCount = 0;
if (TempData["TotalRows"] != null)
{
intTotalCount = Convert.ToInt16(TempData["TotalRows"]);
TempData["TotalRows"] = intTotalCount.ToString();
}
List<SelectListItem> GetPaginglst = new List<SelectListItem>();
GetPaginglst.Add(new SelectListItem { Text = "50", Value = "50" });
if (intTotalCount > 50 && intTotalCount <= 100)
{
GetPaginglst.Add(new SelectListItem { Text = "100", Value = "100" });
}
if (intTotalCount > 100 && intTotalCount <= 250)
{
GetPaginglst.Add(new SelectListItem { Text = "100", Value = "100" });
GetPaginglst.Add(new SelectListItem { Text = "250", Value = "250" });
}
else if (intTotalCount > 250)
{
GetPaginglst.Add(new SelectListItem { Text = "100", Value = "100" });
GetPaginglst.Add(new SelectListItem { Text = "250", Value = "250" });
GetPaginglst.Add(new SelectListItem { Text = "500", Value = "500" });
}
return Json(GetPaginglst, JsonRequestBehavior.AllowGet);
}
public void SetAction(string strArchiveAll)
{
try
{
if (strArchiveAll == "")
{
TempData["chkDelete"] = null;
}
else
{
TempData["chkDelete"] = strArchiveAll;
}
}
catch (Exception ex)
{
}
}
#endregion
}
}