Monday 19 November 2012

Step 3

[[[[[[[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
    }
}

No comments:

Post a Comment