public _FieldBase Save(_FieldBase item) { DynamicParameters @params = new DynamicParameters(); @params.Add("_id", item.Id, DbType.Int32); @params.Add("__field_type_id", item._FieldTypeId, DbType.Int32); @params.Add("_name", item.Name, DbType.String); @params.Add("_db_name", item.DatabaseName, DbType.String); @params.Add("__entity_id", item._EntityId, DbType.Int32); @params.Add("_is_identity", item.IsIdentity, DbType.Boolean); item.Id = this._dataContext.Connection.ExecuteScalar <int>("_Field$Save", @params, this._dataContext.Transaction, commandType: CommandType.StoredProcedure); return(item); }
/// <summary> /// Сохранить поле. /// </summary> /// <param name="field">Поле.</param> /// <param name="currentUserId">Идентификатор текущего пользователя.</param> /// <returns>Поле.</returns> public _FieldBase Save(_FieldBase field, int currentUserId) { { Argument.Require(currentUserId != 0, "Текущий пользователь не определен."); Argument.Require(field != null, "Поле пустое."); Argument.Require(field._EntityId > 0, "Идентификатор сущности пустой."); using (var uow = this.CreateAdminUnitOfWork()) { if (field.IsIdentity) { List <_Field> entityFields = uow._FieldRepository.Query(entityId: field._EntityId); _Field identity = entityFields.FirstOrDefault(f => f.IsIdentity); Argument.Require(identity == null || identity.Id == field.Id, $"У сущности должно быть единственное поле-идентификатор. " + $"В сущности \"{identity._EntityName}\" поле-идентификатор \"{identity.Name}\"."); } return(uow._FieldRepository.Save(field)); } } }
public _FieldBase Save([FromBody] _FieldBase field) { int userId = GetCurrentUserId(); return(FieldService.Save(field, userId)); }