Esempio n. 1
0
        public static async Task <UserEntity> CreateUser(IAsyncRepository repo, string identifier)
        {
            using (var trans = repo.BeginTransaction())
            {
                var user = new UserEntity
                {
                    Id            = await repo.NextSequenceAsync <UserEntity>(),
                    DateCreated   = DateTime.Now,
                    UserCreatedId = Config.SystemUserId
                };
                var returnUser = await repo.AddAsync(user);

                var remoteUser = new RemoteUserEntity
                {
                    Id            = await repo.NextSequenceAsync <RemoteUserEntity>(),
                    Identifier    = identifier,
                    DateCreated   = DateTime.Now,
                    UserCreatedId = Config.SystemUserId
                };
                var returnRemoteUser = await repo.AddAsync(remoteUser);

                var userMapping = new UserMappingReferenceEntity
                {
                    Id            = returnUser.Id,
                    RemoteUserId  = returnRemoteUser.Id,
                    DateCreated   = DateTime.Now,
                    UserCreatedId = Config.SystemUserId
                };
                var returnUserMapping = repo.AddAsync(userMapping);
                trans.Commit();

                return(returnUser);
            }
        }