public override async Task <bool> SaveItem(DBItem item, DBTransaction transaction) { if ((item.UpdateState & DBUpdateState.Delete) == DBUpdateState.Delete && item is DBLogItem logItem && FileLOBKey is DBLogColumn logColumn) { var lob = item.GetValue <uint?>(logColumn); var current = logItem.BaseItem?.GetValue <uint?>(logColumn.BaseColumn); if (lob != null && lob != current) { var qquery = new QQuery(this); qquery.BuildParam(FileLOBKey, lob); if (!Load(qquery).Any(p => p != item)) { try { using (var transactionDeleteLOB = new DBTransaction(transaction.DbConnection, transaction.Caller)) { await System.DeleteLOB(lob.Value, transactionDeleteLOB); transactionDeleteLOB.Commit(); } } catch (Exception ex) { Helper.OnException(ex); } } } } return(await base.SaveItem(item, transaction)); }
/// <summary> /// Возвращает подразделение пользователя. /// </summary> /// <param name="idUser"></param> /// <returns>id подразделения</returns> private string GetDepartment() { DBList listUsers = this.Site.UsersList; DBItem user = listUsers.GetItem(this.UserID); string _department = ""; _department = user.GetValue(Consts.FieldDepartment).ToString(); return(_department); }
/// <summary> /// Возвращает должность пользователя. /// </summary> /// <param name="idUser"></param> /// <returns>id должности</returns> private string GetPosition() { DBList listUsers = this.Site.UsersList; DBItem user = listUsers.GetItem(this.UserID); string _position = ""; _position = user.GetValue(Consts.FieldPosition).ToString(); return(_position); }
public static void Write(BinaryWriter writer, DBItem row, Dictionary <DBColumn, int> map, bool old = false) { WriteSeparator(writer, DBRowBinarySeparator.RowStart); foreach (KeyValuePair <DBColumn, int> item in map) { object field = row.GetValue(item.Key); object value = old && row.GetOld(item.Key, out object oldValue) ? oldValue : field; if (value == null) { continue; } writer.Write(item.Value); Helper.WriteBinary(writer, value, true); } WriteSeparator(writer, DBRowBinarySeparator.RowEnd); }
/// <summary> /// Возвращает должность пользователя /// </summary> /// <param name="idUser"></param> /// <returns></returns> private string Position(string idUser) { string _position = ""; try { int id = Convert.ToInt32(idUser); // Подключаемся к БД DBSite site = this.AppContext.Site; DBList listUsers = site.UsersList; DBItem user = listUsers.GetItem(id); _position = user.GetValue(Const.Position).ToString(); } catch (Exception ex) { throw ex; } return(_position); }