Exemple #1
0
        private ServicoPai CriarServicoPai(VinculoClienteServico vinculoClienteServico)
        {
            var servicoPai = new ServicoPai()
            {
                NmServicoPai = vinculoClienteServico.NmClienteServico, DescServicoPai = vinculoClienteServico.DescClienteServico
            };

            return(servicoPai);
        }
Exemple #2
0
        private async Task <VinculoClienteServico> VerificarExistenciaServico(VinculoClienteServico vinculoClienteServico)
        {
            if (vinculoClienteServico.IdSalesForce == null)
            {
                return(null);
            }

            var vinculoRelacionado = await _serviceRepository.VerificarExistenciaDeServicoPorIdSalesForce(vinculoClienteServico.IdSalesForce);

            return(vinculoRelacionado);
        }
Exemple #3
0
        private async Task <Servico> CriarServico(VinculoClienteServico vinculoClienteServico, int?idCelula, Contrato contrato, TipoServico tipoServico, VinculoCombinadaServico combinada, bool tecnica)
        {
            Servico servico = new Servico();

            servico.FlMigrado = "N";
            servico.FlStatus  = "A";
            servico.VinculoCelulaServicos.Add(new VinculoCelulaServico()
            {
                IdCelula = idCelula.Value
            });
            if (contrato != null)
            {
                servico.VinculoContratoServicos.Add(new VinculoContratoServico()
                {
                    IdContrato = contrato.Id
                });
            }
            if (tipoServico != null)
            {
                if (!tecnica)
                {
                    servico.VinculoServicoTipoServicos.Add(new VinculoServicoTipoServico()
                    {
                        IdTipoServico = tipoServico.Id
                    });
                }
                else
                {
                    //buscar no banco servico tipo ACO
                    var servicoAco = await _serviceRepository.ObterTipoServicoPorSigla("ACO");

                    servico.VinculoServicoTipoServicos.Add(new VinculoServicoTipoServico()
                    {
                        IdTipoServico = servicoAco.Id
                    });
                }
            }

            servico.VinculoClienteServicos.Add(vinculoClienteServico);
            servico.VinculoCombinadaServicos.Add(combinada);
            return(servico);
        }
Exemple #4
0
        public async Task CriarServicos(VinculoClienteServico vinculoClienteServico, string codContrato, string siglaTipoServico, int idCelula, string cnpjFilial, int idCliente, int?idCelulaDelivery)
        {
            Contrato    contrato    = null;
            TipoServico tipoServico = null;
            Filial      filial      = null;
            ServicoPai  servicoPai  = null;

            var vinculoExistente = await VerificarExistenciaServico(vinculoClienteServico);

            if (codContrato != null && codContrato != "")
            {
                contrato = await _contratoRepository.ObterContratoPorCodigo(codContrato);
            }

            if (siglaTipoServico != null && siglaTipoServico != "")
            {
                tipoServico = await _serviceRepository.ObterTipoServicoPorSigla(siglaTipoServico);
            }

            if (cnpjFilial != null && cnpjFilial != "")
            {
                filial = await _contratoRepository.ObterFilialComEmpresa(cnpjFilial);

                if (filial != null)
                {
                    vinculoClienteServico.IdFilial  = filial.Id;
                    vinculoClienteServico.IdEmpresa = filial.IdEmpresa;
                }
            }
            if (vinculoExistente == null)
            {
                servicoPai = CriarServicoPai(vinculoClienteServico);
            }
            else
            {
                servicoPai = vinculoExistente.Servico.ServicoPai;
            }
            var combinada = CriarCombinada();

            //Comercial
            servicoPai.Servicos.Add(await CriarServico(vinculoClienteServico, idCelula, contrato, tipoServico, combinada, false));

            if (idCelulaDelivery != null && idCelulaDelivery != 0)
            {
                //Tecnica
                servicoPai.Servicos.Add(await CriarServico(vinculoClienteServico, idCelulaDelivery, contrato, tipoServico, combinada, true));
            }
            try
            {
                servicoPai.DescServicoPai = "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT";
                await _serviceRepository.PersistirServicoPai(servicoPai);

                var logInserirServico = new { Tipo = vinculoExistente == null ? "Inclusao" : "Alteracao", NomeServico = vinculoClienteServico.NmClienteServico, SalesId = vinculoClienteServico.IdSalesForce, };
                await _logGenericoRepository.AddLog(new LogGenerico { NmTipoLog = Tipo.TRANSACAO.ToString(), NmOrigem = Origem.SALESFORCE.ToString(), DescLogGenerico = logInserirServico.Tipo + " de dados Servico: " + JsonConvert.SerializeObject(logInserirServico), DescExcecao = "", DtHoraLogGenerico = DateTime.Now });
            }
            catch (Exception e)
            {
                var logInserirServico = new { Tipo = vinculoExistente == null ? "Inclusao" : "Alteracao", NomeServico = vinculoClienteServico.NmClienteServico, SalesId = vinculoClienteServico.IdSalesForce, };
                await _logGenericoRepository.AddLog(new LogGenerico { NmTipoLog = Tipo.TRANSACAO.ToString(), NmOrigem = Origem.SALESFORCE.ToString(), DescLogGenerico = "Falha " + logInserirServico.Tipo + " de dados Servico: " + JsonConvert.SerializeObject(logInserirServico), DescExcecao = e.StackTrace, DtHoraLogGenerico = DateTime.Now });
            }
        }