Esempio n. 1
0
        public List <ChamadoAnexo> RetornarAnexos(int chamadoId)
        {
            var query = from cha in _rep.context.Chamados.AsNoTracking()
                        join oco in _rep.context.ChamadoOcorrencias on cha.Id equals oco.ChamadoId
                        join cli in _rep.context.Clientes on cha.ClienteId equals cli.Id
                        where cha.Id == chamadoId
                        orderby oco.Data
                        select new
            {
                cha.Id,
                cha.DataAbertura,
                cha.HoraAbertura,
                cha.Contato,
                cli.Nome,
                oco.Documento,
                oco.Data,
                oco.Anexo
            };

            var lista = new List <ChamadoAnexo>();

            foreach (var item in query)
            {
                var model = new ChamadoAnexo();
                model.Contato         = item.Contato;
                model.DataAbertura    = item.DataAbertura;
                model.DataOcorrencia  = item.Data;
                model.DoctoOcorrencia = item.Documento;
                model.HoraAbertura    = item.HoraAbertura;
                model.Id          = item.Id;
                model.NomeAnexo   = item.Anexo;
                model.NomeCliente = item.Nome;

                lista.Add(model);
            }
            return(lista);
        }
        public override Chamado MapToEntity(ChamadoViewModel value)
        {
            Chamado entity = null;

            if (value.ChamadoID > 0)
            {
                entity = Find(value);
            }
            else
            {
                entity = new Chamado();
            }

            entity.ChamadoID            = value.ChamadoID;
            entity.ChamadoMotivoID      = value.ChamadoMotivoID;
            entity.ChamadoStatusID      = value.ChamadoStatusID;
            entity.FilaSolicitanteID    = value.FilaSolicitanteID;
            entity.CondominioID         = value.CondominioID;
            entity.CondominoID          = value.CondominoID == 0 ? null : value.CondominoID;
            entity.CredenciadoID        = value.CredenciadoID == 0 ? null : value.CredenciadoID;
            entity.EdificacaoID         = value.EdificacaoID;
            entity.UnidadeID            = value.UnidadeID;
            entity.DataChamado          = value.DataChamado;
            entity.Assunto              = value.Assunto;
            entity.MensagemOriginal     = value.MensagemOriginal;
            entity.UsuarioID            = value.UsuarioID;
            entity.NomeUsuario          = value.NomeUsuario;
            entity.LoginUsuario         = value.LoginUsuario;
            entity.Prioridade           = value.Prioridade;
            entity.DataUltimaAnotacao   = value.DataUltimaAnotacao;
            entity.FilaAtendimentoID    = value.FilaAtendimentoID;
            entity.DataRedirecionamento = value.DataRedirecionamento;
            entity.UsuarioFilaID        = value.UsuarioFilaID;
            entity.NomeUsuarioFila      = value.NomeUsuarioFila;
            entity.LoginUsuarioFila     = value.LoginUsuarioFila;

            // Executa o MapToEntity do ChamadoFila
            if (value.ChamadoFilaViewModel != null)
            {
                ChamadoFilaModel ChamadoFilaModel = new ChamadoFilaModel();
                ChamadoFilaModel.Create(this.db, this.seguranca_db, SessaoLocal.sessaoId);
                entity.Rotas = new List <ChamadoFila>();
                entity.Rotas.Add(ChamadoFilaModel.MapToEntity(value.ChamadoFilaViewModel));
            }

            // Mapear anexos
            if (entity.Anexos == null || entity.Anexos.Count == 0)
            {
                ChamadoAnexoModel ChamadoAnexoModel = new ChamadoAnexoModel();
                ChamadoAnexoModel.Create(this.db, this.seguranca_db, SessaoLocal.sessaoId);
                entity.Anexos = new List <ChamadoAnexo>();
                foreach (ChamadoAnexoViewModel cha in value.Anexos)
                {
                    ChamadoAnexo ChamadoAnexo = ChamadoAnexoModel.MapToEntity(cha);
                    entity.Anexos.Add(ChamadoAnexo);
                }
                ;
            }

            return(entity);
        }