Skip to content

Commit

Permalink
Исправления замечаний
Browse files Browse the repository at this point in the history
  • Loading branch information
inaidanov committed Mar 20, 2024
1 parent a7716bb commit 73ac846
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).

### Added
1. `updateViews` parameter of `DefaultDataObjectEdmModelBuilder` class. It allows to change update views for data objects (update view is used for loading a data object during OData update requests).
2. `masterLightLoadTypes` and `masterLightLoadAllTypes` parameters of `DefaultDataObjectEdmModelBuilder` class. They allow to change loading mode of masters during OData update requests.

### Changed
1. Updated Flexberry ORM up to 7.2.0-beta01.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -776,7 +776,7 @@ private DataObject ReturnDataObject(Type objType, object keyValue, View view)
IEnumerable<PropertyInView> ownProps = view.Properties.Where(p => !p.Name.Contains('.'));
if (!ownProps.All(p => loadedProps.Contains(p.Name)))
{
// Вычитывать объект сразу с детейлами нельзя, поскольку в этой же транзакции могут уже оказать отдельные операции с детейлами и перевычитка затрёт эти изменения.
// Вычитывать объект сразу с детейлами нельзя, поскольку в этой же транзакции могут уже оказаться отдельные операции с детейлами и перевычитка затрёт эти изменения.
View miniView = view.Clone();
DetailInView[] miniViewDetails = miniView.Details;
miniView.Details = new DetailInView[0];
Expand All @@ -792,7 +792,7 @@ private DataObject ReturnDataObject(Type objType, object keyValue, View view)
return dataObjectFromCache;
}

// Вычитывать объект сразу с детейлами нельзя, поскольку в этой же транзакции могут уже оказать отдельные операции с детейлами и перевычитка затрёт эти изменения.
// Вычитывать объект сразу с детейлами нельзя, поскольку в этой же транзакции могут уже оказаться отдельные операции с детейлами и перевычитка затрёт эти изменения.
View lightView = view.Clone();
DetailInView[] lightViewDetails = lightView.Details;
lightView.Details = new DetailInView[0];
Expand Down Expand Up @@ -860,9 +860,9 @@ private static void AddObjectToUpdate(List<DataObject> objsToUpdate, DataObject
/// <returns>Значение ключа.</returns>
private object GetKey(EdmEntityObject edmEntity)
{
if (edmEntity == null)
if (edmEntity == null)
{
throw new ArgumentNullException(nameof(value), $"{nameof(edmEntity)} can not be null.");
throw new ArgumentNullException(nameof(edmEntity), $"{nameof(edmEntity)} can not be null.");
}

object key;
Expand All @@ -883,9 +883,9 @@ private object GetKey(EdmEntityObject edmEntity)
/// <returns>Объект данных.</returns>
private DataObject GetDataObjectByEdmEntityLight(EdmEntityObject edmEntity)
{
if (edmEntity == null)
if (edmEntity == null)
{
throw new ArgumentNullException(nameof(value), $"{nameof(edmEntity)} can not be null.");
throw new ArgumentNullException(nameof(edmEntity), $"{nameof(edmEntity)} can not be null.");
}

var masterType = _model.GetDataObjectType(edmEntity);
Expand Down Expand Up @@ -945,9 +945,6 @@ private DataObject GetDataObjectByEdmEntity(EdmEntityObject edmEntity, object ke
.ToList();
foreach (var prop in changedProps)
{
object value;
edmEntity.TryGetPropertyValue(prop.Name, out value);

string dataObjectPropName;
try
{
Expand All @@ -972,6 +969,9 @@ private DataObject GetDataObjectByEdmEntity(EdmEntityObject edmEntity, object ke
// Обработка мастеров.
if (edmMultiplicity == EdmMultiplicity.One || edmMultiplicity == EdmMultiplicity.ZeroOrOne)
{
object value;
edmEntity.TryGetPropertyValue(prop.Name, out value);

if (value is EdmEntityObject edmMaster)
{
// Порядок вставки влияет на порядок отправки объектов в UpdateObjects это в свою очередь влияет на то, как срабатывают бизнес-серверы. Бизнес-сервер мастера должен сработать после, а агрегатора перед этим объектом.
Expand Down Expand Up @@ -1017,6 +1017,9 @@ private DataObject GetDataObjectByEdmEntity(EdmEntityObject edmEntity, object ke
{
DetailArray detarr = (DetailArray)Information.GetPropValueByName(obj, dataObjectPropName);

object value;
edmEntity.TryGetPropertyValue(prop.Name, out value);

if (value is EdmEntityObjectCollection coll)
{
if (coll != null && coll.Count > 0)
Expand Down Expand Up @@ -1052,6 +1055,9 @@ private DataObject GetDataObjectByEdmEntity(EdmEntityObject edmEntity, object ke
// Обработка собственных свойств объекта (неключевых, т.к. ключ устанавливаем при начальной инициализации объекта obj).
if (prop.Name != _model.KeyPropertyName)
{
object value;
edmEntity.TryGetPropertyValue(prop.Name, out value);

Type dataObjectPropertyType = Information.GetPropertyType(objType, dataObjectPropName);

// Если тип свойства относится к одному из зарегистрированных провайдеров файловых свойств,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ public static void SafeLoadObject(this IDataService dataService, DataObject data
throw new ArgumentNullException(nameof(view));
}

// Вычитывать объект сразу с детейлами нельзя, поскольку в этой же транзакции могут уже оказать отдельные операции с детейлами и перевычитка затрёт эти изменения.
// Вычитывать объект сразу с детейлами нельзя, поскольку в этой же транзакции могут уже оказаться отдельные операции с детейлами и перевычитка затрёт эти изменения.
View miniView = view.Clone();
DetailInView[] miniViewDetails = miniView.Details;
miniView.Details = new DetailInView[0];
Expand Down

0 comments on commit 73ac846

Please sign in to comment.