public DisciplinaSAPResponse DT_CARACT_LaborSafety_RFC01_ProcessaDisciplina(DisciplinaSAPModelo modelo) { var disciplinaResponse = new DisciplinaSAPResponse(); DisciplinaSAPResponse result = new DisciplinaSAPResponse(); result.Itens = new List <DisciplinaItemSAPResponse>(); try { //Grava o que chegou na integração, em um arquivo texto this.GeraLogRecebimentoIntegracao(modelo, TipoIntegracao.Disciplina); result = disciplinaSAPNegocio.ProcessarDisciplina(modelo); } catch (Exception e) { DisciplinaItemSAPResponse itemResponse = new DisciplinaItemSAPResponse(); itemResponse.Caracteristica = ""; itemResponse.Status = Constantes.StatusResponseIntegracao.E.ToString(); itemResponse.Descricao = e.Message; result.Itens.Add(itemResponse); } return(result); }
public DisciplinaSAPResponse ProcessarDisciplina(DisciplinaSAPModelo modelo) { DisciplinaSAPResponse response = new DisciplinaSAPResponse(); response.Itens = new List <DisciplinaItemSAPResponse>(); this.ValidaDisciplina(modelo); List <DisciplinaModelo> listaDisciplina = new List <DisciplinaModelo>(); foreach (var item in modelo.Itens) { listaDisciplina.Add(new DisciplinaModelo() { Nome = item.ValorCaracteristica, Descricao = item.ValorCaracteristica }); } foreach (var disciplina in listaDisciplina) { DisciplinaItemSAPResponse itemResponse = new DisciplinaItemSAPResponse(); try { //disciplina.Descricao = Utils.StringUtils.RemoveAcentuacao(disciplina.Descricao); var disciplinaExistente = disciplinaPersistencia.ListarDisciplinaPorNome(disciplina.Descricao); if (disciplinaExistente == null) { disciplinaPersistencia.Inserir(disciplina); } else { disciplinaPersistencia.Editar(disciplina); } itemResponse.Caracteristica = disciplina.Descricao; itemResponse.Status = Constantes.StatusResponseIntegracao.S.ToString(); itemResponse.Descricao = ""; } catch (Exception ex) { itemResponse.Caracteristica = disciplina.Descricao; itemResponse.Status = Constantes.StatusResponseIntegracao.E.ToString(); itemResponse.Descricao = ex.Message; } finally { response.Itens.Add(itemResponse); } } return(response); }
private void geraLogMetodoDisciplina(DisciplinaSAPModelo modelo, StreamWriter sw) { sw.WriteLine($@"-----MÉTODO PROCESSA DISCIPLINA-----"); int i = 0; foreach (var disciplina in modelo.Itens) { sw.WriteLine(""); sw.WriteLine($@"___ITEM {i} da lista___"); sw.WriteLine($@"Propriedade Característica - {disciplina.Caracteristica}"); sw.WriteLine($@"Propriedade Valor da Característica - {disciplina.ValorCaracteristica}"); } }
private void ValidaDisciplina(DisciplinaSAPModelo modelo) { try { if (modelo == null) { throw new Exception("O modelo de disciplina não foi informado!"); } if (modelo.Itens == null) { throw new Exception("A(s) disciplina(s) não foi(ram) informada(s)!"); } if (modelo.Itens.Count == 0) { throw new Exception("A(s) disciplina(s) não foi(ram) informada(s)!"); } else { for (int i = 0; i < modelo.Itens.Count; i++) { DisciplinaItemSAPModelo item = modelo.Itens[i]; if (String.IsNullOrEmpty(item.Caracteristica) && String.IsNullOrEmpty(item.ValorCaracteristica)) { throw new Exception($"O item de posição {i + 1} não possui valores para nenhum dos campos!"); } if (String.IsNullOrEmpty(item.ValorCaracteristica)) { throw new Exception($"O item de posição {i + 1} não possui valor para o campo VALOR_CARACTERISTICA"); } } //foreach (var item in modelo.Itens) //{ // if(String.IsNullOrEmpty(item.ValorCaracteristica)) // throw new Exception($"A disciplina {item.Caracteristica} não foi informada!"); //} } } catch (Exception ex) { throw ex; } }