Esempio n. 1
0
        public async Task <DinazorResult <TokenUser> > Login(BaseTokenUser user)
        {
            var result = new DinazorResult <TokenUser>();

            using (var ctx = new DinazorContext())
            {
                //TODO Hash(password)
                var exists = await
                             ctx.User.AnyAsync(l => !l.IsDeleted && l.Username == user.Username && l.Password == user.Password);

                if (exists)
                {
                    // get more detail later
                    var userEntity =
                        ctx.User.FirstOrDefault(
                            l => !l.IsDeleted && l.Username == user.Username && l.Password == user.Password);
                    result.Data = ToTokenUser(userEntity);
                    result.Success();
                }
                else
                {
                    //log
                    result.Status = ResultStatus.LoginFailed;
                    return(result);
                }
                return(result);
            }
        }
        public DinazorResult <ConfigurationDto> GetAllConfiguration()
        {
            var result = new DinazorResult <ConfigurationDto>();

            result.Data = new ConfigurationDto();

            using (var ctx = new DinazorContext())
            {
                var dataSet = ctx.Configurations.ToList();

                foreach (var item in dataSet)
                {
                    if (result.Data.ConfigurationMap.ContainsKey(item.Key))
                    {
                        (result.Data.ConfigurationMap[item.Key]).Add(item.Value);
                    }
                    else
                    {
                        result.Data.ConfigurationMap[item.Key] = new List <string>();
                        (result.Data.ConfigurationMap[item.Key]).Add(item.Value);
                    }
                }
                result.Success();
            }
            return(result);
        }
Esempio n. 3
0
        public async Task <DinazorResult> AssignRoleGroupToUserGroup(long idRoleGroup, long idUserGroup)
        {
            var result = new DinazorResult();

            //check role group id
            var exists = _roleGroupOperation.Exists(idRoleGroup);

            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }

            //check user group id
            exists = _userGroupOperation.Exists(idUserGroup);
            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }

            //so far so good
            using (var ctx = new DinazorContext())
            {
                //already added
                var data = await ctx.Authorization.FirstOrDefaultAsync(l => l.IdUserGroup == idUserGroup && l.IdRoleGroup == idRoleGroup);

                if (data != null)
                {
                    result.Status = ResultStatus.AlreadyAdded;
                    return(result);
                }
                Authorization authorization = new Authorization();
                authorization.IdUserGroup = idUserGroup;
                authorization.IdRoleGroup = idRoleGroup;
                ctx.Authorization.Add(authorization);
                try
                {
                    await ctx.SaveChangesAsync();

                    result.Success();
                }
                catch (Exception e)
                {
                    result.Status = ResultStatus.UnknownError;
                }
            }
            return(result);
        }
Esempio n. 4
0
        public async Task <DinazorResult> AssignUserToUserGroup(long idUser, long idUserGroup)
        {
            var result = new DinazorResult();
            // check user id
            var exists = _userOperation.Exists(idUser);

            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }
            //check user group id
            exists = _userGroupOperation.Exists(idUserGroup);
            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }
            //so far so good
            using (var ctx = new DinazorContext())
            {
                //already added
                var alreadyAdded = ctx.RelUserUserGroup.Any(l => l.IdUser == idUser && l.IdUserGroup == idUserGroup);
                if (alreadyAdded)
                {
                    result.Status = ResultStatus.AlreadyAdded;
                    return(result);
                }
                RelUserUserGroup userUserGroup = new RelUserUserGroup();
                userUserGroup.IdUser      = idUser;
                userUserGroup.IdUserGroup = idUserGroup;

                var willBeAdded = ctx.RelUserUserGroup.Add(userUserGroup);
                try
                {
                    await ctx.SaveChangesAsync();

                    result.Success();
                    //result.ObjectId = willBeAdded;
                }
                catch (Exception e)
                {
                    result.Status = ResultStatus.UnknownError;
                }
            }
            return(result);
        }
Esempio n. 5
0
        public async Task <DinazorResult> AssignRoleToRoleGroup(long idRole, long idRoleGroup)
        {
            var result = new DinazorResult();
            // check role id
            var exists = _roleOperation.Exists(idRole);

            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }
            //check role group id
            exists = _roleGroupOperation.Exists(idRoleGroup);
            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }
            //so far so good
            using (var ctx = new DinazorContext())
            {
                //already added
                var alreadyAdded = ctx.RelRoleRoleGroup.Any(l => l.IdRole == idRole && l.IdRoleGroup == idRoleGroup);
                if (alreadyAdded)
                {
                    result.Status = ResultStatus.AlreadyAdded;
                    return(result);
                }
                RelRoleRoleGroup roleRoleGroup = new RelRoleRoleGroup();
                roleRoleGroup.IdRole      = idRole;
                roleRoleGroup.IdRoleGroup = idRoleGroup;

                var willBeAdded = ctx.RelRoleRoleGroup.Add(roleRoleGroup);
                try
                {
                    await ctx.SaveChangesAsync();

                    result.Success();
                    //result.ObjectId = willBeAdded;
                }
                catch (Exception e)
                {
                    result.Status = ResultStatus.UnknownError;
                }
            }
            return(result);
        }
        public async Task <DinazorResult <List <TownDto> > > GetTownsByCityId(long idCity)
        {
            var result = new DinazorResult <List <TownDto> >();

            using (var ctx = new DinazorContext())
            {
                result.Data = ctx.Town.Where(l => l.City.Id == idCity).Select(new TownDto().Select()).ToList();
                result.Success();
            }
            return(result);
        }
