/// <summary> /// Обновить данные в текущей строке таблицы. /// </summary> /// <param name="table">Таблица.</param> /// <param name="reference">Ссылка на доску.</param> /// <param name="prep">Тип обновления.</param> protected virtual void UpdateFullRowInfo(BoardReferenceTable table, IBoardReference reference, JET_prep prep) { var row = new BoardReferenceTable.ViewValues.FullRowView() { Id = GetId(reference), Category = reference.Category ?? "", Pages = reference.Pages, IsAdult = reference.IsAdult, DefaultName = reference.DefaultName, ShortName = reference.ShortName, DisplayName = reference.DisplayName, ExtendedData = SerializeDataContract(BoardExtendedInfo.ToContract(reference, LinkSerialization)), BumpLimit = reference.BumpLimit }; if (prep == JET_prep.Replace) { table.Update.UpdateAsFullRowView(ref row); } else if (prep == JET_prep.Insert) { table.Insert.InsertAsFullRowView(ref row); } }
/// <summary> /// Десериализовать дополнительную ифнмормацию. /// </summary> /// <param name="extended">Дополнительная информация.</param> /// <param name="result">Результат.</param> protected virtual void SetExtendedInfo(byte[] extended, BoardReference result) { BoardExtendedInfo.SetExtendedInfoFor(DeserializeDataContract <BoardExtendedInfo>(extended), result, LinkSerialization); }