public SourceTableProvider(TableLink sourceTableLink, RowLink[] sourceRows) { this.sourceTableLink = sourceTableLink; //this.table = sourceTableLink.Table.Copy(); this.table = sourceTableLink.Table.Clone(); foreach (RowLink sourceRow in sourceRows) { table.ImportRow(sourceRow.DataRow); } }
public static List<int> GetSelectedLetterIds(JsonData json, TableLink letterTable) { List<int> selectedLetterIds = new List<int>(); foreach (RowLink letter in letterTable.AllRows) { int letterId = letter.Get(LetterType.Id); if (json.GetText(string.Format("check_{0}", letterId)) == "True") selectedLetterIds.Add(letterId); } return selectedLetterIds; }
public static TableLink LoadTableLink(IDataLayer dbConnection, IPrimaryKeyCreator primaryKeyCreator, FieldBlank[] fields, IndexBlank[] indicies, LinkConstraint[] constraints, string database, string select, string conditionWithoutWhere, params DbParameter[] conditionParameters) { TableLink link = new TableLink( new DatabaseTableProvider(dbConnection, database, select, conditionWithoutWhere, conditionParameters), primaryKeyCreator, fields, indicies, constraints); if (primaryKeyCreator != null) link.Table.PrimaryKey = new DataColumn[] { link.Table.Columns[0] }; return link; }
//public SourceTableProvider(TableLink sourceTableLink, RowLink[] sourceRows) //{ // this.sourceTableLink = sourceTableLink; // this.table = sourceTableLink.Table.Clone(); // foreach (RowLink sourceRow in sourceRows) // { // DataRow newRow = table.NewRow(); // for (int i = 0; i < table.Columns.Count; ++i) // { // newRow[i] = sourceRow.DataRow[i]; // } // table.Rows.Add(newRow); // } // table.AcceptChanges(); //} public SourceTableProvider(TableLink sourceTableLink, IndexBlank index, params object[] keyParts) : this(sourceTableLink, sourceTableLink.FindRows(index, keyParts)) { }
public UniversalKey CreateKey(TableLink tableLink, IRowLink rowLink) { object[] partKeys = new object[IndexColumns.Length]; for (int i = 0; i < partKeys.Length; ++i) { FieldLink fieldLink = tableLink.GetFieldLink(IndexColumns[i]); partKeys[i] = fieldLink.FieldBlank.GetValue(rowLink); } return new UniversalKey(partKeys); }
//public static HButton IconButton(string caption, string fontIcon) //{ // return std.Button(caption, // new HBefore().FontFamily("sept").Content(fontIcon).VAlign(-2).MarginRight("4px") // ); // //return std.Button(caption, new HLabel("", // // new HBefore().FontFamily("sept").Content(fontIcon).VAlign(-2)) // //); //} public static IHtmlControl MoreComboButton(MailState state, TableLink letterTable) { return std.ComboButton( new HBefore().FontFamily("sept").Content(@"\2261").VAlign(-2).MarginRight("3px").MarginLeft(-1), "Ещё", false, new HLabel("Отметьте галочками нужные письма").Unselectable().Color(Color.Gray).Padding(4, 8).NoWrap(), std.Separator(), new HButton("Пометить прочитанным") .Event("letter_to_read", "mailListData", delegate(JsonData json) { List<int> selectedLetterIds = DataHlp.GetSelectedLetterIds(json, letterTable); if (selectedLetterIds.Count == 0) { state.Operation.Error = "Нет выбранных писем"; return; } dbConnection.GetScalar("", string.Format( "update letter Set read = 1 Where id in ({0})", StringHlp.Join(", ", "{0}", selectedLetterIds) )); }), new HButton("Пометить непрочитанным") .Event("letter_to_unread", "mailListData", delegate(JsonData json) { List<int> selectedLetterIds = DataHlp.GetSelectedLetterIds(json, letterTable); if (selectedLetterIds.Count == 0) { state.Operation.Error = "Нет выбранных писем"; return; } dbConnection.GetScalar("", string.Format( "update letter Set read = 0 Where id in ({0})", StringHlp.Join(", ", "{0}", selectedLetterIds) )); }) ); //return new HDropdown2( // false, // new HDropStyle(). // DropList(new HTone() // .Right("0px").Top("31px") // .Background(Color.FromArgb(247, 247, 247)) // .Border("1px", "solid", Color.FromArgb(224, 224, 224), "2px") // .CssAttribute("border-top", "none") // .Padding(4, 0) // ). // RootWhenDropped(new HTone() // .Background(Color.FromArgb(247, 247, 247)) // .Border("1px", "solid", Color.FromArgb(224, 224, 224), "0px") // .CssAttribute("border-bottom", "none") // ). // AnyItem(new HTone().Padding(4, 8)). // SelectedItem(new HTone() // .Color(Color.FromArgb(245, 255, 230)) // .Background(Color.FromArgb(99, 99, 99)) // ), // new HButton("Выделенные письма", // new HAfter().Content(@"▼").FontSize("60%").MarginLeft(4).MarginRight(-2).VAlign(1), // new HHover().Border("1px", "solid", Color.FromArgb(170, 170, 170), "2px"). // LinearGradient("to top right", Color.FromArgb(204, 204, 204), Color.FromArgb(234, 234, 234)) // ) // .Padding(6, 12) // .LinearGradient("to top right", Color.FromArgb(221, 221, 221), Color.FromArgb(241, 241, 241)) // .Border("1px", "solid", Color.FromArgb(187, 187, 187), "2px"), // new HLabel("Отметьте галочками нужные письма", // new HHover().Background(Color.FromArgb(247, 247, 247)).Color(Color.Gray) // ).Color(Color.Gray), // std.Separator(), // new HButton("Пометить прочитанным"), // new HButton("Пометить непрочитанным") //); //return new HDropdown( // new HButton("Выделенные письма", // new HAfter().Content(@"▼").FontSize("60%").MarginLeft(4).VAlign(1)).Padding(6, 12), // //std.Button("Выделенные письма", // // new HAfter().Content(@"▼").FontSize("60%").MarginLeft(4).VAlign(1) // //), // false, // new HLabel("Пометить прочитанным").Padding(4, 8), // new HLabel("Пометить непрочитанным").Padding(4, 8) //).Background(Color.FromArgb(247, 247, 247)) //.Border("1px", "solid", Color.FromArgb(187, 187, 187), "2px") //.Padding(4, 0) //.CssAttribute("border-top", "none") //.Right("0px").Top("30px"); }