Esempio n. 7
0
        public async Task <DinazorResult> DetachRoleFromRoleGroup(long idRole, long idRoleGroup)
        {
            var result = new DinazorResult();
            // check role id
            var exists = _roleOperation.Exists(idRole);

            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }
            //check role group id
            exists = _roleGroupOperation.Exists(idRoleGroup);
            if (!exists.IsSuccess)
            {
                return(result);
            }
            if (!exists.Data)
            {
                result.Status = ResultStatus.NoSuchObject;
                return(result);
            }

            //so far so good
            using (var ctx = new DinazorContext())
            {
                //already added
                var data = await ctx.RelRoleRoleGroup.FirstOrDefaultAsync(l => l.IdRole == idRole && l.IdRoleGroup == idRoleGroup);

                if (data == null)
                {
                    result.Status = ResultStatus.NoSuchObject;
                    return(result);
                }
                ctx.RelRoleRoleGroup.Remove(data);
                try
                {
                    await ctx.SaveChangesAsync();

                    result.Success();
                }
                catch (Exception e)
                {
                    result.Status = ResultStatus.UnknownError;
                }
            }
            return(result);
        }
        public async Task <DinazorResult <List <UserDto> > > GetUserByIdUserGroup(long idUserGroup)
        {
            var result = new DinazorResult <List <UserDto> >();

            using (var ctx = new DinazorContext())
            {
                var select = new UserDto().Select().Expand();
                result.Data = ctx.RelUserUserGroup.Where(l => l.IdUserGroup == idUserGroup && !l.User.IsDeleted)
                              .Select(l => l.User).Select(select).ToList();
                result.Success();
            }
            return(result);
        }
        public async Task <DinazorResult <List <RoleDto> > > GetRoleByIdRoleGroup(long idRoleGroup)
        {
            var result = new DinazorResult <List <RoleDto> >();

            using (var ctx = new DinazorContext())
            {
                var select = new RoleDto().Select().Expand();
                result.Data = ctx.RelRoleRoleGroup.Where(l => l.IdRoleGroup == idRoleGroup)
                              .Select(l => l.Role).Select(select).ToList();
                result.Success();
            }
            return(result);
        }
Esempio n. 10
0
        public async Task <DinazorResult <List <long> > > GetUserByIdWithRoles(long idUser)
        {
            var result = new DinazorResult <List <long> >();

            using (var ctx = new DinazorContext())
            {
                var queryResult = from ruug in ctx.RelUserUserGroup
                                  join auth in ctx.Authorization on ruug.IdUserGroup equals auth.IdUserGroup
                                  join rrrg in ctx.RelRoleRoleGroup on auth.IdRoleGroup equals rrrg.IdRoleGroup
                                  join r in ctx.Role on rrrg.IdRole equals r.Id
                                  select r.Id;
                result.Success();
                result.Data = await queryResult.ToListAsync();
            }
            return(result);
        }
        public async Task <DinazorResult <long> > GetClientByClientIdentifier(string clientIdentifier)
        {
            var result = new DinazorResult <long>();

            using (var ctx = new DinazorContext())
            {
                var model = ctx.Client.FirstOrDefault(l => !l.IsDeleted && l.ClientIdentifier == clientIdentifier);
                if (model != null && model.Id > 0)
                {
                    result.Data = model.Id;
                    result.Success();
                    return(result);
                }
            }
            result.Data = -1;
            return(result);
        }
        public async Task <DinazorResult <Guid> > GetAuthorizationIdByUserGroupId(long idUserGroup)
        {
            var result = new DinazorResult <Guid>();

            using (var ctx = new DinazorContext())
            {
                var userGroup = await ctx.UserGroup.FirstOrDefaultAsync(l => l.Id == idUserGroup);

                if (userGroup == null)
                {
                    result.Status = ResultStatus.NoSuchObject;
                    return(result);
                }
                //result.Data = userGroup.AuthorizationId;
                result.Success();
            }
            return(result);
        }
        public async Task <DinazorResult <List <OrganizationLicenceDto> > > GetActiveLicence(long clientId)
        {
            var result = new DinazorResult <List <OrganizationLicenceDto> >();

            using (var ctx = new DinazorContext())
            {
                result.Data = ctx.OrganizationLicence
                              .Include(l => l.Client)
                              .Include(l => l.LicenceKey)
                              .Include(l => l.ModuleEnum)
                              .Include(l => l.Organization)
                              .Where(l => l.IdClient == clientId && l.ExpiresAt >= DateTime.Now && l.IsInUse)
                              .Select(new OrganizationLicenceDto().Select())
                              .ToList();

                result.Success();
            }
            return(result);
        }