private void Designer_RefreshState(Models.TheGridDesignerViewModel v) { var mq = new BO.myQuery(v.Rec.j72Entity); var ce = BL.TheEntities.ByPrefix(mq.Prefix); v.Relations = BL.TheEntities.getApplicableRelations(mq.Prefix); //návazné relace v.Relations.Insert(0, new BO.EntityRelation() { TableName = ce.TableName, AliasSingular = ce.AliasSingular, SqlFrom = ce.SqlFromGrid, RelName = "a" }); //primární tabulka a v.AllColumns = _colsProvider.AllColumns().ToList(); v.AllColumns.RemoveAll(p => p.VisibleWithinEntityOnly != null && p.VisibleWithinEntityOnly.Contains(v.Rec.j72Entity.Substring(0, 3)) == false); //nepatřičné kategorie/štítky v.SelectedColumns = _colsProvider.ParseTheGridColumns(mq.Prefix, v.Rec.j72Columns); v.lisQueryFields = new BL.TheQueryFieldProvider(v.Rec.j72Entity.Substring(0, 3)).getPallete(); v.lisPeriods = _pp.getPallete(); if (v.lisJ73 == null) { v.lisJ73 = new List <BO.j73TheGridQuery>(); } foreach (var c in v.lisJ73.Where(p => p.j73Column != null)) { if (v.lisQueryFields.Where(p => p.Field == c.j73Column).Count() > 0) { var cc = v.lisQueryFields.Where(p => p.Field == c.j73Column).First(); c.FieldType = cc.FieldType; c.FieldEntity = cc.SourceEntity; c.MasterPrefix = cc.MasterPrefix; c.MasterPid = cc.MasterPid; } } }
public IActionResult Index(int pid) { var v = new Models.p28PreviewViewModel(); v.Rec = Factory.p28CompanyBL.Load(pid); if (v.Rec == null) { return(RecNotFound(v)); } else { if (Factory.CurrentUser.j03EnvironmentFlag == 1) { if (v.Rec.p28CloudID != null) { v.IsPossible2SetupCloudID = Factory.p21LicenseBL.HasClientValidLicense(pid); } } var tg = Factory.o51TagBL.GetTagging("p28", pid); v.Rec.TagHtml = tg.TagHtml; var mq = new BO.myQuery("j02Person"); mq.p28id = pid; v.Persons = Factory.j02PersonBL.GetList(mq); return(View(v)); } }
public TechnologickyRozpis LoadByStatusAndUnit(string b02code, string p27code) { var recB02 = _f.b02StatusBL.LoadByCode(b02code); if (recB02 == null) { return(new TechnologickyRozpis() { ErrorMessage = "Nelze načíst status s tímto kódem." }); } var recP27 = _f.p27MszUnitBL.LoadByCode(p27code, 0); if (recP27 == null) { return(new TechnologickyRozpis() { ErrorMessage = "Nelze načíst středisko s tímto kódem." }); } var mq = new BO.myQuery("p41Task"); var lis = _f.p41TaskBL.GetList(mq).Where(p => p.b02ID == recB02.pid && p.p27ID == recP27.pid).OrderBy(p => p.p41PlanStart); if (lis.Count() == 0) { return(new TechnologickyRozpis() { ErrorMessage = "0 zakázek s tímto filtrem" }); } return(handle_one_rozpis(lis.ToList()[0])); }
public IActionResult Designer(int j72id) { var v = new Models.TheGridDesignerViewModel(); v.Rec = Factory.j72TheGridTemplateBL.Load(j72id); if (v.Rec == null) { return(RecNotFound(v)); } else { if (v.Rec.j72IsSystem == false && v.Rec.j03ID == Factory.CurrentUser.pid) { v.HasOwnerPermissions = true; var mq = new BO.myQuery("j04UserRole"); mq.j72id = j72id; var lis = Factory.j04UserRoleBL.GetList(mq); v.j04IDs = string.Join(",", lis.Select(p => p.pid)); v.j04Names = string.Join(",", lis.Select(p => p.j04Name)); } v.lisJ73 = Factory.j72TheGridTemplateBL.GetList_j73(v.Rec.pid, v.Rec.j72Entity.Substring(0, 3)).ToList(); foreach (var c in v.lisJ73) { c.TempGuid = BO.BAS.GetGuid(); } Designer_RefreshState(v); return(View(v)); } }
private void InhaleListP27(int p52id, int p27id) { var mq = new BO.myQuery("p27MszUnit"); mq.IsRecordValid = true; BO.p52OrderItem cP52 = _f.p52OrderItemBL.Load(p52id); BO.p11ClientProduct cP11 = _f.p11ClientProductBL.Load(cP52.p11ID); if (cP11.p10ID_Master > 0) { mq.p25id = _f.p10MasterProductBL.Load(cP11.p10ID_Master).p25ID; //z RecP10 se bere typ zařízení pro combo nabídku zařízení } else { if (cP11.p12ID > 0) { mq.p25id = _f.p12ClientTpvBL.Load(cP11.p12ID).p25ID; //vlastní klientská receptura } } _lisP27 = _f.p27MszUnitBL.GetList(mq).ToList(); if (p27id > 0) { _lisP27 = _lisP27.Where(p => p.pid == p27id).ToList(); } }
public IActionResult p41AppendPo(int p41id, int p18flag) { var v = new Models.p41AppendPoViewModel(); v.p41ID = p41id; v.p18flag = p18flag; RefreshState_p41AppendPo(ref v); var mq = new BO.myQuery("p44TaskOperPlan"); mq.p41id = p41id; var lisP44 = Factory.p44TaskOperPlanBL.GetList(mq); foreach (var c in lisP44) { if (v.lisDestOper.Where(p => p.p18ID == c.p18ID).Count() > 0) { v.lisDestOper.Where(p => p.p18ID == c.p18ID).First().IsSelected = true; v.lisDestOper.Where(p => p.p18ID == c.p18ID).First().p44MaterialUnitsCount = c.p44MaterialUnitsCount; } } return(View(v)); }
public IActionResult Record(Models.b03RecordViewModel v) { if (ModelState.IsValid) { BO.b03StatusGroup c = new BO.b03StatusGroup(); if (v.Rec.pid > 0) { c = Factory.b03StatusGroupBL.Load(v.Rec.pid); } c.b03Name = v.Rec.b03Name; c.ValidUntil = v.Toolbar.GetValidUntil(c); c.ValidFrom = v.Toolbar.GetValidFrom(c); v.Rec.pid = Factory.b03StatusGroupBL.Save(c, v.SelectedB02IDs); if (v.Rec.pid > 0) { v.SetJavascript_CallOnLoad(v.Rec.pid); return(View(v)); } } var mq = new BO.myQuery("b02"); v.lisB02 = Factory.b02StatusBL.GetList(mq).Where(p => p.b02Entity == "p41" || p.b02Entity == "p51").OrderBy(p => p.b02Entity).ThenBy(p => p.b02Ordinary).ToList(); v.Toolbar = new MyToolbarViewModel(v.Rec); this.Notify_RecNotSaved(); return(View(v)); }
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)); }
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)); }
private TechnologickyRozpis handle_one_rozpis(BO.p41Task recP41) { var ret = new TechnologickyRozpis(); var recP11 = _f.p11ClientProductBL.Load(recP41.p11ID); ret.Hlavicka = new HlavickaZakazky { VyrobniZakazka = recP41.p41Code, KodPolozky = recP11.p11Code, NazevPolozky = recP11.p11Name, Mnozstvi = recP41.p41PlanUnitsCount, Datum = recP41.DateInsert, Cas = recP41.DateInsert }; ret.Hlavicka.ZPStart = recP41.PlanStartClear; ret.Hlavicka.ZPStop = recP41.p41PlanEnd; ret.PlanovaneMnozstvi = recP41.p41PlanUnitsCount; ret.Stav = recP41.b02ID; var mq = new BO.myQuery("p44TaskOperPlan"); mq.p18flags = new List <int>() { 1, 3 }; mq.p41id = recP41.pid; var lis = _f.p44TaskOperPlanBL.GetList(mq); ret.Polozky = new List <PolozkaVyroby>(); foreach (var c in lis) { var recP18 = _f.p18OperCodeBL.Load(c.p18ID); var polozka = new PolozkaVyroby() { KodOperace = BO.BAS.InInt(recP18.p18Code), CisloOperace = c.p44OperNum, Start = c.p44Start, Stop = c.p44End, Popis = recP18.p18Name }; polozka.Parametr = c.p44OperParam; if (c.p19ID > 0) { var recP19 = _f.p19MaterialBL.Load(c.p19ID); polozka.MaterialKod = recP19.p19Code; polozka.MaterialNazev = recP19.p19Name; } polozka.VahaPozadovana = c.p44MaterialUnitsCount; polozka.DelkaTrvani = c.p44TotalDurationOperMin; ret.Polozky.Add(polozka); } return(ret); }
public IActionResult Record(int pid, bool isclone) { if (!this.TestIfUserEditor(true, true)) { return(this.StopPageCreateEdit(true)); } var v = new Models.p26RecordViewModel(); if (pid > 0) { v.Rec = Factory.p26MszBL.Load(pid); if (v.Rec == null) { return(RecNotFound(v)); } var tg = Factory.o51TagBL.GetTagging("p26", pid); v.TagPids = tg.TagPids; v.TagNames = tg.TagNames; v.TagHtml = tg.TagHtml; var mq = new BO.myQuery("p27MszUnit"); mq.p26id = pid; var lisP27 = Factory.p27MszUnitBL.GetList(mq); v.SelectedP27IDs = string.Join(",", lisP27.Select(p => p.pid)); v.SelectedP27Names = string.Join(",", lisP27.Select(p => p.p27Name)); } else { v.Rec = new BO.p26Msz(); v.Rec.entity = "p26"; v.Rec.p26Code = Factory.CBL.EstimateRecordCode("p26"); } RefreshState(v); v.Toolbar = new MyToolbarViewModel(v.Rec); if (isclone) { v.Toolbar.MakeClone(); v.Rec.p26Code = Factory.CBL.EstimateRecordCode("p26"); } return(View(v)); }
public Telerik.Reporting.ReportSource Resolve(string reportId, OperationOrigin operationOrigin, IDictionary <string, object> currentParameterValues) { //soubor sestavy###login uživatele###j72id List <string> lis = BO.BAS.ConvertString2List(reportId, "###"); reportId = lis[0]; string strLogin = lis[1]; int intJ72ID = 0; if (lis.Count > 2) { intJ72ID = BO.BAS.InInt(lis[2]); } string reportXml = File.ReadAllText(_app.ReportFolder + "\\" + reportId); if (reportXml.Contains("1=1")) { var cu = new BO.RunningUser() { j03Login = strLogin }; BL.Factory f = new BL.Factory(cu, _app); if (intJ72ID > 0) { var recJ72 = f.j72TheGridTemplateBL.Load(intJ72ID); var mq = new BO.myQuery(recJ72.j72Entity); mq.lisJ73 = f.j72TheGridTemplateBL.GetList_j73(intJ72ID, recJ72.j72Entity.Substring(0, 3)); BL.DL.FinalSqlCommand fq = BL.DL.basQuery.ParseFinalSql("", mq, cu); //File.WriteAllText("c:\\temp\\hovado.txt", fq.SqlWhere); reportXml = reportXml.Replace("1=1", fq.SqlWhere).Replace("#query_alias#", recJ72.j72Name); } } return(new Telerik.Reporting.XmlReportSource { Xml = reportXml }); }
public IActionResult Record(int pid, bool isclone) { if (!this.TestIfUserEditor(true, false)) { return(this.StopPageCreateEdit(true)); } var v = new Models.p13RecordViewModel(); if (pid > 0) { v.Rec = Factory.p13MasterTpvBL.Load(pid); if (v.Rec == null) { return(RecNotFound(v)); } var mq = new BO.myQuery("p14MasterOper"); mq.p13id = v.Rec.pid; var tg = Factory.o51TagBL.GetTagging("p13", pid); v.TagPids = tg.TagPids; v.TagNames = tg.TagNames; v.TagHtml = tg.TagHtml; } else { v.Rec = new BO.p13MasterTpv(); v.Rec.entity = "p13"; } v.Toolbar = new MyToolbarViewModel(v.Rec); if (isclone) { v.p13ID_CloneSource = v.Rec.pid; v.Toolbar.MakeClone(); } return(View(v)); }
public IActionResult Record(int pid, bool isclone) { if (!this.TestIfUserEditor(true, false)) { return(this.StopPageCreateEdit(true)); } var v = new Models.p25RecordViewModel(); if (pid > 0) { v.Rec = Factory.p25MszTypeBL.Load(pid); if (v.Rec == null) { return(RecNotFound(v)); } } else { v.Rec = new BO.p25MszType(); v.Rec.p25Code = Factory.CBL.EstimateRecordCode("p25"); v.Rec.entity = "p25"; } v.Toolbar = new MyToolbarViewModel(v.Rec); if (isclone) { v.Toolbar.MakeClone(); v.Rec.p25Code = Factory.CBL.EstimateRecordCode("p25"); } else { if (v.Rec.pid > 0) { var mq = new BO.myQuery("p18OperCode"); mq.p25id = v.Rec.pid; v.lisP18 = Factory.p18OperCodeBL.GetList(mq); } } return(View(v)); }
public IActionResult Index(int pid) { var v = new Models.p13PreviewViewModel(); v.Rec = Factory.p13MasterTpvBL.Load(pid); if (v.Rec == null) { return(RecNotFound(v)); } else { var mq = new BO.myQuery("p14MasterOper"); mq.p13id = v.Rec.pid; v.lisP14 = Factory.p14MasterOperBL.GetList(mq); var tg = Factory.o51TagBL.GetTagging("p13", pid); v.Rec.TagHtml = tg.TagHtml; return(View(v)); } }
private void RefreshState_p41CreateChild(ref p41CreateChildViewModel v) { v.RecMasterP41 = Factory.p41TaskBL.Load(v.MasterID); if (v.SelectedP27ID > 0 && (v.lisDestOper == null || v.lisDestOper.Count() == 0)) { var mq = new BO.myQuery("p18OperCode"); mq.p27id = v.SelectedP27ID; mq.p18flag = v.p18flag; mq.explicit_orderby = "a.p18Code"; //nutno setřídit podle kódu/pořadí operace var lisP18 = Factory.p18OperCodeBL.GetList(mq); v.lisDestOper = new List <BO.AppendPostPreP44Oper>(); foreach (var recP18 in lisP18) { var c = new BO.AppendPostPreP44Oper() { p18ID = recP18.pid, p18Flag = recP18.p18Flag, p18Code = recP18.p18Code, OperCodePlusName = recP18.CodePlusName, p44MaterialUnitsCount = v.RecMasterP41.p41PlanUnitsCount, p18IsManualAmount = recP18.p18IsManualAmount }; v.lisDestOper.Add(c); } } //if (v.RecMasterP41.p52ID > 0) //{ // var recP52 = Factory.p52OrderItemBL.Load(v.RecMasterP41.p52ID); // BO.p11ClientProduct cP11 = Factory.p11ClientProductBL.Load(recP52.p11ID); // if (cP11.p10ID_Master > 0) // { // v.p25ID = Factory.p10MasterProductBL.Load(cP11.p10ID_Master).p25ID; //z RecP10 se bere typ zařízení pro combo nabídku zařízení // } // else // { // if (cP11.p12ID > 0) // { // v.p25ID = Factory.p12ClientTpvBL.Load(cP11.p12ID).p25ID; //vlastní klientská receptura // } // } //} }
public IActionResult Record(int pid, bool isclone) { if (!this.TestIfUserEditor(true, false)) { return(this.StopPageCreateEdit(true)); } var v = new Models.b03RecordViewModel(); if (pid > 0) { v.Rec = Factory.b03StatusGroupBL.Load(pid); if (v.Rec == null) { return(RecNotFound(v)); } } else { v.Rec = new BO.b03StatusGroup(); v.Rec.entity = "b03"; } var mq = new BO.myQuery("b02"); if (v.Rec.pid > 0) { mq.b03id = v.Rec.pid; v.SelectedB02IDs = Factory.b02StatusBL.GetList(mq).Select(p => p.pid).ToList(); } mq = new BO.myQuery("b02"); v.lisB02 = Factory.b02StatusBL.GetList(mq).Where(p => p.b02Entity == "p41" || p.b02Entity == "p51").OrderBy(p => p.b02Entity).ThenBy(p => p.b02Ordinary).ToList(); v.Toolbar = new MyToolbarViewModel(v.Rec); if (isclone) { v.Toolbar.MakeClone(); } return(View(v)); }
public FileResult GridExport(string format, int j72id, int master_pid, string master_entity, string pids) { var gridState = this.Factory.j72TheGridTemplateBL.LoadState(j72id, Factory.CurrentUser.pid); gridState.j72MasterEntity = master_entity; gridState.MasterPID = master_pid; var mq = new BO.myQuery(gridState.j72Entity); if (String.IsNullOrEmpty(pids) == false) { mq.SetPids(pids); } System.Data.DataTable dt = prepare_datatable(ref mq, gridState); string filepath = Factory.App.TempFolder + "\\" + BO.BAS.GetGuid() + "." + format; var cExport = new UI.dataExport(); string strFileClientName = "gridexport_" + mq.Prefix + "." + format; if (format == "csv") { if (cExport.ToCSV(dt, filepath, mq)) { return(File(System.IO.File.ReadAllBytes(filepath), "application/CSV", strFileClientName)); } } if (format == "xlsx") { if (cExport.ToXLSX(dt, filepath, mq)) { return(File(System.IO.File.ReadAllBytes(filepath), "application/vnd.ms-excel", strFileClientName)); } } return(null); }
public bool ToXLSX(System.Data.DataTable dt, string strFilePath, BO.myQuery mq) { using (var workbook = new XLWorkbook()) { var worksheet = workbook.Worksheets.Add("Grid"); int row = 1; int col = 1; foreach (var c in mq.explicit_columns) { worksheet.Cell(row, col).Value = c.Header; worksheet.Cell(row, col).Style.Font.Bold = true; col += 1; } row += 1; foreach (System.Data.DataRow dr in dt.Rows) { col = 1; foreach (var c in mq.explicit_columns) { if (!Convert.IsDBNull(dr[c.UniqueName])) { worksheet.Cell(row, col).Value = dr[c.UniqueName]; } col += 1; } row += 1; } //worksheet.Cell("A1").Value = "Hello World!"; //worksheet.Cell("A2").FormulaA1 = "=MID(A1, 7, 5)"; workbook.SaveAs(strFilePath); } return(true); }
private void RefreshState_p41AppendPo(ref p41AppendPoViewModel v) { v.RecP41 = Factory.p41TaskBL.Load(v.p41ID); if (v.lisDestOper == null || v.lisDestOper.Count() == 0) { var mq = new BO.myQuery("p18OperCode"); mq.p41id = v.p41ID; mq.p18flag = v.p18flag; mq.explicit_orderby = "a.p18Code"; //nutno setřídit podle kódu/pořadí operace var lisP18 = Factory.p18OperCodeBL.GetList(mq); v.lisDestOper = new List <BO.AppendPostPreP44Oper>(); foreach (var recP18 in lisP18) { var c = new BO.AppendPostPreP44Oper() { p18ID = recP18.pid, p18Flag = recP18.p18Flag, p18Code = recP18.p18Code, OperCodePlusName = recP18.CodePlusName, p44MaterialUnitsCount = v.RecP41.p41PlanUnitsCount, p18IsManualAmount = recP18.p18IsManualAmount }; v.lisDestOper.Add(c); } } }
public bool ToCSV(System.Data.DataTable dt, string strFilePath, BO.myQuery mq) { System.IO.StreamWriter sw = new System.IO.StreamWriter(strFilePath, false, System.Text.Encoding.UTF8); //headers foreach (var col in mq.explicit_columns) { sw.Write("\"" + col.Header + "\""); sw.Write(";"); } sw.Write(sw.NewLine); foreach (System.Data.DataRow dr in dt.Rows) { foreach (var col in mq.explicit_columns) { string value = ""; if (!Convert.IsDBNull(dr[col.UniqueName])) { value = dr[col.UniqueName].ToString(); if (col.FieldType == "string") { value = "\"" + value + "\""; } } sw.Write(value); sw.Write(";"); } sw.Write(sw.NewLine); } sw.Close(); return(true); }
public List <BO.TheGridColumn> getDefaultPallete(bool bolComboColumns, BO.myQuery mq) { int intDefaultFlag1 = 1; int intDefaultFlag2 = 2; if (bolComboColumns == true) { intDefaultFlag2 = 3; } List <BO.TheGridColumn> ret = new List <BO.TheGridColumn>(); foreach (BO.TheGridColumn c in _lis.Where(p => p.Prefix == mq.Prefix && (p.DefaultColumnFlag == intDefaultFlag1 || p.DefaultColumnFlag == intDefaultFlag2))) { ret.Add(Clone2NewInstance(c)); } //List<BO.TheGridColumn> ret = _lis.Where(p => p.Prefix == mq.Prefix && (p.DefaultColumnFlag == intDefaultFlag1 || p.DefaultColumnFlag == intDefaultFlag2)).ToList(); List <BO.EntityRelation> rels = BL.TheEntities.getApplicableRelations(mq.Prefix); switch (mq.Prefix) { case "j02": ret.Add(InhaleColumn4Relation("j02_j03", "j03User", "j03Login", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("j02_j03", "j03User", "j04Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("j02_p28", "p28Company", "p28Name", rels, bolComboColumns)); break; case "p10": ret.Add(InhaleColumn4Relation("p10_p20", "p20Unit", "p20Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p10_p13", "p13MasterTpv", "p13Code", rels, bolComboColumns)); break; case "p11": ret.Add(InhaleColumn4Relation("p11_p20", "p20Unit", "p20Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p11_p21", "p21License", "p21Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p11_p21", "p21License", "p21PermissionFlag", rels, bolComboColumns)); break; case "p12": ret.Add(InhaleColumn4Relation("p12_p25", "p25MszType", "p25Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p12_p21", "p21License", "p21Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p12_p21", "p21License", "p21PermissionFlag", rels, bolComboColumns)); break; case "p13": ret.Add(InhaleColumn4Relation("p13_p25", "p25MszType", "p25Name", rels, bolComboColumns)); break; case "p14": ret.Add(InhaleColumn4Relation("p14_p18", "p18OperCode", "p18Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p14_p18", "p18OperCode", "p18Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p14_p19", "p19Material", "p19Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p14_p19", "p19Material", "p19Name", rels, bolComboColumns)); break; case "p15": ret.Add(InhaleColumn4Relation("p15_p18", "p18OperCode", "p18Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p15_p18", "p18OperCode", "p18Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p15_p19", "p19Material", "p19Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p15_p19", "p19Material", "p19Name", rels, bolComboColumns)); break; case "p21": ret.Add(InhaleColumn4Relation("p21_p28", "p28Company", "p28Name", rels, bolComboColumns)); break; case "p19": ret.Add(InhaleColumn4Relation("p19_p20", "p20Unit", "p20Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p19_p28", "p28Company", "p28Name", rels, bolComboColumns)); break; case "p26": ret.Add(InhaleColumn4Relation("p26_p25", "p25MszType", "p25Name", rels, bolComboColumns)); break; case "p27": ret.Add(InhaleColumn4Relation("p27_p31", "p31CapacityFond", "p31Name", rels, bolComboColumns)); break; case "p41": ret.Add(InhaleColumn4Relation("p41_p27", "p27MszUnit", "p27Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p41_b02", "b02Status", "b02Name", rels, bolComboColumns)); break; case "p44": ret.Add(InhaleColumn4Relation("p44_p18", "p18OperCode", "p18Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p44_p18", "p18OperCode", "p18Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p44_p19", "p19Material", "p19Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p44_p19", "p19Material", "p19Name", rels, bolComboColumns)); break; case "p51": ret.Add(InhaleColumn4Relation("p51_p28", "p28Company", "p28Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p51_b02", "b02Status", "b02Name", rels, bolComboColumns)); break; case "p52": ret.Add(InhaleColumn4Relation("p52_p11", "p11ClientProduct", "p11Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p51_p28", "p28Company", "p28Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p11_p20", "p20Unit", "p20Code", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("p52_p51", "p51Order", "p51DateDelivery", rels, bolComboColumns)); break; case "o51": ret.Add(InhaleColumn4Relation("o51_o53", "o53TagGroup", "o53Name", rels, bolComboColumns)); break; case "y02": ret.Add(InhaleColumn4Relation("y02_p31", "p31CapacityFond", "p31Name", rels, bolComboColumns)); ret.Add(InhaleColumn4Relation("y02_p27", "p27MszUnit", "p27Name", rels, bolComboColumns)); break; } return(ret); }
//zdroj checkboxů pro taghelper mycombochecklist: public string GetHtml4Checkboxlist(string controlid, string entity, string selectedvalues, string masterprefix, int masterpid, string param1) //Vrací HTML seznam checkboxů pro taghelper: mycombochecklist { var mq = new BO.myQuery(entity); mq.query_by_entity_prefix = param1; mq.explicit_columns = _colsProvider.getDefaultPallete(false, mq); mq.IsRecordValid = true; //v combo nabídce pouze časově platné záznamy if (masterpid > 0) { mq.InhaleMasterEntityQuery(masterprefix, masterpid); } List <int> selpids = null; if (String.IsNullOrEmpty(selectedvalues) == false) { selpids = BO.BAS.ConvertString2ListInt(selectedvalues); } string strTextField = "a__" + entity + "__" + mq.Prefix + "Name"; if (mq.Prefix == "p27") { mq.explicit_selectsql = "p27Name+' ('+p27Code+')' as NamePlusCode"; strTextField = "NamePlusCode"; } string strGroupField = null; string strLastGroup = null; string strGroup = null; string strChecked = ""; int intValue = 0; string strText = ""; var dt = Factory.gridBL.GetList(mq); var intRows = dt.Rows.Count; var sb = new System.Text.StringBuilder(); sb.AppendLine("<div class='row' style='padding:0px;margin:0px;'>"); sb.AppendLine("<div class='col-8'>"); sb.AppendLine("<ul style='list-style:none;padding-left:0px;'>"); for (int i = 0; i < intRows; i++) { intValue = Convert.ToInt32(dt.Rows[i]["pid"]); strText = Convert.ToString(dt.Rows[i][strTextField]); strChecked = ""; if (strGroupField != null) { if (dt.Rows[i][strGroupField] == null) { strGroup = null; } else { strGroup = Convert.ToString(dt.Rows[i][strGroupField]); } if (strGroup != strLastGroup) { sb.AppendLine("<li>"); sb.AppendLine("<div style='font-weight:bold;background-color:#ADD8E6;'><span style='padding-left:10px;'>" + strGroup + "</span></div>"); sb.AppendLine("</li>"); } } if (selpids != null && selpids.Where(p => p == intValue).Count() > 0) { strChecked = "checked"; } sb.AppendLine("<li>"); sb.Append(string.Format("<input type='checkbox' id='chk{0}_{1}' name='chk{0}' value='{1}' {2} />", controlid, intValue, strChecked)); sb.Append(string.Format("<label style='min-width:200px;' for='chk{0}_{1}'>{2}</label>", controlid, intValue, strText)); sb.AppendLine("</li>"); } sb.AppendLine("</ul>"); sb.AppendLine("</div>"); sb.AppendLine("<div class='col-4'>"); sb.AppendLine(string.Format("<button type='button' id='cmdCheckAll{0}' class='btn btn-light'>Zaškrtnout vše</button>", controlid)); sb.AppendLine(string.Format("<button type='button' id='cmdUnCheckAll{0}' class='btn btn-light'>Odškrtnout vše</button>", controlid)); sb.AppendLine("</div>"); sb.AppendLine("</div>"); return(sb.ToString()); }
public BO.Result receptura_operace_save(string p13Code, string p18Code, string p19Code, double p14UnitsCount, double p14DurationPreOper, double p14DurationOper, double p14DurationPostOper, int p14OperNum, double p14OperParam, int p14RowNum, double p14DurOperUnits, double p14DurOperMinutes) { if (string.IsNullOrEmpty(p13Code) == true || string.IsNullOrEmpty(p18Code) == true) { return(new BO.Result(true, "Na vstupu je povinný kód receptury [p13Code] a kód operace [p18Code].")); } if (p14RowNum <= 0 || p14OperNum <= 0) { return(new BO.Result(true, "[p14RowNum] a [p14OperNum] musí být kladné a nenulové číslo.")); } var recP13 = _f.p13MasterTpvBL.LoadByCode(p13Code, 0); if (recP13 == null) { return(new BO.Result(true, string.Format("Nelze načíst recepturu s kódem: {0}.", p13Code))); } var recP18 = _f.p18OperCodeBL.LoadByCode(p18Code, recP13.p25ID, 0); if (recP18 == null) { return(new BO.Result(true, string.Format("Nelze načíst šablonu operace s kódem: {0}.", p18Code))); } BO.p19Material recP19 = null; if (string.IsNullOrEmpty(p19Code) == false) { recP19 = _f.p19MaterialBL.LoadByCode(p19Code, 0); if (recP19 == null) { return(new BO.Result(true, string.Format("Nelze načíst surovinu s kódem: {0}.", p19Code))); } } var mq = new BO.myQuery("p14MasterOper"); mq.p13id = recP13.pid; var lisP14 = _f.p14MasterOperBL.GetList(mq); var recP14 = new BO.p14MasterOper() { p14RowNum = p14RowNum, p13ID = recP13.pid }; if (lisP14.Where(p => p.p14RowNum == p14RowNum).Count() > 0) { recP14 = lisP14.Where(p => p.p14RowNum == p14RowNum).First(); } recP14.p14OperNum = p14OperNum; recP14.p18ID = recP18.pid; recP14.p14UnitsCount = p14UnitsCount; recP14.p14OperParam = p14OperParam; recP14.p14DurOperUnits = p14DurOperUnits; recP14.p14DurOperMinutes = p14DurOperMinutes; recP14.p14DurationOper = p14DurationOper; recP14.p14DurationPreOper = p14DurationPreOper; recP14.p14DurationPostOper = p14DurationPostOper; if (recP19 != null) { recP14.p19ID = recP19.pid; } int intP14ID = _f.p14MasterOperBL.Save(recP14); if (intP14ID > 0) { return(new BO.Result(false, "Uloženo")); } else { string strErrs = string.Join(" ** ", _f.CurrentUser.Messages4Notify.Select(p => p.Value)); return(new BO.Result(true, strErrs)); } }
public string GetHtml4TheCombo(string entity, string tableid, string param1, string pids, string filterflag, string searchstring, string masterprefix, int masterpid) //Vrací HTML zdroj tabulky pro MyCombo { var mq = new BO.myQuery(entity); mq.SetPids(pids); mq.query_by_entity_prefix = param1; mq.IsRecordValid = true; //v combo nabídce pouze časově platné záznamy if (filterflag == "1") { mq.SearchString = searchstring; //filtrování na straně serveru mq.TopRecordsOnly = 50; //maximálně prvních 50 záznamů, které vyhovují podmínce } var cols = _colsProvider.getDefaultPallete(true, mq); mq.explicit_columns = cols; mq.explicit_orderby = BL.TheEntities.ByPrefix(mq.Prefix).SqlOrderByCombo; switch (mq.Prefix) { case "p18": mq.p18flag = BO.BAS.InInt(param1); mq.explicit_orderby = "a.p18Code"; if (masterprefix == "p25" && masterpid == 0) //v recepturách je kódy operací povinné zobrazovat v kontextu k typu zařízení { return("<p>Na vstupu chybí vybrat typ zařízení.</p>"); } break; } mq.InhaleMasterEntityQuery(masterprefix, masterpid); var dt = Factory.gridBL.GetList(mq); var intRows = dt.Rows.Count; var s = new System.Text.StringBuilder(); if (mq.TopRecordsOnly > 0) { if (intRows >= mq.TopRecordsOnly) { s.AppendLine(string.Format("<small style='margin-left:10px;'>Zobrazeno prvních {0} záznamů. Zpřesněte filtrovací podmínku.</small>", intRows)); } else { s.AppendLine(string.Format("<small style='margin-left:10px;'>Počet záznamů: {0}.</small>", intRows)); } } s.Append(string.Format("<table id='{0}' class='table table-hover'>", tableid)); s.Append("<thead><tr>"); foreach (var col in cols) { s.Append(string.Format("<th>{0}</th>", col.Header)); } s.Append(string.Format("</tr></thead><tbody id='{0}_tbody'>", tableid)); for (int i = 0; i < intRows; i++) { s.Append(string.Format("<tr class='txz' data-v='{0}'", dt.Rows[i]["pid"])); if (mq.Prefix == "p18" || mq.Prefix == "p19" || mq.Prefix == "p21" || mq.Prefix == "p26" || mq.Prefix == "p10" || mq.Prefix == "p13" || mq.Prefix == "p12" || mq.Prefix == "p11") { //po výběru hodnoty z comba bude SelectedText kód + název a nikoliv hodnota prvního sloupce s.Append(string.Format(" data-t='{0} - {1}'", dt.Rows[i]["a__" + mq.Entity + "__" + mq.Prefix + "Code"], dt.Rows[i]["a__" + mq.Entity + "__" + mq.Prefix + "Name"])); } //if (mq.Prefix == "p51") //{ // s.Append(string.Format(" data-t='{0} - {1} ## {2}'", dt.Rows[i]["a__p51Order__p51Code"], dt.Rows[i]["a__p51Order__p51Name"], dt.Rows[i]["p51_p28_p28Company_p28Name"])); //} s.Append(">"); foreach (var col in cols) { if (col.NormalizedTypeName == "num") { s.Append(string.Format("<td style='text-align:right;'>{0}</td>", BO.BAS.ParseCellValueFromDb(dt.Rows[i], col))); } else { s.Append(string.Format("<td>{0}</td>", BO.BAS.ParseCellValueFromDb(dt.Rows[i], col))); } } s.Append("</tr>"); } s.Append("</tbody></table>"); return(s.ToString()); }
private void handle_create_by_p52(int p52id) { if (_lisP27.Count == 0 || p52id == 0) { return; } var cP52 = _f.p52OrderItemBL.Load(p52id); var cP11 = _f.p11ClientProductBL.Load(cP52.p11ID); double dblTotalKG = cP52.Recalc2Kg - cP52.p52Task_Kg; double dblUsedKG = 0; DateTime dat0 = _dat0; var mq = new BO.myQuery("p41Task"); mq.p52id = p52id; int x = 1; string strLastCode = ""; if (dblTotalKG <= 0) { _f.CurrentUser.AddMessage(string.Format("Položka objednávky [{0}] je již kompletně rozplánovaná.", cP52.p52Code)); } while (dblUsedKG < dblTotalKG) { foreach (var kotel in _lisP27) { var rec = new BO.p41Task(); rec.p52ID = p52id; rec.p52Code = cP52.p52Code; rec.p27ID = kotel.pid; rec.p27Name = kotel.p27Name; rec.p41Name = cP11.p11Name + " [" + cP11.p11Code + "]"; rec.p41PlanUnitsCount = kotel.p27Capacity; if (rec.p41PlanUnitsCount + dblUsedKG > dblTotalKG) { rec.p41PlanUnitsCount = dblTotalKG - dblUsedKG; } double dur = _f.p12ClientTpvBL.Simulate_Total_Duration(cP11.p12ID, rec.p41PlanUnitsCount, kotel.pid); dat0 = kotel.DateInsert; rec.p41PlanStart = dat0; rec.p41Duration = dur; rec.p41Code = _f.p41TaskBL.EstimateTaskCode(cP52.p52Code, x); while (strLastCode == rec.p41Code) { x += 1; rec.p41Code = _f.p41TaskBL.EstimateTaskCode(cP52.p52Code, x); } //kotel.DateInsert = rec.p41PlanEnd.AddSeconds(1); kotel.DateInsert = rec.p41PlanEnd; _tasks.Add(rec); dblUsedKG += rec.p41PlanUnitsCount; if (dblUsedKG >= dblTotalKG) { return; } x += 1; strLastCode = rec.p41Code; } } }
public DataTable GetList(BO.myQuery mq, bool bolGetTotalsRow = false) { var sb = new System.Text.StringBuilder(); sb.Append("SELECT "); if (mq.TopRecordsOnly > 0) { sb.Append("TOP " + mq.TopRecordsOnly.ToString() + " "); } if (mq.explicit_columns == null || mq.explicit_columns.Count() == 0) { mq.explicit_columns = new BL.TheColumnsProvider(_mother.App).getDefaultPallete(false, mq); //na vstupu není přesný výčet sloupců -> pracovat s default sadou } if (bolGetTotalsRow) { sb.Append(string.Join(",", mq.explicit_columns.Select(p => p.getFinalSqlSyntax_SUM()))); //součtová řádka gridu } else { sb.Append(string.Join(",", mq.explicit_columns.Select(p => p.getFinalSqlSyntax_SELECT()))); //grid sloupce } sb.Append("," + GetSQL_SELECT_Ocas(mq.Prefix, bolGetTotalsRow)); //konstantní pole jako pid,isclosed if (bolGetTotalsRow == false && (mq.Prefix == "p21" || mq.Prefix == "p41" || mq.Prefix == "o23" || mq.Prefix == "p51" || mq.Prefix == "p10" || mq.Prefix == "p26" || mq.Prefix == "p11")) { sb.Append(",bc.b02Color as bgcolor"); } else { sb.Append(",NULL as bgcolor"); } if (mq.explicit_selectsql != null) { sb.Append("," + mq.explicit_selectsql); } sb.Append(" FROM "); BO.TheEntity ce = BL.TheEntities.ByPrefix(mq.Prefix); sb.Append(ce.SqlFromGrid); //úvodní FROM klauzule s primární "a" tabulkou List <string> relSqls = new List <string>(); foreach (BO.TheGridColumn col in mq.explicit_columns.Where(x => x.RelName != null && x.RelName != "a")) { if (col.RelSqlDependOn != null && relSqls.Exists(p => p == col.RelSqlDependOn) == false) { //if (mq.Prefix=="p41" && (col.RelName == "p11_p20" || col.RelName== "p11_p20pro")) //{ //natvrdo relace, protože bohužel neumíme závilost ob dvě relace: // if (relSqls.Exists(p => p == "INNER JOIN p52OrderItem p41_p52 ON a.p52ID = p41_p52.p52ID") == false) // { // relSqls.Add("INNER JOIN p52OrderItem p41_p52 ON a.p52ID=p41_p52.p52ID"); // sb.Append(" INNER JOIN p52OrderItem p41_p52 ON a.p52ID=p41_p52.p52ID"); // } //} relSqls.Add(col.RelSqlDependOn); sb.Append(" "); sb.Append(col.RelSqlDependOn); } if (relSqls.Exists(p => p == col.RelSql) == false) { relSqls.Add(col.RelSql); sb.Append(" "); sb.Append(col.RelSql); } } //vždy musí být nějaké výchozí třídění v ce.SqlOrderBy!! if (bolGetTotalsRow == false && String.IsNullOrEmpty(mq.explicit_orderby)) { mq.explicit_orderby = ce.SqlOrderBy; } //parametrický dotaz s WHERE klauzulí DL.FinalSqlCommand q = DL.basQuery.ParseFinalSql(sb.ToString(), mq, _mother.CurrentUser, true); //závěrečné vygenerování WHERE a ORDERBY klauzule if (bolGetTotalsRow == false && mq.OFFSET_PageSize > 0) { q.FinalSql += " OFFSET @pagesize*@pagenum ROWS FETCH NEXT @pagesize ROWS ONLY"; if (q.Parameters4DT == null) { q.Parameters4DT = new List <DL.Param4DT>(); } q.Parameters4DT.Add(new DL.Param4DT() { ParamType = "int", ParName = "pagesize", ParValue = mq.OFFSET_PageSize }); q.Parameters4DT.Add(new DL.Param4DT() { ParamType = "int", ParName = "pagenum", ParValue = mq.OFFSET_PageNum }); } return(_db.GetDataTable(q.FinalSql, q.Parameters4DT)); }
public string GetWorkTable(string entity, string tableid, string param1, string pids, string delete_function, string edit_function, string queryfield, string queryvalue, string master_entity, int master_pid) { var mq = new BO.myQuery(entity); mq.SetPids(pids); var grid = Factory.j72TheGridTemplateBL.LoadState(entity, Factory.CurrentUser.pid, master_entity); if (grid == null) { mq.explicit_columns = _colsProvider.getDefaultPallete(false, mq); } else { mq.explicit_columns = _colsProvider.ParseTheGridColumns(mq.Prefix, grid.j72Columns); mq.explicit_orderby = grid.j75SortDataField; if (grid.j75SortDataField != null && grid.j75SortOrder != null) { mq.explicit_orderby += " " + grid.j75SortOrder; } } mq.InhaleMasterEntityQuery(master_entity, master_pid); if (string.IsNullOrEmpty(queryfield) == false) { BO.Reflexe.SetPropertyValue(mq, queryfield, queryvalue); } var dt = Factory.gridBL.GetList(mq); var intRows = dt.Rows.Count; var sb = new System.Text.StringBuilder(); sb.Append(string.Format("<table id='{0}' class='table table-sm table-hover'>", tableid)); sb.Append("<thead><tr class='bg-light'>"); if (edit_function != null) { sb.Append(("<th></th>")); } foreach (var c in mq.explicit_columns) { if (c.NormalizedTypeName == "num") { sb.Append(string.Format("<th style='text-align:right;'>{0}</th>", c.Header)); } else { sb.Append(string.Format("<th>{0}</th>", c.Header)); } } if (delete_function != null) { sb.Append(("<th></th>")); } sb.Append("</tr></thead>"); sb.Append("<tbody>"); for (int i = 0; i < intRows; i++) { sb.Append(string.Format("<tr data-v='{0}'>", dt.Rows[i]["pid"])); if (edit_function != null) { sb.Append(string.Format("<td><button type='button' class='btn btn-sm btn-light' onclick='{0}({1})'>Upravit</button></td>", edit_function, dt.Rows[i]["pid"])); } foreach (var col in mq.explicit_columns) { if (col.NormalizedTypeName == "num") { sb.Append(string.Format("<td style='text-align: right;'>{0}</td>", BO.BAS.ParseCellValueFromDb(dt.Rows[i], col))); } else { sb.Append(string.Format("<td>{0}</td>", BO.BAS.ParseCellValueFromDb(dt.Rows[i], col))); } } if (delete_function != null) { sb.Append(string.Format("<td><button type='button' class='btn btn-sm btn-danger' title='Odstranit řádek' onclick='{0}({1})'>×</button></td>", delete_function, dt.Rows[i]["pid"])); } sb.Append("</tr>"); } sb.Append("</tbody>"); sb.Append("</table>"); return(sb.ToString()); }
private void Render_DATAROWS(System.Data.DataTable dt, BO.myQuery mq) { int intRows = dt.Rows.Count; int intStartIndex = 0; int intEndIndex = 0; if (mq.OFFSET_PageSize > 0) { //Zapnutý OFFSET - pouze jedna stránka díky OFFSET intStartIndex = 0; intEndIndex = intRows - 1; } else { //bez OFFSET intStartIndex = _grid.GridState.j75CurrentPagerIndex; intEndIndex = intStartIndex + _grid.GridState.j75PageSize - 1; if (intEndIndex + 1 > intRows) { intEndIndex = intRows - 1; } } for (int i = intStartIndex; i <= intEndIndex; i++) { System.Data.DataRow dbRow = dt.Rows[i]; string strRowClass = "selectable"; if (Convert.ToBoolean(dbRow["isclosed"]) == true) { strRowClass += " trbin"; } if (_grid.GridState.OnDblClick == null) { _s.Append(string.Format("<tr id='r{0}' class='{1}'>", dbRow["pid"], strRowClass)); } else { _s.Append(string.Format("<tr id='r{0}' class='{1}' ondblclick='{2}(this)'>", dbRow["pid"], strRowClass, _grid.GridState.OnDblClick)); } if (_grid.GridState.j72SelectableFlag > 0) { _s.Append(string.Format("<td class='td0' style='width:20px;'><input type='checkbox' id='chk{0}'/></td>", dbRow["pid"])); } else { _s.Append("<td class='td0' style='width:20px;'></td>"); } if (dbRow["bgcolor"] == System.DBNull.Value) { _s.Append("<td class='td1' style='width:20px;'></td>"); } else { _s.Append(string.Format("<td class='td1' style='width:20px;background-color:{0}'></td>", dbRow["bgcolor"])); } if (_grid.GridState.ContextMenuFlag > 0) { _s.Append(string.Format("<td class='td2' style='width:20px;'><a class='cm' onclick='tg_cm(event)'>☰</a></td>")); //hamburger menu } else { _s.Append("<td class='td2' style='width:20px;'>"); //bez hamburger menu } foreach (var col in _grid.Columns) { _s.Append("<td"); if (col.CssClass != null) { _s.Append(string.Format(" class='{0}'", col.CssClass)); } if (i == intStartIndex) //první řádek musí mít explicitně šířky, aby to z něj zdědili další řádky { _s.Append(string.Format(" style='width:{0}'", col.ColumnWidthPixels)); } _s.Append(string.Format(">{0}</td>", BO.BAS.ParseCellValueFromDb(dbRow, col))); } _s.Append("</tr>"); } }
public TheGridOutput render_thegrid_html(BO.TheGridState gridState) { var ret = new TheGridOutput(); _grid = new TheGridViewModel() { Entity = gridState.j72Entity }; _grid.GridState = gridState; ret.sortfield = gridState.j75SortDataField; ret.sortdir = gridState.j75SortOrder; var mq = new BO.myQuery(gridState.j72Entity); _grid.Columns = _colsProvider.ParseTheGridColumns(mq.Prefix, gridState.j72Columns); 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; } mq.explicit_columns = _grid.Columns; if (String.IsNullOrEmpty(gridState.j75Filter) == false) { mq.TheGridFilter = _colsProvider.ParseAdhocFilterFromString(gridState.j75Filter, mq.explicit_columns); } mq.lisPeriods = _pp.getPallete(); if (gridState.j72HashJ73Query) { mq.lisJ73 = Factory.j72TheGridTemplateBL.GetList_j73(gridState.j72ID, gridState.j72Entity.Substring(0, 3)); } mq.InhaleMasterEntityQuery(gridState.j72MasterEntity, gridState.MasterPID); var dtFooter = Factory.gridBL.GetList(mq, true); int intVirtualRowsCount = 0; if (dtFooter.Columns.Count > 0) { intVirtualRowsCount = Convert.ToInt32(dtFooter.Rows[0]["RowsCount"]); } else { this.AddMessage("GRID Error: Dynamic SQL failed."); } if (intVirtualRowsCount > 500) { //dotazy nad 500 záznamů budou mít zapnutý OFFSET režim stránkování mq.OFFSET_PageSize = gridState.j75PageSize; mq.OFFSET_PageNum = gridState.j75CurrentPagerIndex / gridState.j75PageSize; } //třídění řešit až po spuštění FOOTER summary DOTAZu if (String.IsNullOrEmpty(gridState.j75SortDataField) == false && _grid.Columns.Where(p => p.UniqueName == gridState.j75SortDataField).Count() > 0) { var c = _grid.Columns.Where(p => p.UniqueName == gridState.j75SortDataField).First(); mq.explicit_orderby = c.getFinalSqlSyntax_ORDERBY() + " " + gridState.j75SortOrder; } var dt = Factory.gridBL.GetList(mq); if (_grid.GridState.j75CurrentRecordPid > 0 && intVirtualRowsCount > gridState.j75PageSize) { //aby se mohlo skočit na cílový záznam, je třeba najít stránku, na které se záznam nachází System.Data.DataRow[] recs = dt.Select("pid=" + _grid.GridState.j75CurrentRecordPid.ToString()); if (recs.Count() > 0) { var intIndex = dt.Rows.IndexOf(recs[0]); _grid.GridState.j75CurrentPagerIndex = intIndex - (intIndex % _grid.GridState.j75PageSize); } } _s = new System.Text.StringBuilder(); Render_DATAROWS(dt, mq); ret.body = _s.ToString(); _s = new System.Text.StringBuilder(); Render_TOTALS(dtFooter); ret.foot = _s.ToString(); _s = new System.Text.StringBuilder(); RENDER_PAGER(intVirtualRowsCount); ret.pager = _s.ToString(); return(ret); }