public async Task <Model.Identity> GetIdentityByID(Guid id)
        {
            var param = new DynamicParameters();

            param.Add("@ID", id);

            var mapper = new IdentityMapper();

            return((await SqlMapper.QueryAsync(_unitOfWork.Connection,
                                               "GetIdentityByID",
                                               new[]
            {
                typeof(Model.Identity),
                typeof(RequestType?),
                typeof(Cluster),
                typeof(string),
                typeof(Log)
            },
                                               obj =>
            {
                var identity = obj[0] as Model.Identity;
                var requestType = obj[1] as RequestType?;
                var cluster = obj[2] as Cluster;
                var node = obj[3] as string;
                var log = obj[4] as Log;

                return mapper.Map(identity, requestType, cluster, node, log);
            },
                                               param,
                                               splitOn: "ID,RequestType,ClusterID,Node,LogID",
                                               commandType: CommandType.StoredProcedure,
                                               transaction: _unitOfWork.Transaction)).FirstOrDefault());
        }
Exemple #2
0
 public void Logout()
 {
     if (Client == null)
     {
         return;
     }
     Client.Token = null;
     Database.Clients.Update(IdentityMapper.Map(Client));
 }
Exemple #3
0
        private void Login(Client client)
        {
            if (client == null)
            {
                Client = null;
                return;
            }
            var now = DateTime.Now;

            Client           = IdentityMapper.MapToDTO(client);
            Client.Token     = CreateToken(Client, now.ToLongTimeString() + now.ToLongDateString());
            Client.LoginDate = now;
            if (Database.Clients.FindById(client.Id) == null)
            {
                Database.Clients.Insert(IdentityMapper.Map(Client));
            }
            else
            {
                Database.Clients.Update(IdentityMapper.Map(Client));
            }
        }
        public async Task <List <Model.Identity> > GetAllIdentityDetails(long id)
        {
            var param = new DynamicParameters();

            param.Add("@ID", id);

            var mapper = new IdentityMapper();

            return((await SqlMapper.QueryAsync(
                        _unitOfWork.Connection,
                        "GetAllIdentity",
                        new[]
            {
                typeof(Model.Identity)
            },
                        obj =>
            {
                var A = obj[0] as Model.Identity;
                return mapper.Map(A);
            },
                        param,
                        commandType: CommandType.StoredProcedure,
                        transaction: _unitOfWork.Transaction)).ToList());
        }
Exemple #5
0
 public void SignUp(ClientDTO client)
 {
     Login(IdentityMapper.Map(client));
 }
        public async Task <IList <Model.Identity> > Query(IdentityFilter filter)
        {
            var requestTypes = new DataTable();

            requestTypes.Columns.Add("Val", typeof(int));

            if ((filter.RequestTypes?.Length ?? 0) > 0)
            {
                foreach (var requestType in filter.RequestTypes)
                {
                    requestTypes.Rows.Add((int)requestType);
                }
            }

            var clusters = new DataTable();

            clusters.Columns.Add("Val", typeof(long));

            if ((filter.Clusters?.Length ?? 0) > 0)
            {
                foreach (var cluster in filter.Clusters)
                {
                    clusters.Rows.Add(cluster);
                }
            }

            var permissions = new DataTable();

            permissions.Columns.Add("Val", typeof(int));

            if ((filter.Permissions?.Length ?? 0) > 0)
            {
                foreach (var permission in filter.Permissions)
                {
                    permissions.Rows.Add((int)permission);
                }
            }

            var ids = new DataTable();

            ids.Columns.Add("Val", typeof(Guid));

            if ((filter.IDs?.Length ?? 0) > 0)
            {
                foreach (var id in filter.IDs)
                {
                    ids.Rows.Add(id);
                }
            }

            var nodes = new DataTable();

            nodes.Columns.Add("Val", typeof(string));

            if ((filter.Nodes?.Length ?? 0) > 0)
            {
                foreach (var node in filter.Nodes)
                {
                    nodes.Rows.Add(node);
                }
            }

            var param = new DynamicParameters();

            param.Add("@Name", filter.Name);
            param.Add("@Email", filter.Email);
            param.Add("@Status", filter.Status);
            param.Add("Permissions", permissions.AsTableValuedParameter("dbo.SmallIntType"));
            param.Add("IDs", ids.AsTableValuedParameter("dbo.UniqueIdentifierType"));
            param.Add("RequestTypes", requestTypes.AsTableValuedParameter("dbo.SmallIntType"));
            param.Add("Clusters", clusters.AsTableValuedParameter("dbo.BigIntType"));
            param.Add("Nodes", nodes.AsTableValuedParameter("dbo.NvarcharType"));

            var mapper = new IdentityMapper();

            return((await SqlMapper.QueryAsync(_unitOfWork.Connection,
                                               "SelectIdentity",
                                               new[]
            {
                typeof(Model.Identity),
                typeof(RequestType?),
                typeof(Cluster),
                typeof(string)
            },
                                               obj =>
            {
                var identity = obj[0] as Model.Identity;
                var requestType = obj[1] as RequestType?;
                var cluster = obj[2] as Cluster;
                var node = obj[3] as string;

                return mapper.Map(identity, requestType, cluster, node);
            },
                                               param,
                                               splitOn: "ID,RequestType,ClusterID,Node",
                                               commandType: CommandType.StoredProcedure,
                                               transaction: _unitOfWork.Transaction)).Distinct().ToList());
        }