예제 #1
0
 public void Excluir(int id)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         base.Remove <UsuarioPerfilEntity>(context, id);
     }
 }
예제 #2
0
 public void Excluir(int id)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         base.Remove <DepartamentoEntity>(context, id);
     }
 }
예제 #3
0
 public static DepartamentoEntity Create(int id)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         return(context.DepartamentoEntity.FirstOrDefault(a => a.DepartamentoId == id));
     }
 }
예제 #4
0
 public static List <TicketAndamentoEntity> PesquisarTodos()
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         return(context.TicketAndamentoEntity.ToList());
     }
 }
예제 #5
0
        public static List <TicketPesquisa> PesquisarTodosTicket(int usuarioId)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = from ticket in context.TicketEntity
                            join usuario in context.UsuarioEntity on ticket.UsuarioId equals usuario.UsuarioId
                            join usuarioDepartamento in context.UsuarioDepartamentoEntity on usuario.UsuarioId equals usuarioDepartamento.UsuarioId
                            join departamento in context.DepartamentoEntity on usuarioDepartamento.DepartamentoId equals departamento.DepartamentoId

                            where usuarioDepartamento.UsuarioId == usuarioId

                            select new TicketPesquisa()
                {
                    TicketId           = ticket.TicketId,
                    DepartamentoId     = ticket.DepartamentoId,
                    UsuarioResponsavel = ticket.UsuarioResponsavelId,
                    Visivilidade       = ticket.Visibilidade,
                    Departamento       = departamento.Descricao,
                    UsuarioId          = ticket.UsuarioId,
                    Assunto            = ticket.Assunto,
                    Prioridade         = ticket.Prioridade,
                    Ticket2Id          = ticket.TicketId,
                    Ticket3Id          = ticket.TicketId,
                    Ticket4Id          = ticket.TicketId,
                };

                return(dados.ToList());
            }
        }
예제 #6
0
        public void Salvar(TicketEntity entity, int usuarioId)
        {
            try
            {
                using (SynsTicketContext context = new SynsTicketContext())
                {
                    entity.DataCadastro = DateTime.Now;

                    var departamento = DepartamentoBusiness.Create(entity.DepartamentoId);

                    entity.UsuarioId            = usuarioId;
                    entity.UsuarioResponsavelId = null;
                    entity.Visibilidade         = 1;
                    entity.DataPrevisao         = null;

                    base.SaveChanges(entity, usuarioId, true, context);
                }
            }
            catch (TicketException ex)
            {
                this.Erros.Add(ex);
            }
            finally
            {
                if (this.Erros.Count > 0)
                {
                    throw new TicketException(this.ConsisteErros());
                }
            }
        }
예제 #7
0
 public static TicketEntity Create(int id)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         return(context.TicketEntity.FirstOrDefault(a => a.TicketId == id));
     }
 }
예제 #8
0
        public static List <TicketAndamentoPesquisa> PesquisarAndamentoPorTicket(int ticketId, int usuarioId)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = (from andamento in context.TicketAndamentoEntity
                             where andamento.TicketId == ticketId
                             orderby andamento.Data descending
                             select new TicketAndamentoPesquisa()
                {
                    TicketId = andamento.TicketId,
                    TicketAndamentoId = andamento.TicketAndamentoId,
                    Status = andamento.Status,
                    DepartamentoId = andamento.DepartamentoId,
                    Descricao = andamento.Descricao,
                    Visibilidade = andamento.Visibilidade
                }).ToList();

                var andamentosPublicos = dados.Where(a => a.Visibilidade == 1);

                var andamentosPrivados = dados.Where(a => a.Visibilidade == 0 && a.UsuarioId == usuarioId);

                var andamentos = andamentosPublicos.Union(andamentosPrivados).OrderByDescending(a => a.Data);

                return(andamentos.ToList());
            }
        }
예제 #9
0
        public static List <DepartamentoPesquisar> Pesquisar(string descricao, string sortBy, int startIndex, int pageSize, out int count)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = from departamento in context.DepartamentoEntity
                            where departamento.Descricao.Contains(descricao)
                            orderby departamento.Descricao
                            select new DepartamentoPesquisar()
                {
                    DepartamentoId       = departamento.DepartamentoId,
                    Descricao            = departamento.Descricao,
                    Sigla                = departamento.Sigla,
                    DepartamentoMasterId = departamento.DepartamentoMasterId
                };

                if (!string.IsNullOrWhiteSpace(descricao))
                {
                    dados = dados.Where(a => a.Descricao.Contains(descricao));
                }

                List <DepartamentoPesquisar> itens = new List <DepartamentoPesquisar>();

                foreach (var dado in dados)
                {
                    DepartamentoPesquisar item = MontarItem(dado);

                    itens.Add(item);
                }

                return(itens.OrderBy(a => a.DescricaoCompleta).OrderBy2(sortBy).Page(startIndex, pageSize, out count));
            }
        }
