/* Render */

        public ActionResult Index()
        {
            Account account = base.GetLoginAccount(false);

            if (account == null || !IssueClassOperations.CanRender(account))
            {
                return(base.ToLoginPage());
            }
            return(View());
        }
 public ActionResult ReadIssueClass(int id)
 {
     using (var context = new DataContext())
     {
         try
         {
             Account    account = base.GetLoginAccount();
             IssueClass dbm     = IssueClassOperations.TryRead(account, context, id);
             return(Json(new UIIssueClass_CRU(dbm)));
         }
         catch (Exception e)
         {
             base.HandleException("ReadIssueClass", e);
             return(null);
         }
     }
 }
        public ActionResult DeleteIssueClass(int id)
        {
            AjaxStatus status = new AjaxStatus();

            using (var context = new DataContext())
            {
                try
                {
                    Account account = base.GetLoginAccount();
                    IssueClassOperations.TryDelete(account, context, id);
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    base.HandleException("DeleteIssueClass", e);
                    status.SetError(e.Message);
                }
            }
            return(Json(status));
        }
        public ActionResult CreateIssueClass(UIIssueClass_CRU uim)
        {
            AjaxStatus status = new AjaxStatus();

            using (var context = new DataContext())
            {
                try
                {
                    Account    account = base.GetLoginAccount();
                    IssueClass model   = uim.CreateModel();
                    IssueClassOperations.TryCreate(account, context, model);
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    base.HandleException("CreateIssueClass", e);
                    status.SetError(e.Message);
                }
            }
            return(Json(status));
        }
        public ActionResult ListIssueClasses(int draw, int start, int length)
        {
            using (var context = new DataContext())
            {
                try
                {
                    Account account = base.GetLoginAccount();
                    IQueryable <IssueClass> query = IssueClassOperations.TryList(account, context);

                    // Possibly apply filter
                    var searchstring = Request["search[value]"];
                    if (!String.IsNullOrWhiteSpace(searchstring))
                    {
                        query = query.Where(c => c.name.Contains(searchstring));
                    }
                    int recordsFiltered = query.Count();

                    // Execute query
                    IList <IssueClass> dbms = query.OrderBy(c => c.name).Skip(start).Take(length).ToList();
                    int recordsTotal        = context.IssueClasses.Count();

                    // Compose view models
                    IList <UIIssueClass_List> uims = new List <UIIssueClass_List>(dbms.Count);
                    foreach (IssueClass dbm in dbms)
                    {
                        uims.Add(new UIIssueClass_List(dbm));
                    }
                    return(Json(new { draw = draw, recordsTotal = recordsTotal, recordsFiltered = recordsFiltered, data = uims }));
                }
                catch (Exception e)
                {
                    base.HandleException("ListIssueClasses", e);
                    return(null);
                }
            }
        }