Ejemplo n.º 1
0
        public IBOIdentityRole BOIdentityRole(IIdentityRoleRepository repo)
        {
            BOIdentityRole boIdentityRole = (BOIdentityRole)BOIdentityRole();

            boIdentityRole.Repository = repo;
            return(boIdentityRole);
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> DeleteIdentityRole(Int32 id)
        {
            var result = Task.Factory.StartNew(() =>
            {
                IUnitOfWork uow = new UnitOfWorkImp(new IRepositoryConnection[] { IdentityRoleRepository });
                var bo          = new BOIdentityRole();
                bo.Repository   = IdentityRoleRepository;
                bo.Init(id);

                uow.Delete(bo);

                string err;
                if (!uow.Commit(out err))
                {
                    var resp = new HttpResponseMessage(HttpStatusCode.BadRequest)
                    {
                        Content = new StringContent(err)
                    };
                    throw new HttpResponseException(resp);
                }
                return(true);
            });
            await result;

            if (!result.Result)
            {
                return(NotFound());
            }

            return(Ok(result.Result));
        }
Ejemplo n.º 3
0
        public IBOIdentityRole BOIdentityRole()
        {
            var boIdentityRole = new BOIdentityRole()
            {
                Id   = this.Id,
                Name = this.Name
            };

            return(boIdentityRole);
        }
Ejemplo n.º 4
0
        public Task CreateAsync(TRole role)
        {
            BOIdentityRole newRole = new BOIdentityRole();

            newRole.Repository = IdentityRoleRepository;
            newRole.Name       = role.Name;
            newRole.SaveNew();

            _identityRolesCache.Add(newRole);
            return(Task.FromResult(true));
        }
Ejemplo n.º 5
0
        public Task DeleteAsync(TRole role)
        {
            BOIdentityRole boRole = new BOIdentityRole();

            boRole.Repository = IdentityRoleRepository;
            boRole.Init(role.Id);
            boRole.Name = role.Name;
            boRole.Delete();

            /*remove possible stale object*/
            var cachedObject = _identityRolesCache.SingleOrDefault(x => x.Name == boRole.Name);

            if (cachedObject != null)
            {
                _identityRolesCache.Remove(cachedObject);
            }

            return(Task.FromResult(true));
        }
Ejemplo n.º 6
0
        public Task UpdateAsync(TRole role)
        {
            BOIdentityRole updatedRole = new BOIdentityRole();

            updatedRole.Repository = IdentityRoleRepository;
            updatedRole.Init(role.Id);
            updatedRole.Name = role.Name;
            updatedRole.Update();

            /*remove possible stale object, an updated one will get picked up in findbynamesync method when required*/
            var cachedObject = _identityRolesCache.SingleOrDefault(x => x.Name == updatedRole.Name);

            if (cachedObject != null)
            {
                _identityRolesCache.Remove(cachedObject);
            }
            _identityRolesCache.Add(updatedRole);

            return(Task.FromResult(true));
        }
Ejemplo n.º 7
0
        private TUser LoadData(IBOIdentityUser userObj)
        {
            TUser user = null;

            if (userObj == null)
            {
                return(user);
            }

            user                        = new TUser();
            user.Id                     = (int)userObj.UserId;
            user.UserName               = userObj.Username;
            user.PasswordHash           = userObj.PasswordHash;
            user.SecurityStamp          = userObj.SecurityStamp;
            user.Email                  = userObj.Email;
            user.PhoneNumber            = userObj.PhoneNumber;
            user.IsEmailConfirmed       = userObj.EmailConfirmed != null ? (bool)userObj.EmailConfirmed : default(bool);
            user.IsPhoneNumberConfirmed = userObj.PhoneNumberConfirmed != null ? (bool)userObj.PhoneNumberConfirmed : default(bool);
            user.AccessFailedCount      = userObj.AccessFailedCount != null ? (int)userObj.AccessFailedCount : default(int);
            user.LockoutEnabled         = userObj.LockoutEnabled != null ? (bool)userObj.LockoutEnabled : default(bool);
            user.LockoutEndDate         = userObj.LockoutEndDateUtc != null ? (DateTime)userObj.LockoutEndDateUtc : DateTime.SpecifyKind(default(DateTime), DateTimeKind.Utc);
            user.TwoFactorAuthEnabled   = userObj.TwoFactorEnabled != null ? (bool)userObj.TwoFactorEnabled : default(bool);

            userObj.IdentityUserRoleRepository  = IdentityUserRoleRepository;
            userObj.IdentityUserClaimRepository = IdentityUserClaimRepository;
            userObj.IdentityUserLoginRepository = IdentityUserLoginRepository;

            foreach (var userRole in userObj.IdentityUserRoleCollection())
            {
                var identityRole = new BOIdentityRole();
                identityRole.Repository = IdentityRoleRepository;
                identityRole.Init((int)userRole.RoleId);
                user.Roles.Add(identityRole.Name);
            }

            user.Claims = userObj.IdentityUserClaimCollection().Select(c => new IdentityUserClaim {
                UserId = user.Id, ClaimType = c.ClaimType, ClaimValue = c.ClaimValue
            }).ToList();
            user.Logins = userObj.IdentityUserLoginCollection().Select(c => new UserLoginInfo(c.LoginProvider, c.ProviderKey)).ToList();
            return(user);
        }