SaveChanges() public method

public SaveChanges ( ) : int
return int
        public async Task <ClaimsIdentity> RedeemToken(IExternalLogin login)
        {
            var provider = this.providers.Single(o => o.ProviderId == login.ProviderId);

            var token = await provider.GetProfileDataFromProvider(login.AccessToken);

            if (token.aud != provider.ClientId)
            {
                return(null);
            }

            User user = (from p in this.db.User.Include(o => o.Providers).Include(o => o.Roles)
                         where p.Username == token.email
                         select p).FirstOrDefault();

            if (user == null)
            {
                user = await Task.Factory.StartNew(() => SignupUser(token.email));

                db.SaveChanges();
            }

            if (!user.Providers.Any(o => o.ProviderId == provider.ProviderId && o.ExternalId == token.sub))
            {
                db.UserProvider.Add(new UserProvider()
                {
                    ExternalId = token.sub,
                    ProviderId = provider.ProviderId,
                    User       = user
                });
                db.SaveChanges();
            }

            return(user.ToClaimsIdentity());
        }
        public static void UseDatabaseConfiguration(
            this IApplicationBuilder app, IWebHostEnvironment environment, DbContextBase dbContextBase
            )
        {
            if (environment.IsDevelopment())
            {
                // Drop the database if it exists.
                dbContextBase.Database.EnsureDeleted();

                // Create the database if it doesn't exist.
                dbContextBase.Database.EnsureCreated();

                // Add 7 initial users to the system for testing:
                foreach (var user in "lucifer,beelzebub,mammon,azazel,asmodeus,leviathan,belphegor".Split(','))
                {
                    var newUser = new User(
                        $"{user}@formhell.com",  // Email
                        "P@ssw0rdT0He11666",     // Password
                        "Fallen Angels"          // Group
                        );
                    dbContextBase.Set <User>().Add(newUser);
                }
                dbContextBase.SaveChanges();
            }
        }
Esempio n. 3
0
        public void FindRecord()
        {
            Guid id = Guid.NewGuid();

            using (var dbContextBase = new DbContextBase(options, new Dictionary <string, Type>()
            {
                { "tbl", typeof(Connector) }
            }, new List <Table>()))
            {
                db.Setup(c => c.SetupDataContext("Table"));
                db.SetupGet(c => c.Instance).Returns(dbContextBase);
                db.SetupGet(c => c.DbSetEntityType).Returns(typeof(Connector));

                dbContextBase.Add(new Connector
                {
                    Id   = id,
                    Name = "init",
                    Port = 123
                });
                dbContextBase.SaveChanges();
                Assert.AreEqual(1, dbContextBase.Set <Connector>().Count(), "Inital state invalid");

                var connector = db.Object.Find("Table", new object[] { id });
                Assert.AreEqual("init", ((Connector)connector).Name);
                Assert.AreEqual(123, ((Connector)connector).Port);
                db.Verify(c => c.SetupDataContext("Table"), Times.Once);
            }
        }
Esempio n. 4
0
        public void UpdateRecordUpdatesToDb()
        {
            using (var dbContextBase = new DbContextBase(options, new Dictionary <string, Type>()
            {
                { "tbl", typeof(Connector) }
            }, new List <Table>()))
            {
                dbContextBase.Add(new Connector
                {
                    Name = "init"
                });
                dbContextBase.SaveChanges();
                Assert.AreEqual(1, dbContextBase.Set <Connector>().Count(), "Inital state invalid");

                db.SetupGet(c => c.Instance).Returns(dbContextBase);
                db.SetupGet(c => c.DbSetEntityType).Returns(typeof(Connector));

                var connector = dbContextBase.Set <Connector>().First();
                connector.Name = "updated";

                db.Object.Update(connector);
                db.Object.Save();
                Assert.AreEqual("updated", dbContextBase.Set <Connector>().First().Name);
            }
        }
Esempio n. 5
0
 /// <summary>
 /// 提交
 /// </summary>
 /// <returns></returns>
 public int SaveChanges()
 {
     try
     {
         return(Db.SaveChanges());
     }
     catch (Exception ex)
     {
         _error.Execute(ex);
         _logger.LogError(new EventId(ex.HResult), ex, "Repository Exception");
         return(0);
     }
 }
        public async Task <ClaimsIdentity> RedeemToken(IExternalLogin login)
        {
            var provider = this.providers.Single(o => o.ProviderId == login.ProviderId);

            var token = await provider.GetProfileDataFromProvider(login.AccessToken);

            if (token.aud != provider.ClientId)
            {
                return(null);
            }

            User user = this.db.User.FirstOrDefault(o => o.Username == token.email);

            if (user == null)
            {
                user = await Task.Factory.StartNew(() => SignupUser(token.email));

                db.SaveChanges();
            }

            if (!user.Providers.Any(o => o.ProviderId == provider.ProviderId && o.ExternalId == token.sub))
            {
                db.UserProvider.Add(new UserProvider()
                {
                    ExternalId = token.sub,
                    ProviderId = provider.ProviderId,
                    User       = user
                });

                db.SaveChanges();
            }

            string fingerprint = this.deviceProfiler.DeriveFingerprint(user);

            return(user.ToClaimsIdentity(this.config.ClaimsNamespace, fingerprint));
        }
Esempio n. 7
0
        public async Task <ClaimsIdentity> SignupUser(ISignupServiceOptions options)
        {
            UserProviderLocal login = await(from p in this.db.LocalProvider.Include(o => o.User)
                                            where p.User.Username == options.Username
                                            select p).FirstOrDefaultAsync();

            if (login != null)
            {
                throw new ServiceException($"A user account for {options.Username} already exists");
            }

            User user = new User()
            {
                CultureName = options.CultureName,
                Enabled     = true,
                Username    = options.Username,
                DisplayName = options.DisplayName,
                TimeZoneId  = options.TimeZoneId
            };

            db.User.Add(user);

            string salt = crypto.CreateSalt();

            db.LocalProvider.Add(new UserProviderLocal()
            {
                PasswordSalt = salt,
                PasswordHash = crypto.CreateKey(salt, options.Password),
                User         = user,
                Provider     = db.Provider.FirstOrDefault(o => o.ProviderId == ProviderTypes.Local)
            });

            Role role = db.Role.FirstOrDefault(o => o.RoleId == RoleTypes.User);

            user.Roles.Add(new UserRole()
            {
                User = user,
                Role = role
            });

            db.SaveChanges();

            var fingerprint = this.deviceProfiler.DeriveFingerprint(user);

            return(user.ToClaimsIdentity(fingerprint));
        }
Esempio n. 8
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="userName">帐号</param>
        /// <param name="userPwd">密码</param>
        /// <returns></returns>
        public UserInfoSet UserLogin(string userName, string userPwd)
        {
            using (DbContextBase db = new DbContextBase())
            {
                var resUserModel = db.UserInfoSet
                                   .FirstOrDefault(a => a.UserName == userName && a.UserPwd == userPwd);

                if (resUserModel != null)
                {
                    resUserModel.LoginDate = DateTime.Now.ToString();

                    db.SaveChanges();
                }

                return(resUserModel);
            }
        }
Esempio n. 9
0
 public void SaveChanges()
 {
     _context.SaveChanges();
 }
Esempio n. 10
0
 /// <summary>
 ///
 /// </summary>
 /// <returns></returns>
 public int SaveChanges()
 {
     return(_dbContextBase.SaveChanges());
 }