private void btExcluir_Click(object sender, EventArgs e) { int indice; if (dgvFilaDeServicos.SelectedRows.Count > 0) { indice = dgvFilaDeServicos.SelectedRows[0].Index;//o activated atualiza o grid e o index fica null if (MessageBox.Show("Deseja realmente excluir o serviço pendente ?", "Exclusão de serviço.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { ClientEnvironment manager = null; try { manager = Conexao.CreateManager(Program.ConAux); ServicoPendente oSrv = (ServicoPendente)ListaParam[indice]; oSrv = (ServicoPendente)ServicoPendenteDAL.Instance.Find(oSrv.keyString, manager); oSrv.codigoSituacao = TipoSituacaoServico.Excluido; //buscar no banco as notas aprovadas desse ServicoPendente NotaFiscalQry oNFeQry = new NotaFiscalQry(); oNFeQry.empresa = oSrv.empresa; oNFeQry.numeroLote = oSrv.numeroLote.ToString(); ArrayList notas = NotaFiscalDAL.Instance.GetInstances(oNFeQry, manager); foreach (NotaFiscal oNFe in notas) { oNFe.codigoSituacao = TipoSituacaoNota.SerivcoExcluido;// 99; oNFe.descricaoSituacao = "Serviço excluido"; oNFe.Save(manager); } oSrv.Save(manager); MessageBox.Show("Serviço excluido com sucesso.", "Exclusão de serviço.", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { Conexao.DisposeManager(manager); } } } else { MessageBox.Show("Selecione um serviço para ser excluido.", "Exclusão de serviço.", MessageBoxButtons.OK, MessageBoxIcon.Information); } Refresh(sender, e); }
private void Refresh(object sender, EventArgs e) { NotaFiscalQry oNFQry = new NotaFiscalQry(); oNFQry.empresa = Program.empresaSelecionada; if (tbchave.Text != String.Empty) { oNFQry.chaveNota = tbchave.Text; } if (tbLote.Text != String.Empty) { oNFQry.numeroLote = tbLote.Text; } if (cbSituacao.SelectedIndex > 0) { oNFQry.codigoSituacao = (TipoSituacaoNota)int.Parse(cbSituacao.SelectedValue.ToString()); } oNFQry.dataInicial = dtpDataInicial.Value.Date; oNFQry.dataFinal = dtpDataFinal.Value.Date; oNFQry.FilterByDate = true; ClientEnvironment manager = null; try { manager = Conexao.CreateManager(Program.ConAux); ListaParam = NotaFiscalDAL.Instance.GetInstances(oNFQry, manager); dgvNotaFiscal.AutoGenerateColumns = false; dgvNotaFiscal.DataSource = ListaParam; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { Conexao.DisposeManager(manager); } oNFQry = null; }
void oFrm_DoOnOkClick(object sender, EventArgs e) { ClientEnvironment manager = null; try { //FrmInfNRec oFrm = (FrmInfNRec)((Button)sender).Parent; String nRec = oFrm.TextResposta.Text; if (String.IsNullOrEmpty(nRec)) { throw new Exception("Informe o número do Recibo."); } manager = Conexao.CreateManager(Program.ConAux); ServicoPendente oServicoPendente = (ServicoPendente)ServicoPendenteDAL.Instance.Find(oSrv.keyString, manager); Parametro oParam = Program.GetParametro(oServicoPendente.empresa, manager); //criar o recibo no disco RDI.NFe2.SchemaXML.NFe_v200.TRetEnviNFe oRetEnviNFe = new RDI.NFe2.SchemaXML.NFe_v200.TRetEnviNFe(); oRetEnviNFe.tpAmb = oServicoPendente.tipoAmbiente; oRetEnviNFe.verAplic = "2.00"; oRetEnviNFe.cUF = oServicoPendente.UF; oRetEnviNFe.cStat = "103"; oRetEnviNFe.xMotivo = "Lote recebido com sucesso"; oRetEnviNFe.dhRecbto = DateTime.Now; oRetEnviNFe.infRec = new RDI.NFe2.SchemaXML.NFe_v200.TRetEnviNFeInfRec(); oRetEnviNFe.infRec.nRec = nRec; oRetEnviNFe.infRec.tMed = "1"; XMLUtils.SaveXML(oParam.pastaRecibo + oServicoPendente.numeroLote.ToString() + "-rec.xml", oRetEnviNFe, oServicoPendente.versao); oServicoPendente.xmlRecibo = XMLUtils.GetXML(oRetEnviNFe, oServicoPendente.versao); oServicoPendente.numeroRecibo = nRec; oServicoPendente.dataSituacao = DateTime.Now; oServicoPendente.codigoSituacao = TipoSituacaoServico.AguardandoRetornoAprovacao; //setar todas as notas desse servico como enviadas. NotaFiscalQry oNFeQry = new NotaFiscalQry(); oNFeQry.empresa = oServicoPendente.empresa; oNFeQry.numeroLote = oServicoPendente.numeroLote.ToString(); //somente as que foram assinadas e inseridas no lote. oNFeQry.codigoSituacao = TipoSituacaoNota.Assinada;// "0"; ArrayList notasProcessadas = NotaFiscalDAL.Instance.GetInstances(oNFeQry, manager); foreach (NotaFiscal oNFeProc in notasProcessadas) { oNFeProc.codigoSituacao = TipoSituacaoNota.Enviada;// 12; //Enviada oNFeProc.descricaoSituacao = "Nota enviada"; oNFeProc.dataSituacao = oServicoPendente.dataSituacao; oNFeProc.Save(manager); Log oLog = new Log(); oLog.codigoSituacao = 13; oLog.descricaoSituacao = "Nota Enviada"; oLog.nota = new NotaFiscal(); oLog.nota.chaveNota = oNFeProc.chaveNota; oLog.data = DateTime.Now; oLog.empresa = oServicoPendente.empresa; oLog.Save(manager); } oServicoPendente.Save(manager); Log oLogSrv = new Log(); oLogSrv.codigoSituacao = 998; oLogSrv.descricaoSituacao = "Recibo informado pelo usuario."; oLogSrv.nota = new NotaFiscal(); oLogSrv.nota.chaveNota = String.Empty; oLogSrv.data = DateTime.Now; oLogSrv.empresa = oServicoPendente.empresa; oLogSrv.Save(manager); MessageBox.Show("Lote atualizado com sucesso."); oFrm.Close(); oFrm.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { Conexao.DisposeManager(manager); } }