예제 #1
0
        public static Model.Ocorrencia BuscarPorId(int clienteId)
        {
            using (MySqlConnection conn = new MySqlConnection(strConection))
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand())
                {
                    cmd.Connection  = conn;
                    cmd.CommandText = @"SELECT * FROM ocorrencia WHERE id = ?id";
                    cmd.Parameters.AddWithValue("?id", clienteId);

                    MySqlDataReader reader = cmd.ExecuteReader();

                    Model.Ocorrencia retorno = new Model.Ocorrencia();

                    while (reader.Read())
                    {
                        retorno.Id               = (int)reader["Id"];
                        retorno.Descricao        = (string)reader["descricao"];
                        retorno.DataFechamento   = (DateTime)reader["dataFechamento"];
                        retorno.DataAbertura     = (DateTime)reader["dataAbertura"];
                        retorno.Situacao         = (string)reader["situacao"];
                        retorno.TipoOcorrenciaId = (int)reader["idTipoOcorrencia"];
                        retorno.CondominoId      = (int)reader["idCondomino"];
                    }

                    return(retorno);
                }
            }
        }
예제 #2
0
 public ActionResult Create(Model.Ocorrencia ocorrencia)
 {
     try
     {
         Control.OcorrenciaDAO.Salvar(ocorrencia);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
 public IActionResult AlterarOcorrencia([FromBody] Model.Ocorrencia ocorrencia)
 {
     try
     {
         _cyrelaServicesContext.Ocorrencia.Update(ocorrencia);
         _cyrelaServicesContext.SaveChanges();
         return(Ok());
     }
     catch (Exception)
     {
         return(NotFound());
     }
 }
예제 #4
0
 public ActionResult Edit(int id, Model.Ocorrencia tipoOcorrencia)
 {
     try
     {
         // TODO: Add update logic here
         Control.OcorrenciaDAO.Salvar(tipoOcorrencia);
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
예제 #5
0
        public IActionResult Update([FromBody] Model.Ocorrencia ocorrencia)
        {
            var entity = _context.Ocorrencia.Find(ocorrencia.Id);

            if (entity == null)
            {
                return(NotFound());
            }

            _context.Entry(entity).CurrentValues.SetValues(ocorrencia);
            _context.SaveChanges();

            return(Ok(ocorrencia));
        }
예제 #6
0
        public Ocorrencia DefinirPropriedades(Intelbras.Message.Helper.MSG0279 xml)
        {
            var crm = new Model.Ocorrencia(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            if (!String.IsNullOrEmpty(xml.CodigoOcorrencia))
            {
                Ocorrencia ocorrencia = new Servicos.OcorrenciaService(this.Organizacao, this.IsOffline).BuscaOcorrencia(new Guid(xml.CodigoOcorrencia));
                if (ocorrencia != null)
                {
                    crm = ocorrencia;
                    if (!string.IsNullOrEmpty(xml.Foto))
                    {
                        Anotacao anotacao = new Anotacao();
                        anotacao.Assunto             = "Anexo";
                        anotacao.EntidadeRelacionada = new Lookup(ocorrencia.Id, "incident");
                        anotacao.Body         = xml.Foto;
                        anotacao.Tipo         = xml.ExtensaoArquivo;
                        anotacao.NomeArquivos = xml.Nome + "." + xml.ExtensaoArquivo;
                        try
                        {
                            anotacao.Texto = "A operação foi concluida com sucesso.";
                            new RepositoryService().Anexo.Create(anotacao);
                        }
                        catch (Exception ex)
                        {
                            anotacao.Texto = ex.Message;
                            new RepositoryService().Anexo.Create(anotacao);
                        }
                    }
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "CodigoOcorrencia informado não existe para ser atualizado.";
                    return(crm);
                }
            }
            else
            {
                resultadoPersistencia.Sucesso  = false;
                resultadoPersistencia.Mensagem = "CodigoOcorrencia é obrigatório.";
                return(crm);
            }

            #endregion

            return(crm);
        }
        public IActionResult DeleteOcorrencia([FromBody] Model.Ocorrencia ocorrencia)
        {
            try
            {
                _cyrelaServicesContext.Ocorrencia.Remove(ocorrencia);
                _cyrelaServicesContext.SaveChanges();

                return(Ok($"Item: {ocorrencia.TicketNumber} excluido com sucesso"));
            }
            catch (Exception)
            {
                return(NotFound("Item inexistente"));
            }
        }
예제 #8
0
        public static void Salvar(Model.Ocorrencia ocorrencia)
        {
            ocorrencia.DataAbertura   = DateTime.Now;
            ocorrencia.DataFechamento = ocorrencia.DataAbertura.AddDays(2);

            using (MySqlConnection conn = new MySqlConnection(strConection))
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand())
                {
                    cmd.Connection = conn;

                    if (ocorrencia.Id == 0)
                    {
                        cmd.CommandText = @"INSERT INTO ocorrencia
                                                (descricao, IdTipoOcorrencia, IdCondomino, DataAbertura, DataFechamento, Situacao)
                                            VALUES
                                                (?descricao, ?idTipoOcorrencia, ?idCondomino, ?dataAbertura, ?dataFechamento, ?situacao);";
                    }
                    else
                    {
                        cmd.CommandText = @"UPDATE ocorrencia 
                                                SET descricao = ?descricao,
                                                    IdTipoOcorrencia = ?idTipoOcorrencia,
                                                    IdCondomino = ?idCondomino,
                                                    DataAbertura = ?dataAbertura,
                                                    DataFechamento = ?dataFechamento,
                                                    Situacao = ?situacao
                                            WHERE id = ?id;";
                    }

                    cmd.Parameters.AddWithValue("?descricao", ocorrencia.Descricao);
                    cmd.Parameters.AddWithValue("?idTipoOcorrencia", ocorrencia.TipoOcorrenciaId);
                    cmd.Parameters.AddWithValue("?idCondomino", ocorrencia.CondominoId);
                    cmd.Parameters.AddWithValue("?dataAbertura", ocorrencia.DataAbertura);
                    cmd.Parameters.AddWithValue("?dataFechamento", ocorrencia.DataFechamento);
                    cmd.Parameters.AddWithValue("?situacao", ocorrencia.Situacao);
                    cmd.Parameters.AddWithValue("?id", ocorrencia.Id);

                    cmd.ExecuteNonQuery();
                }
            }
        }
예제 #9
0
 public IActionResult Insert([FromBody] Model.Ocorrencia ocorrencia)
 {
     _context.Ocorrencia.Add(ocorrencia);
     _context.SaveChanges();
     return(Ok(ocorrencia.Id));
 }
 public IActionResult OcorrenciaInsert([FromBody] Model.Ocorrencia ocorrencia)
 {
     _cyrelaServicesContext.Ocorrencia.Add(ocorrencia);
     _cyrelaServicesContext.SaveChanges();
     return(Ok());
 }
예제 #11
0
        public Ocorrencia DefinirPropriedades(MSG0300 legado)
        {
            var crm = new Model.Ocorrencia(this.Organizacao, this.IsOffline);

            return(crm);
        }
예제 #12
0
        public Ocorrencia DefinirPropriedades(Intelbras.Message.Helper.MSG0278 xml)
        {
            var crm = new Model.Ocorrencia(this.Organizacao, this.IsOffline);

            return(crm);
        }
예제 #13
0
파일: MSG0277.cs 프로젝트: ertprs/crm_fonte
        public Ocorrencia DefinirPropriedades(Intelbras.Message.Helper.MSG0277 xml)
        {
            var crm = new Model.Ocorrencia(this.Organizacao, this.IsOffline);

            #region Propriedades Crm->Xml

            if (!String.IsNullOrEmpty(xml.CodigoOcorrencia))
            {
                Ocorrencia ocorrencia = new Servicos.OcorrenciaService(this.Organizacao, this.IsOffline).BuscaOcorrencia(new Guid(xml.CodigoOcorrencia));
                if (ocorrencia != null)
                {
                    crm.Id = new Guid(xml.CodigoOcorrencia);
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "CodigoOcorrencia informado não existe para ser atualizado.";
                    return(crm);
                }
                if (ocorrencia.RazaoStatus == (int)Domain.Enum.StatusDaOcorrencia.Cancelada)
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "Ocorrência " + ocorrencia.Numero + " está cancelada.";
                    return(crm);
                }
            }

            if (xml.StatusOcorrencia.HasValue)
            {
                crm.RazaoStatus = xml.StatusOcorrencia;
            }

            if (xml.PrioridadeOcorrencia.HasValue)
            {
                crm.PrioridadeValue = xml.PrioridadeOcorrencia;
            }

            if (xml.TipoOcorrencia.HasValue)
            {
                crm.TipoDeOcorrencia = xml.TipoOcorrencia;
            }

            if (!string.IsNullOrEmpty(xml.DefeitoAlegado))
            {
                crm.DefeitoAlegado = xml.DefeitoAlegado;
            }

            if (!string.IsNullOrEmpty(xml.AtividadeExecutada))
            {
                crm.AtividadeExecutada = xml.AtividadeExecutada;
            }

            if (!string.IsNullOrEmpty(xml.Observacao))
            {
                crm.Anexo = xml.Observacao;
            }

            if (xml.DataHoraPrevistaVisita.HasValue)
            {
                crm.DataPrevistaParaVisita = xml.DataHoraPrevistaVisita;
            }

            if (xml.DataHoraChegadaTecnico.HasValue)
            {
                crm.DataInicioTecnico = xml.DataHoraChegadaTecnico;
            }

            if (xml.DataHoraSaidaTecnico.HasValue)
            {
                crm.DataSaidaTecnico = xml.DataHoraSaidaTecnico;
            }

            if (xml.DataHoraConclusao.HasValue)
            {
                crm.DataDeConclusao = xml.DataHoraConclusao;
            }

            if (xml.DataHoraEscalacao.HasValue)
            {
                crm.DataEscalacao = xml.DataHoraEscalacao;
            }

            if (xml.TempoSLA.HasValue)
            {
                crm.DataSLA = xml.TempoSLA;
            }

            if (!string.IsNullOrEmpty(xml.OrdemServicoCliente))
            {
                crm.OsCliente = xml.OrdemServicoCliente;
            }

            if (!string.IsNullOrEmpty(xml.CodigoContato))
            {
                Contato contato = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(new Guid(xml.CodigoContato));
                if (contato != null)
                {
                    crm.SolicitanteId = new Lookup(contato.ID.Value, "contact");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "CodigoContato não encontrado no Crm.";
                    return(crm);
                }
            }

            if (!string.IsNullOrEmpty(xml.CodigoConta))
            {
                Conta cliente = new Intelbras.CRM2013.Domain.Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(new Guid(xml.CodigoConta));
                if (cliente != null)
                {
                    crm.ClienteId = new Lookup(cliente.ID.Value, "account");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "CodigoConta não encontrado no Crm.";
                    return(crm);
                }
            }

            if (!string.IsNullOrEmpty(xml.CodigoEmpresaExecutante))
            {
                Conta empresaexecutante = new Intelbras.CRM2013.Domain.Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(new Guid(xml.CodigoEmpresaExecutante));
                if (empresaexecutante != null)
                {
                    crm.EmpresaExecutanteId = new Lookup(empresaexecutante.ID.Value, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "CodigoEmpresaExecutante não encontrado no Crm.";
                    return(crm);
                }
            }

            if (!string.IsNullOrEmpty(xml.TecnicoResponsavel))
            {
                Contato tecnicoresponsavel = new Intelbras.CRM2013.Domain.Servicos.ContatoService(this.Organizacao, this.IsOffline).BuscaContato(new Guid(xml.TecnicoResponsavel));
                if (tecnicoresponsavel != null)
                {
                    //crm.TecnicoResponsavelId = new Lookup(tecnicoresponsavel.ID.Value, ""); Trocado para Técnico da Visita, por solicitação da Silvana - Chamado 133127
                    crm.TecnicoDaVisitaId = new Lookup(tecnicoresponsavel.ID.Value, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "TecnicoResponsavel não encontrado no Crm.";
                    return(crm);
                }
            }

            if (!string.IsNullOrEmpty(xml.Logradouro))
            {
                crm.Rua = xml.Logradouro;
            }

            if (!string.IsNullOrEmpty(xml.Bairro))
            {
                crm.Bairro = xml.Bairro;
            }

            if (!string.IsNullOrEmpty(xml.NomeCidade))
            {
                crm.Cidade = xml.NomeCidade;
            }

            if (!string.IsNullOrEmpty(xml.UF))
            {
                crm.Estado = xml.UF;
            }

            if (!string.IsNullOrEmpty(xml.DescricaoFCA))
            {
                crm.DescricaoDaMensagemDeIntegracao = xml.DescricaoFCA;
            }

            if (!string.IsNullOrEmpty(xml.ResumoOcorrencia))
            {
                crm.ResumoDaOcorrencia = xml.ResumoOcorrencia;
            }

            if (!string.IsNullOrEmpty(xml.CausaFinal))
            {
                Causa causa = new Intelbras.CRM2013.Domain.Servicos.CausaService(this.Organizacao, this.IsOffline).ObterPor(new Guid(xml.CausaFinal));
                if (causa != null)
                {
                    crm.CausaFinal = new Lookup(causa.Id, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "CausaFinal não encontrada no Crm.";
                    return(crm);
                }
            }

            if (!string.IsNullOrEmpty(xml.AcaoFinal))
            {
                Acao acao = new Intelbras.CRM2013.Domain.Servicos.AcaoService(this.Organizacao, this.IsOffline).ObterPor(new Guid(xml.AcaoFinal));
                if (acao != null)
                {
                    crm.AcaoFinal = new Lookup(acao.Id, "");
                }
                else
                {
                    resultadoPersistencia.Sucesso  = false;
                    resultadoPersistencia.Mensagem = "AcaoFinal não encontrada no Crm.";
                    return(crm);
                }
            }

            if (xml.StatusOcorrencia == 993520004) // Atendimento Rejeitado
            {
                Conta      conta         = new Intelbras.CRM2013.Domain.Servicos.ContaService(this.Organizacao, this.IsOffline).BuscaConta(new Guid(xml.CodigoEmpresaExecutante));
                Ocorrencia ocorrencia    = new Intelbras.CRM2013.Domain.Servicos.OcorrenciaService(this.Organizacao, this.IsOffline).BuscaOcorrencia(new Guid(xml.CodigoOcorrencia));
                string     justificativa = "";
                if (ocorrencia.EmpresaAtendimentoRejeitado == null)
                {
                    if (!string.IsNullOrEmpty(xml.Justificativa))
                    {
                        justificativa = xml.Justificativa;
                    }
                    crm.EmpresaAtendimentoRejeitado = conta.RazaoSocial + " - " + justificativa + " - " + DateTime.Now;
                }
                else
                {
                    if (!string.IsNullOrEmpty(xml.Justificativa))
                    {
                        justificativa = xml.Justificativa;
                    }
                    crm.EmpresaAtendimentoRejeitado += "\r\n" + (conta.RazaoSocial + " - " + justificativa + " - " + DateTime.Now);
                }
                crm.AddNullProperty("EmpresaExecutanteId");
            }

            #endregion

            return(crm);
        }