public static string Gravar(TRegistro_FormulaApontamento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_FormulaApontamento qtb_formula = new TCD_FormulaApontamento(); try { if (banco == null) { st_transacao = qtb_formula.CriarBanco_Dados(true); } else { qtb_formula.Banco_Dados = banco; } //Gravar Formula Apontamento val.Id_formulacao = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(qtb_formula.Gravar(val), "@P_ID_FORMULACAO")); //Deletar Ficha Tecnica MPrima val.LFichaTec_MPrimaDel.ForEach(p => TCN_FichaTec_MPrima.Excluir(p, qtb_formula.Banco_Dados)); //Gravar Ficha Tecnica MPrima val.LFichaTec_MPrima.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_formulacao = val.Id_formulacao; TCN_FichaTec_MPrima.Gravar(p, qtb_formula.Banco_Dados); }); //Deletar Custo Fixo Direto val.LCustoFixoDel.ForEach(p => TCN_CustoFixo_Direto.DeletarCustoFixo_Direto(p, qtb_formula.Banco_Dados)); //Gravar Custo Fixo Direto val.LCustoFixo.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_formulacao = val.Id_formulacao; TCN_CustoFixo_Direto.GravarCustoFixo_Direto(p, qtb_formula.Banco_Dados); }); if (st_transacao) { qtb_formula.Banco_Dados.Commit_Tran(); } return(val.Id_formulacaostr); } catch (Exception ex) { if (st_transacao) { qtb_formula.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro: " + ex.Message); } finally { if (st_transacao) { qtb_formula.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_FormulaApontamento val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_FormulaApontamento qtb_formula = new TCD_FormulaApontamento(); try { if (banco == null) { st_transacao = qtb_formula.CriarBanco_Dados(true); } else { qtb_formula.Banco_Dados = banco; } //Deletar custo fixo val.LCustoFixo.ForEach(p => TCN_CustoFixo_Direto.DeletarCustoFixo_Direto(p, qtb_formula.Banco_Dados)); val.LCustoFixoDel.ForEach(p => TCN_CustoFixo_Direto.DeletarCustoFixo_Direto(p, qtb_formula.Banco_Dados)); //Deletar Ficha Tecnica MPrima val.LFichaTec_MPrima.ForEach(p => TCN_FichaTec_MPrima.Excluir(p, qtb_formula.Banco_Dados)); val.LFichaTec_MPrimaDel.ForEach(p => TCN_FichaTec_MPrima.Excluir(p, qtb_formula.Banco_Dados)); //Deletar Formula Apontamento qtb_formula.Excluir(val); if (st_transacao) { qtb_formula.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_formula.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro: " + ex.Message); } finally { if (st_transacao) { qtb_formula.deletarBanco_Dados(); } } }
private void dt_prevproducao_Leave(object sender, EventArgs e) { if (!string.IsNullOrEmpty(dt_prevproducao.Text.SoNumero())) { if (string.IsNullOrEmpty(dt_prevfinprod.Text.SoNumero()) && (bsOrdemProducao.Current as TRegistro_OrdemProducao).Id_formulacao.HasValue) { //Buscar parametro dias para produzir object obj = new TCD_FormulaApontamento().BuscarEscalar( new TpBusca[] { new TpBusca { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + (bsOrdemProducao.Current as TRegistro_OrdemProducao).Cd_empresa.Trim() + "'" }, new TpBusca { vNM_Campo = "a.id_formulacao", vOperador = "=", vVL_Busca = (bsOrdemProducao.Current as TRegistro_OrdemProducao).Id_formulacaostr } }, "isnull(a.DiasProduzir, 0)"); decimal DiasProduzir = Convert.ToInt32(obj); if (DiasProduzir > 0) { DateTime dt_ini = DateTime.Parse(dt_prevproducao.Text); for (int i = 0; i < DiasProduzir; i++) { if (dt_ini.AddDays(i + 1).DayOfWeek == DayOfWeek.Saturday || dt_ini.AddDays(i + 1).DayOfWeek == DayOfWeek.Sunday) { DiasProduzir++; } } dt_prevfinprod.Text = dt_ini.AddDays(Convert.ToDouble(DiasProduzir - 1)).ToString("dd/MM/yyyy"); } } if (string.IsNullOrEmpty(dt_prevfinprod.Text.SoNumero()) ? false : Convert.ToDateTime(dt_prevfinprod.Text) < Convert.ToDateTime(dt_prevproducao.Text)) { MessageBox.Show("DT.Prevista p/ Finalização não pode ser menor que data prevista de ínicio"); dt_prevfinprod.Clear(); dt_prevfinprod.Focus(); } } }