public ActionResult Editar(int id) { if (!_caracterizacaoValidar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } if (!_validar.Acessar(id)) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } SecagemMecanicaGraos caracterizacao = _bus.ObterPorEmpreendimento(id); string textoMerge = _caracterizacaoValidar.DependenciasAlteradas( caracterizacao.EmpreendimentoId, (int)eCaracterizacao.SecagemMecanicaGraos, eCaracterizacaoDependenciaTipo.Caracterizacao, caracterizacao.Dependencias); if (!string.IsNullOrEmpty(textoMerge)) { caracterizacao = _bus.MergiarGeo(caracterizacao); } SecagemMecanicaGraosVM vm = new SecagemMecanicaGraosVM(caracterizacao, _listaBus.AtividadesSolicitada, _listaBus.SecagemMecanicaGraosMateriaPrimaConsumida, _caracterizacaoBus.ObterCoordenadaAtividadeLst(caracterizacao.EmpreendimentoId, eCaracterizacao.SecagemMecanicaGraos, (eTipoGeometria)caracterizacao.CoordenadaAtividade.Tipo), _listaBus.CaracterizacaoGeometriaTipo, _listaBus.CaracterizacaoUnidadeMedida, isVisualizar: false, isEditar: true); vm.TextoMerge = textoMerge; vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto; return(View(vm)); }
public SecagemMecanicaGraos MergiarGeo(SecagemMecanicaGraos caracterizacaoAtual) { caracterizacaoAtual.CoordenadaAtividade.Tipo = 0; //limpando dados selecionados caracterizacaoAtual.CoordenadaAtividade.Id = 0; //limpando dados selecionados caracterizacaoAtual.Dependencias = _busCaracterizacao.ObterDependenciasAtual(caracterizacaoAtual.EmpreendimentoId, eCaracterizacao.SecagemMecanicaGraos, eCaracterizacaoDependenciaTipo.Caracterizacao); return(caracterizacaoAtual); }
public SecagemMecanicaGraosVM(SecagemMecanicaGraos caracterizacao, List <ProcessoAtividadeItem> atividades, List <Lista> materiaPrimaConsumida, List <Lista> coordenadaslst, List <Lista> tipoGeometrico, List <Lista> unidadeMedida, bool isVisualizar = false, bool isEditar = false) { IsVisualizar = isVisualizar; Caracterizacao = caracterizacao; IsEditar = isEditar; Atividade = ViewModelHelper.CriarSelectList(atividades.Where(x => x.Codigo == (int)eAtividadeCodigo.SecagemMecanicaGraos || x.Codigo == (int)eAtividadeCodigo.SecagemMecanicaGraosAssociadosPilagem).ToList(), true, true, selecionado: caracterizacao.Atividade.ToString()); CoodernadaAtividade = new CoordenadaAtividadeVM(Caracterizacao.CoordenadaAtividade, coordenadaslst, tipoGeometrico, IsVisualizar); MateriaPrimaFlorestalConsumida = new MateriaPrimaFlorestalConsumidaVM(caracterizacao.MateriasPrimasFlorestais, materiaPrimaConsumida, unidadeMedida, isVisualizar); }
public ActionResult GeoMergiar(SecagemMecanicaGraos caracterizacao) { SecagemMecanicaGraosVM vm = new SecagemMecanicaGraosVM(_bus.MergiarGeo(caracterizacao), _listaBus.AtividadesSolicitada, _listaBus.SecagemMecanicaGraosMateriaPrimaConsumida, _caracterizacaoBus.ObterCoordenadaAtividadeLst(caracterizacao.EmpreendimentoId, eCaracterizacao.SecagemMecanicaGraos, (eTipoGeometria)caracterizacao.CoordenadaAtividade.Tipo), _listaBus.CaracterizacaoGeometriaTipo, _listaBus.CaracterizacaoUnidadeMedida); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @Html = ViewModelHelper.RenderPartialViewToString(ControllerContext, "SecagemMecanicaGraos", vm), @Dependencias = ViewModelHelper.Json(vm.Caracterizacao.Dependencias) }, JsonRequestBehavior.AllowGet)); }
internal void Salvar(SecagemMecanicaGraos caracterizacao, BancoDeDados banco) { if (caracterizacao == null) { throw new Exception("A Caracterização é nula."); } if (caracterizacao.Id <= 0) { Criar(caracterizacao, banco); } else { Editar(caracterizacao, banco); } }
public SecagemMecanicaGraos ObterPorEmpreendimento(int EmpreendimentoId, bool simplificado = false, BancoDeDados banco = null) { SecagemMecanicaGraos caracterizacao = null; try { caracterizacao = _da.ObterPorEmpreendimento(EmpreendimentoId, simplificado: simplificado); caracterizacao.Dependencias = _busCaracterizacao.ObterDependencias(caracterizacao.Id, eCaracterizacao.SecagemMecanicaGraos, eCaracterizacaoDependenciaTipo.Caracterizacao); } catch (Exception exc) { Validacao.AddErro(exc); } return(caracterizacao); }
internal SecagemMecanicaGraos ObterPorEmpreendimento(int empreendimento, bool simplificado = false, BancoDeDados banco = null) { SecagemMecanicaGraos caracterizacao = new SecagemMecanicaGraos(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@"select s.id from {0}crt_sec_mec_graos s where s.empreendimento = :empreendimento", EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", empreendimento, DbType.Int32); object valor = bancoDeDados.ExecutarScalar(comando); if (valor != null && !Convert.IsDBNull(valor)) { caracterizacao = Obter(Convert.ToInt32(valor), bancoDeDados, simplificado); } } return(caracterizacao); }
public ActionResult Criar(SecagemMecanicaGraos caracterizacao) { string textoMerge = _caracterizacaoValidar.DependenciasAlteradas( caracterizacao.EmpreendimentoId, (int)eCaracterizacao.SecagemMecanicaGraos, eCaracterizacaoDependenciaTipo.Caracterizacao, caracterizacao.Dependencias); if (!string.IsNullOrEmpty(textoMerge)) { return(Json(new { @TextoMerge = textoMerge }, JsonRequestBehavior.AllowGet)); } _bus.Salvar(caracterizacao); return(Json(new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, @UrlRedirecionar = Url.Action("", "Caracterizacao", new { id = caracterizacao.EmpreendimentoId, Msg = Validacao.QueryParam() }) }, JsonRequestBehavior.AllowGet)); }
public ActionResult Criar(int id) { if (!_caracterizacaoValidar.Basicas(id)) { return(RedirectToAction("Index", "../Empreendimento", Validacao.QueryParamSerializer())); } SecagemMecanicaGraos caracterizacao = new SecagemMecanicaGraos(); caracterizacao.EmpreendimentoId = id; if (!_validar.Acessar(caracterizacao.EmpreendimentoId)) { return(RedirectToAction("", "Caracterizacao", new { id = id, Msg = Validacao.QueryParam() })); } caracterizacao.Dependencias = _caracterizacaoBus.ObterDependenciasAtual(id, eCaracterizacao.SecagemMecanicaGraos, eCaracterizacaoDependenciaTipo.Caracterizacao); SecagemMecanicaGraosVM vm = new SecagemMecanicaGraosVM(caracterizacao, _listaBus.AtividadesSolicitada, _listaBus.SecagemMecanicaGraosMateriaPrimaConsumida, _caracterizacaoBus.ObterCoordenadaAtividadeLst(caracterizacao.EmpreendimentoId, eCaracterizacao.SecagemMecanicaGraos, (eTipoGeometria)caracterizacao.CoordenadaAtividade.Tipo), _listaBus.CaracterizacaoGeometriaTipo, _listaBus.CaracterizacaoUnidadeMedida); vm.AtualizarDependenciasModalTitulo = Mensagem.Caracterizacao.AtualizarDependenciasModalTitulo.Texto; return(View(vm)); }
internal SecagemMecanicaGraos Obter(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false) { SecagemMecanicaGraos caracterizacao = new SecagemMecanicaGraos(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { if (tid == null) { caracterizacao = Obter(id, bancoDeDados, simplificado); } else { Comando comando = bancoDeDados.CriarComando(@"select count(s.id) existe from {0}crt_sec_mec_graos s where s.id = :id and s.tid = :tid", EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid); caracterizacao = (Convert.ToBoolean(bancoDeDados.ExecutarScalar(comando))) ? Obter(id, bancoDeDados, simplificado) : ObterHistorico(id, bancoDeDados, tid, simplificado); } } return(caracterizacao); }
public bool Salvar(SecagemMecanicaGraos caracterizacao) { try { if (_validar.Salvar(caracterizacao)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); _da.Salvar(caracterizacao, bancoDeDados); //Gerencia as dependências da caracterização _busCaracterizacao.Dependencias(new Caracterizacao() { Id = caracterizacao.Id, Tipo = eCaracterizacao.SecagemMecanicaGraos, DependenteTipo = eCaracterizacaoDependenciaTipo.Caracterizacao, Dependencias = caracterizacao.Dependencias }, bancoDeDados); Validacao.Add(Mensagem.SecagemMecanicaGraos.Salvar); bancoDeDados.Commit(); } } } catch (Exception e) { Validacao.AddErro(e); } return(Validacao.EhValido); }
internal bool Salvar(SecagemMecanicaGraos caracterizacao) { if (!_caracterizacaoValidar.Basicas(caracterizacao.EmpreendimentoId)) { return(false); } if (caracterizacao.Id <= 0 && (_da.ObterPorEmpreendimento(caracterizacao.EmpreendimentoId, true) ?? new SecagemMecanicaGraos()).Id > 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoCaracterizacaoJaCriada); return(false); } if (!Acessar(caracterizacao.EmpreendimentoId)) { return(false); } if (caracterizacao.Atividade <= 0) { Validacao.Add(Mensagem.SecagemMecanicaGraos.AtividadeObrigatoria); } _coordenadaValidar.Salvar(caracterizacao.CoordenadaAtividade); #region Secadores if (caracterizacao.Secadores.Count <= 0) { Validacao.Add(Mensagem.SecagemMecanicaGraos.SecadorObrigatorio); } if (!String.IsNullOrWhiteSpace(caracterizacao.NumeroSecadores)) { int aux = 0; Int32.TryParse(caracterizacao.NumeroSecadores, out aux); if (aux <= 0) { Validacao.Add(Mensagem.SecagemMecanicaGraos.NumeroSecadorMaiorZero); } } else { Validacao.Add(Mensagem.SecagemMecanicaGraos.NumeroSecadorObrigatorio); } int numeroSecadores = 0; Int32.TryParse(caracterizacao.NumeroSecadores, out numeroSecadores); if (numeroSecadores < caracterizacao.Secadores.Count) { Validacao.Add(Mensagem.SecagemMecanicaGraos.NumeroSecadorMenorQueSecadoresAdicionados); } #endregion #region Materias if (caracterizacao.MateriasPrimasFlorestais.Count <= 0) { Validacao.Add(Mensagem.MateriaPrimaFlorestalConsumida.MateriaObrigatoria); } #endregion return(Validacao.EhValido); }
internal int?Criar(SecagemMecanicaGraos caracterizacao, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Secagem Mecanica de Graos bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"insert into {0}crt_sec_mec_graos c(id, empreendimento, atividade, numero_secadores, geometria_coord_atv_x, geometria_coord_atv_y, geometria_id, geometria_tipo, tid) values(seq_crt_sec_mec_graos.nextval, :empreendimento, :atividade, :numero_secadores, :geometria_coord_atv_x, :geometria_coord_atv_y, :geometria_id, :geometria_tipo, :tid ) returning c.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32); comando.AdicionarParametroEntrada("atividade", caracterizacao.Atividade, DbType.Int32); comando.AdicionarParametroEntrada("numero_secadores", caracterizacao.NumeroSecadores, DbType.Int32); comando.AdicionarParametroEntrada("geometria_id", caracterizacao.CoordenadaAtividade.Id, DbType.Int32); comando.AdicionarParametroEntrada("geometria_tipo", caracterizacao.CoordenadaAtividade.Tipo, DbType.Int32); comando.AdicionarParametroEntrada("geometria_coord_atv_x", caracterizacao.CoordenadaAtividade.CoordX, DbType.Decimal); comando.AdicionarParametroEntrada("geometria_coord_atv_y", caracterizacao.CoordenadaAtividade.CoordY, DbType.Decimal); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); caracterizacao.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #endregion #region Secadores if (caracterizacao.Secadores != null && caracterizacao.Secadores.Count > 0) { foreach (Secador item in caracterizacao.Secadores) { comando = bancoDeDados.CriarComando(@"insert into {0}crt_sec_mec_graos_cap_sec c(id, caracterizacao, identificador, capacidade, tid) values(seq_crt_sec_mec_graos_cap_sec.nextval, :caracterizacao, :identificador, :capacidade, :tid) returning c.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("identificador", item.Identificador, DbType.Int32); comando.AdicionarParametroEntrada("capacidade", item.Capacidade, DbType.Decimal); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } } #endregion #region Materias-Prima Florestal Consumida if (caracterizacao.MateriasPrimasFlorestais != null && caracterizacao.MateriasPrimasFlorestais.Count > 0) { foreach (MateriaPrima item in caracterizacao.MateriasPrimasFlorestais) { comando = bancoDeDados.CriarComando(@"insert into {0}crt_sec_mec_graos_mat_fl_c m (id, caracterizacao, materia_prima_tipo, unidade, quantidade, tid) values(seq_crt_sec_mec_graos_mat_fl_c.nextval, :caracterizacao, :materia_prima_tipo, :unidade, :quantidade, :tid) returning m.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("materia_prima_tipo", item.MateriaPrimaConsumida, DbType.Int32); comando.AdicionarParametroEntrada("unidade", item.Unidade, DbType.Int32); comando.AdicionarParametroEntrada("quantidade", item.Quantidade, DbType.Decimal); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } } #endregion #region Histórico Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.secagemmecanicagraos, eHistoricoAcao.criar, bancoDeDados, null); #endregion bancoDeDados.Commit(); return(caracterizacao.Id); } }
private SecagemMecanicaGraos ObterHistorico(int id, BancoDeDados banco = null, string tid = null, bool simplificado = false) { SecagemMecanicaGraos caracterizacao = new SecagemMecanicaGraos(); int hst = 0; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Secagem Mecanica de Graos Comando comando = bancoDeDados.CriarComando(@"select c.id, c.empreendimento_id, c.atividade_id, c.numero_secadores, c.geometria_coord_atv_x, c.geometria_coord_atv_y, c.geometria_id, c.geometria_tipo, c.tid from {0}hst_crt_sec_mec_graos c where c.caracterizacao = :id and c.tid = :tid" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, tid); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { hst = Convert.ToInt32(reader["id"]); caracterizacao.Id = id; caracterizacao.EmpreendimentoId = Convert.ToInt32(reader["empreendimento_id"]); caracterizacao.Atividade = Convert.ToInt32(reader["atividade_id"]); caracterizacao.NumeroSecadores = reader["numero_secadores"].ToString(); caracterizacao.CoordenadaAtividade.Id = Convert.ToInt32(reader["geometria_id"]); caracterizacao.CoordenadaAtividade.Tipo = Convert.ToInt32(reader["geometria_tipo"]); caracterizacao.Tid = reader["tid"].ToString(); if (reader["geometria_coord_atv_x"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_x"])) { caracterizacao.CoordenadaAtividade.CoordX = Convert.ToDecimal(reader["geometria_coord_atv_x"]); } if (reader["geometria_coord_atv_y"] != null && !Convert.IsDBNull(reader["geometria_coord_atv_y"])) { caracterizacao.CoordenadaAtividade.CoordY = Convert.ToDecimal(reader["geometria_coord_atv_y"]); } } reader.Close(); } #endregion if (caracterizacao.Id <= 0 || simplificado) { return(caracterizacao); } #region Secadores comando = bancoDeDados.CriarComando(@"select s.capacidade_secador id, s.identificador, s.capacidade, s.tid from {0}hst_crt_sec_mec_graos_cap_sec s where s.id_hst = :id_hst order by s.identificador" , EsquemaBanco); comando.AdicionarParametroEntrada("id_hst", hst, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Secador secador = null; if (reader.Read()) { secador = new Secador(); secador.Id = Convert.ToInt32(reader["id"]); secador.Identificador = reader["identificador"].ToString(); secador.Capacidade = reader["capacidade"].ToString(); secador.Tid = reader["tid"].ToString(); caracterizacao.Secadores.Add(secador); } reader.Close(); } #endregion #region Materias-Prima Florestal Consumida comando = bancoDeDados.CriarComando(@"select m.materia_prima id, m.materia_prima_tipo, lm.texto materia_prima_tipo_texto, m.unidade, lu.texto unidade_texto, m.quantidade, m.tid from {0}hst_crt_sec_mec_graos_mat_fl_c m, {0}lov_crt_sec_mec_graos_mat_pr_c lm, {0}lov_crt_sec_mec_graos_unid_med lu where m.id_hst = :id_hst and lm.id = m.materia_prima_tipo and lu.id = m.unidade order by m.materia_prima" , EsquemaBanco); comando.AdicionarParametroEntrada("id_hst", hst, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { MateriaPrima materia = null; if (reader.Read()) { materia = new MateriaPrima(); materia.Id = Convert.ToInt32(reader["id"]); materia.MateriaPrimaConsumida = Convert.ToInt32(reader["materia_prima_tipo"]); materia.MateriaPrimaConsumidaTexto = reader["materia_prima_tipo_texto"].ToString(); materia.Unidade = Convert.ToInt32(reader["unidade"]); materia.UnidadeTexto = reader["unidade_texto"].ToString(); materia.Quantidade = reader["quantidade"].ToString(); materia.Tid = reader["tid"].ToString(); caracterizacao.MateriasPrimasFlorestais.Add(materia); } reader.Close(); } #endregion } return(caracterizacao); }
internal void Editar(SecagemMecanicaGraos caracterizacao, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Secagem Mecanica de Graos bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"update crt_sec_mec_graos c set c.empreendimento = :empreendimento, c.atividade = :atividade, c.numero_secadores = :numero_secadores, c.geometria_coord_atv_x = :geometria_coord_atv_x, c.geometria_coord_atv_y = :geometria_coord_atv_y, c.geometria_id = :geometria_id, c.geometria_tipo = :geometria_tipo, c.tid = :tid where c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroEntrada("empreendimento", caracterizacao.EmpreendimentoId, DbType.Int32); comando.AdicionarParametroEntrada("atividade", caracterizacao.Atividade, DbType.Int32); comando.AdicionarParametroEntrada("numero_secadores", caracterizacao.NumeroSecadores, DbType.Int32); comando.AdicionarParametroEntrada("geometria_id", caracterizacao.CoordenadaAtividade.Id, DbType.Int32); comando.AdicionarParametroEntrada("geometria_tipo", caracterizacao.CoordenadaAtividade.Tipo, DbType.Int32); comando.AdicionarParametroEntrada("geometria_coord_atv_x", caracterizacao.CoordenadaAtividade.CoordX, DbType.Decimal); comando.AdicionarParametroEntrada("geometria_coord_atv_y", caracterizacao.CoordenadaAtividade.CoordY, DbType.Decimal); comando.AdicionarParametroEntrada("id", caracterizacao.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Limpar os dados do banco //Secadores comando = bancoDeDados.CriarComando(@"delete from {0}crt_sec_mec_graos_cap_sec c where c.caracterizacao = :caracterizacao", EsquemaBanco); comando.DbCommand.CommandText += String.Format(" {0}", comando.AdicionarNotIn("and", "c.id", DbType.Int32, caracterizacao.Secadores.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); //Materias-Prima Florestal Consumida comando = bancoDeDados.CriarComando(@"delete from {0}crt_sec_mec_graos_mat_fl_c c where c.caracterizacao = :caracterizacao", EsquemaBanco); comando.DbCommand.CommandText += String.Format(" {0}", comando.AdicionarNotIn("and", "c.id", DbType.Int32, caracterizacao.MateriasPrimasFlorestais.Select(x => x.Id).ToList())); comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Secadores if (caracterizacao.Secadores != null && caracterizacao.Secadores.Count > 0) { foreach (Secador item in caracterizacao.Secadores) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@"update {0}crt_sec_mec_graos_cap_sec c set c.caracterizacao = :caracterizacao, c.identificador = :identificador, c.capacidade = :capacidade, c.tid = :tid where c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into {0}crt_sec_mec_graos_cap_sec c (id, caracterizacao, identificador, capacidade, tid) values (seq_crt_sec_mec_graos_cap_sec.nextval, :caracterizacao, :identificador, :capacidade, :tid ) returning c.id into :id" , EsquemaBanco); comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("identificador", item.Identificador, DbType.Int32); comando.AdicionarParametroEntrada("capacidade", item.Capacidade, DbType.Decimal); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (item.Id <= 0) { item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } } } #endregion #region Materias-Prima Florestal Consumida if (caracterizacao.MateriasPrimasFlorestais != null && caracterizacao.MateriasPrimasFlorestais.Count > 0) { foreach (MateriaPrima item in caracterizacao.MateriasPrimasFlorestais) { if (item.Id > 0) { comando = bancoDeDados.CriarComando(@"update {0}crt_sec_mec_graos_mat_fl_c c set c.caracterizacao = :caracterizacao, c.materia_prima_tipo = :materia_prima_tipo, c.unidade = :unidade, c.quantidade = :quantidade, c.tid = :tid where c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.Id, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@" insert into {0}crt_sec_mec_graos_mat_fl_c c (id, caracterizacao, materia_prima_tipo, unidade, quantidade, tid) values (seq_crt_sec_mec_graos_mat_fl_c.nextval, :caracterizacao, :materia_prima_tipo, :unidade, :quantidade, :tid ) returning c.id into :id" , EsquemaBanco); comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("caracterizacao", caracterizacao.Id, DbType.Int32); comando.AdicionarParametroEntrada("materia_prima_tipo", item.MateriaPrimaConsumida, DbType.Int32); comando.AdicionarParametroEntrada("unidade", item.Unidade, DbType.Int32); comando.AdicionarParametroEntrada("quantidade", item.Quantidade, DbType.Decimal); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (item.Id <= 0) { item.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } } } #endregion #region Histórico Historico.Gerar(caracterizacao.Id, eHistoricoArtefatoCaracterizacao.secagemmecanicagraos, eHistoricoAcao.atualizar, bancoDeDados, null); #endregion bancoDeDados.Commit(); } }