Esempio n. 1
0
        //
        // GET: /Template/

        public ActionResult Index()
        {
            try
            {
                if (Session["UserAccountID"] == null)
                    return RedirectToAction("Validate", "Login");
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                    ViewData["txtIsAdmin"] = "true";
                else
                    ViewData["txtIsAdmin"] = "false";

                // Initialize or get the page state using session
                TemplatePageState pagestate = GetPageState();

                // Get the account id
                int accountid = 0;
                if (Session["UserAccountID"] != null)
                    accountid = Convert.ToInt32(Session["UserAccountID"]);

                // Set and save the page state to the submitted form values if any values are passed
                if (Request.Form["lstAscDesc"] != null)
                {
                    pagestate.AccountID = accountid;
                    pagestate.TemplateName = Request.Form["txtTemplateName"].ToString().Trim();
                    if (Request.Form["chkOnlyApproved"].ToLower().StartsWith("true"))
                        pagestate.OnlyApproved = true;
                    else
                        pagestate.OnlyApproved = false;
                    if (Request.Form["chkIncludeInactive"].ToLower().StartsWith("true"))
                        pagestate.IncludeInactive = true;
                    else
                        pagestate.IncludeInactive = false;
                    pagestate.SortBy = Request.Form["lstSortBy"].ToString().Trim();
                    pagestate.AscDesc = Request.Form["lstAscDesc"].ToString().Trim();
                    pagestate.PageNumber = Convert.ToInt32(Request.Form["txtPageNumber"].ToString().Trim());
                    SavePageState(pagestate);
                }

                // Add the session values to the view data so they can be populated in the form
                ViewData["AccountID"] = pagestate.AccountID;
                ViewData["TemplateName"] = pagestate.TemplateName;
                ViewData["OnlyApproved"] = pagestate.OnlyApproved;
                ViewData["IncludeInactive"] = pagestate.IncludeInactive;
                ViewData["SortBy"] = pagestate.SortBy;
                ViewData["SortByList"] = new SelectList(BuildSortByList(), "Value", "Text", pagestate.SortBy);
                ViewData["AscDescList"] = new SelectList(BuildAscDescList(), "Value", "Text", pagestate.AscDesc);

                // Determine asc/desc
                bool isdescending = false;
                if (pagestate.AscDesc.ToLower().StartsWith("d"))
                    isdescending = true;

                // Get a Count of all filtered records
                int recordcount = repository.GetTemplateRecordCount(pagestate.AccountID, pagestate.TemplateName, pagestate.OnlyApproved, pagestate.IncludeInactive);

                // Determine the page count
                int pagecount = 1;
                if (recordcount > 0)
                {
                    pagecount = recordcount / Constants.PageSize;
                    if (recordcount % Constants.PageSize != 0) // Add a page if there are more records
                    {
                        pagecount = pagecount + 1;
                    }
                }

                // Make sure the current page is not greater than the page count
                if (pagestate.PageNumber > pagecount)
                {
                    pagestate.PageNumber = pagecount;
                    SavePageState(pagestate);
                }

                // Set the page number and account in viewdata
                ViewData["PageNumber"] = Convert.ToString(pagestate.PageNumber);
                ViewData["PageCount"] = Convert.ToString(pagecount);
                ViewData["RecordCount"] = Convert.ToString(recordcount);

                IEnumerable<Template> templates = repository.GetTemplatePage(pagestate.AccountID, pagestate.TemplateName, pagestate.OnlyApproved, pagestate.IncludeInactive, pagestate.SortBy, isdescending, pagestate.PageNumber, pagecount);
                ITemplateContentRepository templatecontentrepository = new EntityTemplateContentRepository();
                List<TemplateView> templateviews = new List<TemplateView>();
                foreach (Template template in templates)
                {
                    TemplateView templateview = new TemplateView();
                    templateview.TemplateID = template.TemplateID;
                    templateview.AccountID = template.AccountID;
                    templateview.TemplateGUID = template.TemplateGUID;
                    templateview.TemplateName = template.TemplateName;
                    templateview.TemplateDescription = template.TemplateDescription;
                    templateview.Rows = template.Rows;
                    templateview.Columns = template.Columns;
                    templateview.IsApproved = template.IsApproved;
                    templateview.IsActive = template.IsActive;
                    IEnumerable<TemplateContent> templatecontents = templatecontentrepository.GetTemplateContents(template.TemplateID);
                    if (templatecontents != null && templatecontents.Count() > 0)
                        templateview.ContentCount = templatecontents.Count();
                    else
                        templateview.ContentCount = 0;
                    
                    templateviews.Add(templateview);
                }

                ViewResult result = View(templateviews);
                result.ViewName = "Index";

                return result;
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Template", "Index", ex.Message);
                return RedirectToAction("Index", "ApplicationError");
            }
        }
