private static void AddLockedByIcon(SimpleDataRow newRow, DataRow row) { var lockedBy = (int?)row.Field <decimal?>(FieldName.LockedBy); string icon, toolTip; if (lockedBy == QPContext.CurrentUserId) { icon = LockedByYouIcon; toolTip = SiteStrings.Tooltip_LockedByYou; } else if (lockedBy.HasValue) { icon = LockedNotByYouIcon; var lockerDisplayName = row.Field <string>(FieldName.LockerFirstName) + " " + row.Field <string>(FieldName.LockerLastName); toolTip = string.Format(SiteStrings.Tooltip_LockedByUser, lockerDisplayName); } else { icon = EmptyIcon; toolTip = string.Empty; } newRow.Add(FieldName.LockedByIcon, icon); newRow.Add(FieldName.LockedByTooltip, toolTip); }
} // func ExecuteNoneResult /// <summary>Execute the command and return one row.</summary> /// <param name="args"></param> /// <returns></returns> public IDataRow ExecuteSingleRow(object args) { var first = true; IDataRow result = null; foreach (var c in ExecuteResult(args, PpsDataTransactionExecuteBehavior.SingleRow)) { if (first) { using (var r = c.GetEnumerator()) { if (r.MoveNext()) { result = new SimpleDataRow(r.Current); } } first = false; } else { c.GetEnumerator()?.Dispose(); } } return(result); } // func ExecuteSingleRow
private static void AddInvisibleIcon(SimpleDataRow newRow, DataRow row) { var visible = row.Field <bool?>(FieldName.Visible); string icon, toolTip; if (visible.HasValue && visible.Value) { icon = EmptyIcon; toolTip = string.Empty; } else { icon = IsInvisibleIcon; toolTip = ArticleStrings.IsInvisibleTooltip; } newRow.Add(FieldName.VisibleIcon, icon); newRow.Add(FieldName.VisibleTooltip, toolTip); }
private static void AddScheduledIcon(SimpleDataRow newRow, DataRow row) { var scheduled = row.Field <bool?>(FieldName.Scheduled); string icon, toolTip; if (scheduled.HasValue && scheduled.Value) { icon = IsScheduledIcon; toolTip = ArticleStrings.IsScheduledTooltip; } else { icon = EmptyIcon; toolTip = string.Empty; } newRow.Add(FieldName.ScheduledIcon, icon); newRow.Add(FieldName.ScheduledTooltip, toolTip); }
public static SimpleDataRow ToSimpleDataRow(this DataRow dr) { var sr = new SimpleDataRow(); var dt = dr?.Table; if (dt?.Columns.Count > 0) { sr = new SimpleDataRow(); foreach (DataColumn dc in dt.Columns) { var columnName = dc.ColumnName; var columnValue = dr[columnName]; sr.Add(columnName, columnValue); } } return(sr); }
public void UpdateDbClientVersion() { rowClientVersion = null; try { List <SimpleDataRow> rows = dbManager.QueryGeneric("select create_type, create_time from client_cleate_type_master").rows; if (rows.Count == 0) { return; } rowClientVersion = rows[0]; } catch (Exception e) { Debug.Log("Sqlite3: Exception: " + e.ToString()); return; } }
internal static IEnumerable <SimpleDataRow> GetResult(List <DataRow> rows, List <Field> fieldList, bool?onlyIds) { var articleIds = rows.Select(x => (int)x.Field <decimal>(FieldName.ContentItemId)).ToList(); if (onlyIds.HasValue && onlyIds.Value) { foreach (var id in articleIds) { var dr = new SimpleDataRow { { FieldName.ContentItemId, (decimal)id } }; yield return(dr); } } else { var m2MFieldValues = new Dictionary <string, List <string> >(); var m2OFieldValues = new Dictionary <string, List <string> >(); var m2OFields = fieldList.Where(x => x.ExactType == FieldExactTypes.M2ORelation && x.ViewInList).ToList(); var m2MFields = fieldList.Where(x => x.ExactType == FieldExactTypes.M2MRelation && x.ViewInList).ToList(); foreach (var field in m2OFields) { var m2ODisplayFieldName = ArticleService.GetTitleName(field.BackRelation.ContentId); var m2OValues = ArticleService.GetM2OValuesBatch(articleIds, field.BackRelation.ContentId, field.Id, field.BackRelation.Name, m2ODisplayFieldName); foreach (var val in m2OValues) { m2OFieldValues.Add(val.Key, val.Value); } } foreach (var field in m2MFields) { // ReSharper disable once PossibleInvalidOperationException var m2MDisplayFieldName = ArticleService.GetTitleName(field.RelateToContentId.Value); // ReSharper disable once PossibleInvalidOperationException var m2MValues = ArticleService.GetM2MValuesBatch(articleIds, field.LinkId.Value, m2MDisplayFieldName, field.RelateToContentId.Value); foreach (var val in m2MValues) { m2MFieldValues.Add(val.Key, val.Value); } } var resultValues = m2MFieldValues.Union(m2OFieldValues).ToDictionary(k => k.Key, v => v.Value); foreach (var row in rows) { var dr = new SimpleDataRow(); CopyValue(dr, row, FieldName.ContentItemId); CopyValue(dr, row, FieldName.StatusTypeName); CopyValue(dr, row, "STATUS_TYPE_COLOR"); CopyValue(dr, row, FieldName.ModifierLogin); dr.Add(FieldName.Modified, row.Field <DateTime>(FieldName.Modified).ValueToDisplay()); dr.Add(FieldName.Created, row.Field <DateTime>(FieldName.Created).ValueToDisplay()); AddLockedByIcon(dr, row); AddSplittedIcon(dr, row); AddInvisibleIcon(dr, row); AddScheduledIcon(dr, row); var currentArticleId = (int)row.Field <decimal>(FieldName.ContentItemId); var relationCounters = new Dictionary <int, int>(); foreach (var field in fieldList) { var sourceValue = GetSourceDynamicValue(field, row, relationCounters); var destValue = GetDestDynamicValue(field, sourceValue, currentArticleId, resultValues); dr.Add(field.FormName, destValue); } yield return(dr); } } }
private static void CopyValue(SimpleDataRow newRow, DataRow oldRow, string key) { newRow.Add(key, oldRow[key]); }