private void EncerrarLoteSemente() { if (bsLoteSemente.Current != null) { if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).St_registro.Trim().ToUpper() != "P") { MessageBox.Show("Permitido encerrar somente lote com status <APROVADO>.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } bool st_saldolote = ((!CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("APONT_PRODUCAO_SEMENTE", (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_empresa, null).Trim().ToUpper().Equals("S")) && ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Qtd_saldo > 0)); if (MessageBox.Show((st_saldolote ? "Lote possui saldo semente processado disponivel para venda.\r\n" + "O encerramento do lote ira reprocessar o saldo restante.\r\n\r\n" + "Saldo Disponivel: " + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Qtd_saldo.ToString("N0", new System.Globalization.CultureInfo("en-US", true)) + "\r\n": string.Empty) + "Confirma encerramento do lote selecionado?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { if (st_saldolote) { using (TFFormulaEstornoSemente fFormula = new TFFormulaEstornoSemente()) { fFormula.rSemente = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente); if (fFormula.ShowDialog() == DialogResult.OK) { try { CamadaNegocio.Sementes.TCN_LoteSemente.Encerrar(bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente, null); MessageBox.Show("Lote encerrado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } afterBusca(); } else { (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Id_formestorno = null; (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Ds_formulaestorno = string.Empty; } } } else { try { CamadaNegocio.Sementes.TCN_LoteSemente.Encerrar(bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente, null); MessageBox.Show("Lote encerrado com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } afterBusca(); } } } else { MessageBox.Show("Obrigatorio selecionar lote para encerrar.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void InserirLote() { if (bsLoteSemente.Current != null) { if (quantidade.Value > 0) { //Montar observacao string obs = string.Empty; bool st_folhar = new CamadaDados.Estoque.Cadastros.TCD_CadProduto().ProdutoFolhares((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_produto); if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Renasem)) { obs += (st_folhar ? "Registro: " : "Renasem:") + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Renasem.Trim() + " "; } //Formulação if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Ds_formulacao)) { obs += "Formulação: " + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Ds_formulacao.Trim() + " "; } //Lote if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Nr_lote)) { obs += "Lote:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Nr_lote.Trim() + " "; } //Atestado if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_atestado)) { obs += "Atest.:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_atestado.Trim() + " "; } //Certificado if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_certificado)) { obs += "Cert.:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Cd_certificado.Trim() + " "; } //% Germinação if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_germinacao > decimal.Zero) { obs += "%Germ.:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_germinacao.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true)); } //% Pureza if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_pureza > decimal.Zero) { obs += "%Pureza:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Pc_pureza.ToString("N2", new System.Globalization.CultureInfo("pt-BR", true)); } //Nº Conformidade if (!string.IsNullOrEmpty((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Conformidade)) { obs += "Conformidade:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Conformidade.Trim() + " "; } //Val.Germ if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Dt_valgerminacao.HasValue) { obs += "Val.Germ:" + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Dt_valgerminacaostr + " "; } //Quantidade obs += "Qtde " + (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Sigla_unidade.Trim() + ":" + quantidade.Value.ToString("N0", new System.Globalization.CultureInfo("pt-BR", true)); //Verificar se o item ja existe na lista int index = ItenExiste(); if (index >= 0) { //Excluir registro atual bsLoteNf.RemoveAt(index); } decimal?id_formula = null; if ((bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Tp_lote.Trim().ToUpper().Equals("P")) { if (CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_Bool("APONT_PRODUCAO_SEMENTE", Cd_empresa.Trim(), null).Trim().ToUpper().Equals("S")) { if (Tp_mov.Trim().ToUpper().Equals("E")) { using (TFFormulaEstornoSemente fFormula = new TFFormulaEstornoSemente()) { fFormula.rSemente = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente); if (fFormula.ShowDialog() == DialogResult.OK) { id_formula = fFormula.rSemente.Id_formestorno; } } } } if (!BuscarNfOrigemLote()) { MessageBox.Show("Obrigatorio informar origem do produto.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } bsLoteNf.Add( new CamadaDados.Sementes.TRegistro_LoteSemente_X_NFItem() { Cd_empresa = Cd_empresa, Cd_produto = Cd_produto, Ds_produto = Ds_produto, Id_lote = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Id_lote, Quantidade = quantidade.Value, Sigla_unidade = (bsLoteSemente.Current as CamadaDados.Sementes.TRegistro_LoteSemente).Sigla_unidade, Tp_movimento = St_devolucao ? "D" : "V", Ds_obsNfItem = obs, Id_formestorno = id_formula }); qtd_totallote.Value = SomarLote(); } else { MessageBox.Show("Necessario informar quantidade para adicionar a lista.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Necessario selecionar lote para adicionar a lista.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); } qtd_totallote.Value = SomarLote(); bsLoteSemente.MoveNext(); }