Example #1
0
            /// <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;
                }
            }