Exemple #1
0
        private void RunEnumScript()
        {
            AccountTypes
            .Merge().Using(Enums.GetMembers <Common.Enums.AccountType>())
            .On((dst, src) => dst.AccountTypeId == src.Value)
            .InsertWhenNotMatched(src => new EnumTable_AccountType {
                AccountTypeId = src.Value, Name = src.Name,
            })
            .DeleteWhenNotMatchedBySource()
            .Merge();

            AccountSubTypes
            .Merge().Using(Enums.GetMembers <Common.Enums.AccountSubType>())
            .On((dst, src) => dst.AccountSubTypeId == src.Value)
            .InsertWhenNotMatched(src => new EnumTable_AccountSubType {
                AccountSubTypeId = src.Value, Name = src.Name,
            })
            .DeleteWhenNotMatchedBySource()
            .Merge();

            ClearedStatus
            .Merge().Using(Enums.GetMembers <Common.Enums.ClearedStatus>())
            .On((dst, src) => dst.ClearedStatusId == src.Value)
            .InsertWhenNotMatched(src => new EnumTable_ClearedStatus {
                ClearedStatusId = src.Value, Name = src.Name,
            })
            .DeleteWhenNotMatchedBySource()
            .Merge();

            TransactionTypes
            .Merge().Using(Enums.GetMembers <Common.Enums.TransactionType>())
            .On((dst, src) => dst.TransactionTypeId == src.Value)
            .InsertWhenNotMatched(src => new EnumTable_TransactionType {
                TransactionTypeId = src.Value, Name = src.Name,
            })
            .DeleteWhenNotMatchedBySource()
            .Merge();

            this.InsertOrReplace(
                new Models.Account
            {
                AccountId        = Making.Cents.Common.Models.Account.UnrealizedGain,
                Name             = "_Unrealized Gain",
                AccountTypeId    = Common.Enums.AccountType.Income,
                AccountSubTypeId = Common.Enums.AccountSubType.Income,
            });
        }