/// <summary> /// ######### ######### ####### ##### ######## # ##. /// # ########### ## ######### ######### ###### ######## ### ########: ##########/#########/########. /// </summary> /// <param name="userConnection"></param> public void Save(UserConnection userConnection) { IEntityObject entityObject = GetEntityObject(); string schemaName = GetEntitySchemaName(); switch (ChangedStatus) { case ChangedStatus.Deleted: { var esq = new EntitySchemaQuery(userConnection.EntitySchemaManager, schemaName); esq.AddAllSchemaColumns(); Entity entity = esq.GetEntity(userConnection, entityObject.Id); if (entity != null) { entity.Delete(); } } break; case ChangedStatus.New: { Entity entity = userConnection.EntitySchemaManager.GetInstanceByName(schemaName) .CreateEntity(userConnection); entity.SetDefColumnValues(); entityObject.FillEntity(entity).Save(); } break; case ChangedStatus.Changed: { var esq = new EntitySchemaQuery(userConnection.EntitySchemaManager, schemaName); esq.AddAllSchemaColumns(); Entity entity = esq.GetEntity(userConnection, entityObject.Id); if (entity != null) { entityObject.FillEntity(entity).Save(); } } break; } }