예제 #10
0
 public static UsuarioDepartamentoEntity Create(int usuarioId, int departamentoId)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         return(context.UsuarioDepartamentoEntity.FirstOrDefault(a => a.UsuarioId == usuarioId && a.DepartamentoId == departamentoId));
     }
 }
예제 #11
0
 public void Excluir(int usuarioId, int departamentoId)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         base.Remove <UsuarioDepartamentoEntity>(context, usuarioId, departamentoId);
     }
 }
예제 #12
0
 public static UsuarioPerfilEntity Create(int id)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         return(context.UsuarioPerfilEntity.FirstOrDefault(a => a.UsuarioPerfilId == id));
     }
 }
예제 #13
0
 public static List <UsuarioEntity> PesquisarTodos()
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         return(context.UsuarioEntity.ToList());
     }
 }
예제 #14
0
        public static List <TicketAndamentoPesquisa> Pesquisar(string nome, string sortBy, int startIndex, int pageSize, out int count)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = PesquisarQuery(nome, context);

                return(dados.OrderBy(sortBy).Page(startIndex, pageSize, out count));
            }
        }
예제 #15
0
        public static List <TicketAndamentoPesquisa> Pesquisar(string nome)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = PesquisarQuery(nome, context);

                return(dados.ToList());
            }
        }
예제 #16
0
        public static List <DepartamentoEntity> PesquisarNovo(string descricao, string sortBy, int startIndex, int pageSize, out int count)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = (from up in context.DepartamentoEntity
                             where up.Descricao.Contains(descricao)
                             select up);

                return(dados.OrderBy(sortBy).Page(startIndex, pageSize, out count));
            }
        }
예제 #17
0
        public static List <DepartamentoEntity> PesquisarDescricao(string descricao)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = (from departamento in context.DepartamentoEntity
                             where departamento.Descricao.Contains(descricao)
                             orderby departamento.Descricao
                             select departamento).ToList();

                return(dados);
            }
        }
예제 #18
0
        public static List <UsuarioPerfilEntity> PesquisarDescricao(string descricao)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = (from usuarioPerfil in context.UsuarioPerfilEntity
                             where usuarioPerfil.Descricao.Contains(descricao)
                             orderby usuarioPerfil.Descricao
                             select usuarioPerfil).ToList();

                return(dados);
            }
        }
예제 #19
0
 public static List <TicketAnexoPesquisa> PesquisarTicketPorAnexo(int ticketId)
 {
     using (SynsTicketContext context = new SynsTicketContext())
     {
         var dados = from anexo in context.TicketAnexoEntity
                     where anexo.TicketId == ticketId
                     select new TicketAnexoPesquisa()
         {
             TicketId       = anexo.TicketId,
             CaminhoArquivo = anexo.CaminhoArquivo,
             Observacao     = anexo.Observacao,
             TicketAnexoId  = anexo.TicketAnexoId
         };
         return(dados.ToList());
     }
 }
예제 #20
0
        private static string MontarItenDescricaoCompleta(int departamentoId)
        {
            string descricaoCompleta = "";

            using (SynsTicketContext context = new SynsTicketContext())
            {
                DepartamentoEntity departamento = null;
                do
                {
                    departamento = context.DepartamentoEntity.FirstOrDefault(a => a.DepartamentoId == departamentoId);

                    if (departamento.DepartamentoMasterId.HasValue)
                    {
                        departamentoId = departamento.DepartamentoMasterId.Value;
                        if (String.IsNullOrWhiteSpace(descricaoCompleta))
                        {
                            descricaoCompleta = departamento.Descricao;
                        }
                        else
                        {
                            descricaoCompleta = departamento.Descricao + " | " + descricaoCompleta;
                        }
                    }
                    else
                    {
                        if (departamento != null)
                        {
                            if (String.IsNullOrWhiteSpace(descricaoCompleta))
                            {
                                descricaoCompleta = departamento.Descricao;
                            }
                            else
                            {
                                descricaoCompleta = departamento.Descricao + " | " + descricaoCompleta;
                            }
                        }
                        departamentoId = 0;
                        departamento   = null;
                    }
                }while (departamento != null && departamentoId != 0);
            }

            return(descricaoCompleta);
        }
