コード例 #1
0
        public void UpdateUser(User user)
        {
            using (var context = new PhotographContext())
            {
                var dbUser = _entities.Include("Roles").FirstOrDefault(x => x.Id.Equals(user.Id));

                if (dbUser != null)
                {
                    if (user.Password != null && user.Password.Length > 0)
                    {
                        dbUser.Password = user.Password.Sha256();
                    }
                    dbUser.UserName   = user.UserName;
                    dbUser.ValidUntil = user.ValidUntil;
                    dbUser.FirstName  = user.FirstName;
                    dbUser.LastName   = user.LastName;

                    if (dbUser.Roles.FirstOrDefault(x => x.Id.Equals(user.Roles[0].Id)) == null)
                    {
                        dbUser.Roles.RemoveAll(x => true);
                        context.SaveChanges();

                        if (context.Entry(user.Roles[0]).State == EntityState.Detached)
                        {
                            context.Roles.Attach(user.Roles[0]);
                        }

                        dbUser.Roles.Add(user.Roles[0]);
                    }
                }
                context.SaveChanges();
            }
        }
コード例 #2
0
        public override void Update(Photo entity)
        {
            using (var context = new PhotographContext())
            {
                var dbPhoto = context.Photos.Include(x => x.SelectedByUsers).SingleOrDefault(x => x.Id.Equals(entity.Id));

                foreach (var user in entity.SelectedByUsers)
                {
                    dbPhoto.SelectedByUsers.Add(context.Users.SingleOrDefault(u => u.Id.Equals(user.Id)));
                }

                context.SaveChanges();
            }
        }
コード例 #3
0
        public async Task UpdateClient(Client client)
        {
            using (var context = new PhotographContext())
            {
                var dbClient = await context.Clients.FirstOrDefaultAsync(x => x.Id.Equals(client.Id));

                if (dbClient != null)
                {
                    dbClient.Flow                = client.Flow;
                    dbClient.Enabled             = client.Enabled;
                    dbClient.ClientSecrets       = client.ClientSecrets.Sha256();
                    dbClient.ClientName          = client.ClientName;
                    dbClient.AccessTokenLifetime = client.AccessTokenLifetime;
                    dbClient.ClientId            = client.ClientId;
                    dbClient.AllowedScopes.AddRange(client.AllowedScopes);
                }

                context.SaveChanges();
            }
        }
コード例 #4
0
        private static void BuildIds(PhotographContext context)
        {
            var photographScope = new Scope()
            {
                Id   = Guid.NewGuid(),
                Name = "Photograph",
                IncludeAllClaimsForUser = true
            };

            context.Scopes.Add(photographScope);
            context.SaveChanges();

            var client = new Client()
            {
                Id                  = Guid.NewGuid(),
                ClientName          = "Photograph",
                ClientId            = "PhotographId",
                Flow                = Flows.ResourceOwner,
                Enabled             = true,
                ClientSecrets       = "jm8B+rcdwALtH8VN8XYAvDQWBQbWGq78AYIYJgP81IQ=",
                AccessTokenLifetime = 86400,
                AllowedScopes       = new List <Scope>()
                {
                    photographScope
                }
            };

            context.Clients.Add(client);
            context.SaveChanges();

            var adminRole = new Role()
            {
                Id   = Guid.NewGuid(),
                Name = "Admin"
            };
            var subscriberRole = new Role()
            {
                Id   = Guid.NewGuid(),
                Name = "Subscriber"
            };
            var userRole = new Role()
            {
                Id   = Guid.NewGuid(),
                Name = "User"
            };

            context.Roles.Add(adminRole);
            context.Roles.Add(subscriberRole);
            context.Roles.Add(userRole);
            context.SaveChanges();

            var adminRoleDb = context.Roles.FirstOrDefault(x => x.Name.Equals("Admin"));

            var adminUserTomislav = new User()
            {
                Id        = Guid.NewGuid(),
                UserName  = "******",
                Password  = "******",
                Email     = "*****@*****.**",
                FirstName = "Admin",
                LastName  = "Admin",
                Roles     = new List <Role>()
                {
                    adminRole
                }
            };

            context.Users.Add(adminUserTomislav);
            context.SaveChanges();

            var subRoleDb = context.Roles.FirstOrDefault(x => x.Name.Equals("Subscriber"));

            var subUserTomislav = new User()
            {
                Id        = Guid.NewGuid(),
                UserName  = "******",
                Password  = "******",
                Email     = "*****@*****.**",
                FirstName = "Sub",
                LastName  = "Sub",
                Roles     = new List <Role>()
                {
                    subRoleDb
                }
            };

            context.Users.Add(subUserTomislav);
            context.SaveChanges();

            var userRoleDb = context.Roles.FirstOrDefault(x => x.Name.Equals("User"));

            for (var i = 0; i < 100; i++)
            {
                var id = Guid.NewGuid();

                var userTomislav = new User()
                {
                    Id        = id,
                    UserName  = id.ToString(),
                    Password  = "******",
                    Email     = $"{id}@mailinator.com",
                    FirstName = "Sub",
                    LastName  = "Sub",
                    Roles     = new List <Role>()
                    {
                        userRoleDb
                    }
                };
                context.Users.Add(userTomislav);
            }
            context.SaveChanges();


            //var user = context.Users.FirstOrDefault(x => x.UserName.Equals("Admin"));

            //var subs = new Subscriber
            //{
            //	UserId = user.Id,
            //	User = user
            //};

            //context.Subscribers.Add(subs);
            //context.SaveChanges();

            //var user1 = context.Users
            //	.Include(x => x.Subscriber)
            //	.Include(x => x.Roles)
            //	.FirstOrDefault(x => x.UserName.Equals("Admin"));
            //var sub = context.Subscribers.Include(x => x.User).FirstOrDefault(x => x.UserId.Equals(user1.Id));

            //context.Subscribers.Remove(sub);

            //context.SaveChanges();
        }