Esempio n. 2
0
        //
        // GET: /Template/

        public ActionResult Index()
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                // Initialize or get the page state using session
                TemplatePageState pagestate = GetPageState();

                // Get the account id
                int accountid = 0;
                if (Session["UserAccountID"] != null)
                {
                    accountid = Convert.ToInt32(Session["UserAccountID"]);
                }

                // Set and save the page state to the submitted form values if any values are passed
                if (Request.Form["lstAscDesc"] != null)
                {
                    pagestate.AccountID    = accountid;
                    pagestate.TemplateName = Request.Form["txtTemplateName"].ToString().Trim();
                    if (Request.Form["chkOnlyApproved"].ToLower().StartsWith("true"))
                    {
                        pagestate.OnlyApproved = true;
                    }
                    else
                    {
                        pagestate.OnlyApproved = false;
                    }
                    if (Request.Form["chkIncludeInactive"].ToLower().StartsWith("true"))
                    {
                        pagestate.IncludeInactive = true;
                    }
                    else
                    {
                        pagestate.IncludeInactive = false;
                    }
                    pagestate.SortBy     = Request.Form["lstSortBy"].ToString().Trim();
                    pagestate.AscDesc    = Request.Form["lstAscDesc"].ToString().Trim();
                    pagestate.PageNumber = Convert.ToInt32(Request.Form["txtPageNumber"].ToString().Trim());
                    SavePageState(pagestate);
                }

                // Add the session values to the view data so they can be populated in the form
                ViewData["AccountID"]       = pagestate.AccountID;
                ViewData["TemplateName"]    = pagestate.TemplateName;
                ViewData["OnlyApproved"]    = pagestate.OnlyApproved;
                ViewData["IncludeInactive"] = pagestate.IncludeInactive;
                ViewData["SortBy"]          = pagestate.SortBy;
                ViewData["SortByList"]      = new SelectList(BuildSortByList(), "Value", "Text", pagestate.SortBy);
                ViewData["AscDescList"]     = new SelectList(BuildAscDescList(), "Value", "Text", pagestate.AscDesc);

                // Determine asc/desc
                bool isdescending = false;
                if (pagestate.AscDesc.ToLower().StartsWith("d"))
                {
                    isdescending = true;
                }

                // Get a Count of all filtered records
                int recordcount = repository.GetTemplateRecordCount(pagestate.AccountID, pagestate.TemplateName, pagestate.OnlyApproved, pagestate.IncludeInactive);

                // Determine the page count
                int pagecount = 1;
                if (recordcount > 0)
                {
                    pagecount = recordcount / Constants.PageSize;
                    if (recordcount % Constants.PageSize != 0) // Add a page if there are more records
                    {
                        pagecount = pagecount + 1;
                    }
                }

                // Make sure the current page is not greater than the page count
                if (pagestate.PageNumber > pagecount)
                {
                    pagestate.PageNumber = pagecount;
                    SavePageState(pagestate);
                }

                // Set the page number and account in viewdata
                ViewData["PageNumber"]  = Convert.ToString(pagestate.PageNumber);
                ViewData["PageCount"]   = Convert.ToString(pagecount);
                ViewData["RecordCount"] = Convert.ToString(recordcount);

                IEnumerable <Template>     templates = repository.GetTemplatePage(pagestate.AccountID, pagestate.TemplateName, pagestate.OnlyApproved, pagestate.IncludeInactive, pagestate.SortBy, isdescending, pagestate.PageNumber, pagecount);
                ITemplateContentRepository templatecontentrepository = new EntityTemplateContentRepository();
                List <TemplateView>        templateviews             = new List <TemplateView>();
                foreach (Template template in templates)
                {
                    TemplateView templateview = new TemplateView();
                    templateview.TemplateID          = template.TemplateID;
                    templateview.AccountID           = template.AccountID;
                    templateview.TemplateGUID        = template.TemplateGUID;
                    templateview.TemplateName        = template.TemplateName;
                    templateview.TemplateDescription = template.TemplateDescription;
                    templateview.Rows       = template.Rows;
                    templateview.Columns    = template.Columns;
                    templateview.IsApproved = template.IsApproved;
                    templateview.IsActive   = template.IsActive;
                    IEnumerable <TemplateContent> templatecontents = templatecontentrepository.GetTemplateContents(template.TemplateID);
                    if (templatecontents != null && templatecontents.Count() > 0)
                    {
                        templateview.ContentCount = templatecontents.Count();
                    }
                    else
                    {
                        templateview.ContentCount = 0;
                    }

                    templateviews.Add(templateview);
                }

                ViewResult result = View(templateviews);
                result.ViewName = "Index";

                return(result);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Template", "Index", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }