Пример #1
0
        private System.Data.DataTable prepare_datatable(ref BO.myQuery mq, BO.TheGridState gridState)
        {
            mq.explicit_columns = _colsProvider.ParseTheGridColumns(mq.Prefix, gridState.j72Columns);
            if (string.IsNullOrEmpty(gridState.j75SortDataField) == false)
            {
                try
                {
                    mq.explicit_orderby = _colsProvider.ByUniqueName(gridState.j75SortDataField).getFinalSqlSyntax_ORDERBY() + " " + gridState.j75SortOrder;
                }
                catch
                {
                }
            }
            if (String.IsNullOrEmpty(gridState.j75Filter) == false)
            {
                mq.TheGridFilter = _colsProvider.ParseAdhocFilterFromString(gridState.j75Filter, mq.explicit_columns);
            }
            mq.lisPeriods = _pp.getPallete();

            if (string.IsNullOrEmpty(gridState.j72MasterEntity) && BL.TheEntities.ByTable(gridState.j72Entity).IsGlobalPeriodQuery)
            {
                BO.ThePeriod per = InhaleGridPeriodDates(mq.Prefix);
                mq.global_d1 = per.d1;
                mq.global_d2 = per.d2;
            }
            if (gridState.j72HashJ73Query)
            {
                mq.lisJ73 = Factory.j72TheGridTemplateBL.GetList_j73(gridState.j72ID, gridState.j72Entity.Substring(0, 3));
            }
            mq.InhaleMasterEntityQuery(gridState.j72MasterEntity, gridState.MasterPID);

            return(Factory.gridBL.GetList(mq));
        }
Пример #2
0
        Invoke(string entity, int j72id, int go2pid, string master_entity, int master_pid, int contextmenuflag, string ondblclick, string master_flag, int masterviewflag)
        {
            var ret = new TheGridViewModel();

            ret.Entity = entity;
            var mq = new BO.myQuery(entity);


            BO.TheGridState gridState = null;
            if (j72id > 0)
            {
                gridState = _f.j72TheGridTemplateBL.LoadState(j72id, _f.CurrentUser.pid);
            }
            if (gridState == null)
            {
                gridState = _f.j72TheGridTemplateBL.LoadState(entity, _f.CurrentUser.pid, master_entity); //výchozí, systémový grid: j72IsSystem=1
            }
            if (gridState == null)                                                                        //pro uživatele zatím nebyl vygenerován záznam v j72 -> vygenerovat
            {
                var cols = _colsProvider.getDefaultPallete(false, mq);                                    //výchozí paleta sloupců

                var recJ72 = new BO.j72TheGridTemplate()
                {
                    j72IsSystem = true, j72Entity = entity, j03ID = _f.CurrentUser.pid, j72Columns = String.Join(",", cols.Select(p => p.UniqueName)), j72MasterEntity = master_entity
                };

                var intJ72ID = _f.j72TheGridTemplateBL.Save(recJ72, null, null, null);
                gridState = _f.j72TheGridTemplateBL.LoadState(intJ72ID, _f.CurrentUser.pid);
            }


            gridState.j75CurrentRecordPid = go2pid;
            gridState.ContextMenuFlag     = contextmenuflag;
            gridState.j72MasterEntity     = master_entity;
            gridState.MasterPID           = master_pid;
            gridState.OnDblClick          = ondblclick;
            gridState.MasterViewFlag      = masterviewflag;
            gridState.MasterFlag          = master_flag;


            var cc = new TheGridController(_colsProvider, _pp);

            cc.Factory = _f;

            ret.firstdata    = cc.render_thegrid_html(gridState);
            ret.ondblclick   = ondblclick;
            ret.GridState    = gridState;
            ret.Columns      = _colsProvider.ParseTheGridColumns(mq.Prefix, gridState.j72Columns);
            ret.AdhocFilter  = _colsProvider.ParseAdhocFilterFromString(gridState.j75Filter, ret.Columns);
            ret.MasterEntity = master_entity;
            ret.MasterPID    = master_pid;
            return(View("Default", ret));
        }