private ServicoPai CriarServicoPai(VinculoClienteServico vinculoClienteServico) { var servicoPai = new ServicoPai() { NmServicoPai = vinculoClienteServico.NmClienteServico, DescServicoPai = vinculoClienteServico.DescClienteServico }; return(servicoPai); }
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 }); } }