예제 #21
0
        private static IQueryable <UsuarioPesquisa> PesquisarQuery(string nome, SynsTicketContext context)
        {
            var dados = from usuario in context.UsuarioEntity
                        join usuarioPerfil in context.UsuarioPerfilEntity on usuario.UsuarioPerfilId equals usuarioPerfil.UsuarioPerfilId
                        orderby usuario.Login
                        select new UsuarioPesquisa()
            {
                UsuarioId     = usuario.UsuarioId,
                Nome          = usuario.Nome,
                Login         = usuario.Login,
                UsuarioPerfil = usuarioPerfil.Descricao,
            };

            if (!string.IsNullOrWhiteSpace(nome))
            {
                dados = dados.Where(a => a.Nome.Contains(nome));
            }
            return(dados);
        }
예제 #22
0
 public void CancelarTicket(TicketEntity entity, int usuarioId)
 {
     try
     {
         using (SynsTicketContext context = new SynsTicketContext())
         {
             base.SaveChanges(entity, usuarioId, true, context);
         }
     }
     catch (TicketException ex)
     {
         this.Erros.Add(ex);
     }
     finally
     {
         if (this.Erros.Count > 0)
         {
             throw new TicketException(this.ConsisteErros());
         }
     }
 }
예제 #23
0
 public void Salvar(DepartamentoEntity entity, int departamentoId)
 {
     try
     {
         using (SynsTicketContext context = new SynsTicketContext())
         {
             base.SaveChanges(entity, departamentoId, true, context);
         }
     }
     catch (TicketException ex)
     {
         this.Erros.Add(ex);
     }
     finally
     {
         if (this.Erros.Count > 0)
         {
             throw new TicketException(this.ConsisteErros());
         }
     }
 }
예제 #24
0
        //public static List<UsuarioDepartamentoEntity> Pesquisar()
        //{
        //    using (SynsTicketContext context = new SynsTicketContext())
        //    {
        //        return context.UsuarioDepartamentoEntity.ToList();
        //    }
        //}

        public static List <UsuarioDepartamentoPesquisa> Pesquisar(string usuarioNome, string departamentoDescricao, string sortBy, int startIndex, int pageSize, out int count)
        {
            using (SynsTicketContext context = new SynsTicketContext())
            {
                var dados = from ud in context.UsuarioDepartamentoEntity
                            join usuario in context.UsuarioEntity on ud.UsuarioId equals usuario.UsuarioId
                            join departamento in context.DepartamentoEntity on ud.DepartamentoId equals departamento.DepartamentoId
                            orderby departamento.DepartamentoId
                            select new UsuarioDepartamentoPesquisa()
                {
                    UsuarioId      = usuario.UsuarioId,
                    DepartamentoId = departamento.DepartamentoId,
                    Usuario        = usuario.Nome,
                    Departamento   = departamento.Descricao,
                    Responsavel    = ud.Responsavel
                };

                if (!string.IsNullOrWhiteSpace(usuarioNome))
                {
                    if (usuarioNome == null)
                    {
                        usuarioNome = "";
                    }

                    var temp = usuarioNome.Split(' ');

                    dados = dados.Where(a => temp.All(t => a.Usuario.Contains(t)));
                }

                if (!String.IsNullOrWhiteSpace(departamentoDescricao))
                {
                    dados = dados.Where(a => a.Departamento.Contains(departamentoDescricao));
                }

                return(dados.OrderBy(sortBy).Page(startIndex, pageSize, out count));
            }
        }
예제 #25
0
        private static IQueryable <TicketAndamentoPesquisa> PesquisarQuery(string nome, SynsTicketContext context)
        {
            var dados = from andamento in context.TicketAndamentoEntity
                        join usuario in context.UsuarioEntity on andamento.UsuarioResponsavelId equals usuario.UsuarioId
                        join usuarioPerfil in context.UsuarioPerfilEntity on usuario.UsuarioPerfilId equals usuarioPerfil.UsuarioPerfilId
                        join andamentoTicket in context.TicketEntity on andamento.TicketId equals andamentoTicket.TicketId
                        join departamento in context.DepartamentoEntity on andamento.DepartamentoId equals departamento.DepartamentoId
                        orderby andamento.TicketAndamentoId
                        select new TicketAndamentoPesquisa()
            {
                UsuarioId = usuario.UsuarioId,
                // Nome = usuario.Nome,
                // Login = usuario.Login,
                //   UsuarioPerfil = usuarioPerfil.Descricao,

                UsuarioResponsavel = usuario.Nome,
                UsuarioCadastro    = usuario.Nome,
                Departamento       = departamento.Descricao,
                DataHora           = andamento.DataHora,
                Data = andamento.Data,
            };

            if (!string.IsNullOrWhiteSpace(nome))
            {
                dados = dados.Where(a => a.Nome.Contains(nome));
            }
            return(dados);
        }