public void RunTest() { //encontrar pessoas para popular a grid panel gridPanel1.DataSource = new NCM().GetDisplayValues(); IList<IFormaPagamento> formas = new Data.Cadastro.FormaPagamento().Find<IFormaPagamento>(); Desktop.ComponentModel.DataGridViewComboBoxColumn combo = gridPanel2.Columns[dataGridViewColumn1.Index] as Desktop.ComponentModel.DataGridViewComboBoxColumn; DataGridViewComboBoxColumn comboW = gridPanel2.Columns[dataGridViewColumn2.Index] as DataGridViewComboBoxColumn; //Sempre limpar a grid de formas de pagamento gridPanel2.Clear(); object values = from f in formas select new { value = f.GUID.ToString(), text = f.Descricao }; //popular a combo da grid com as formas da aplicação combo.Populate(values); BindingSource bs = new BindingSource(); bs.DataSource = values; comboW.DisplayMember = "text"; comboW.ValueMember = "value"; comboW.DataSource = bs; foreach(var item in formas) { gridPanel2.Rows.Add( new object[] { item.GUID.ToString(), item.GUID.ToString() }); } ShowDialog(); }
public override bool PerformStep() { bool result = base.PerformStep(); if(result) { IList<IImpressoraFormaPagto> impressoraFormasPagto = new List<IImpressoraFormaPagto>(); IList<IFormaPagamento> formas = new FormaPagamento().Find<IFormaPagamento>(); try { foreach(DataGridViewRow item in grdFPECF.Rows) { if (!String.IsNullOrEmpty(Unimake.Convert.ToString(item.Cells[colTipoForma.Index].Value))) { IImpressoraFormaPagto impForma = new ImpressoraFormaPagto(); IFormaPagamento forma = new Data.Cadastro.FormaPagamento { Descricao = item.Cells[colDescricao.Index].Value.ToString(), TipoForma = Unimake.Convert.ToEnum<TipoForma>(item.Cells[colTipoForma.Index].Value), FrenteCaixa = true }; impForma.Impressora = CurrentConfig.Impressora; impForma.FormaPagamento = forma; impForma.Indice = Unimake.Convert.ToInt(item.Cells[colIndice.Index].Value); impressoraFormasPagto.Add(impForma); } } CurrentConfig.FormasPagto = impressoraFormasPagto; } catch(Exception ex) { MessageBox.ShowError(ex); return false; } } return result; }
private void GeraRegistros02(DateTime dataIni, DateTime dataFim) { IRegistro01 reg01 = new Registro01 { MarcaECF = "Teste", VersaoSB = "1.0", DataInstalacaoSB = DateTime.Today, HoraInstalacaoSB = DateTime.Now, NumeroSequenciaECF = 1, CodigoMD5PAFECF = Cryptography.Files.MD5.GetMD5Hash(Settings.PAF.FilesFullPath), DataCriacao = DateTime.Today }; int i = 10000; IList<IFormaPagamento> formas = new Data.Cadastro.FormaPagamento().Find<IFormaPagamento>(); for(DateTime d = dataIni; d < dataFim; d = d.AddDays(1)) { IRegistro02 reg02 = new Registro02 { COO = new Random().Next(i++, 30000), CRO = new Random().Next(i++, 30000), CRZ = new Random().Next(i++, 30000), DataHoraCadastro = d, DataHoraEmissao = d, DataMovimento = d, DescricaoISSQN = "", GrandeTotal = new Random().NextDouble(1000, 10000), VendaBrutaDiaria = new Random().NextDouble(1000, 10000), MeiosPagamentos = new List<IRegistro02MeiosPagto> { new Registro02MeiosPagto{ FormaPagamento = formas[new Random().Next(0,formas.Count)].Descricao, Indice =0, ValorAcumulado = new Random().NextDouble(1000, 10000) }, new Registro02MeiosPagto{ FormaPagamento = formas[new Random().Next(0,formas.Count)].Descricao, Indice =0, ValorAcumulado = new Random().NextDouble(1000, 10000) }, new Registro02MeiosPagto{ FormaPagamento = formas[new Random().Next(0,formas.Count)].Descricao, Indice =0, ValorAcumulado = new Random().NextDouble(1000, 10000) } }, Registros03 = new List<IRegistro03> { new Registro03{ TotalizadorParcial = "T18,00", ValorAcumulado = new Random().NextDouble(1000,10000) }, new Registro03{ TotalizadorParcial = "T07,00", ValorAcumulado = new Random().NextDouble(1000,10000) }, new Registro03{ TotalizadorParcial = "T12,00", ValorAcumulado = new Random().NextDouble(1000,10000) } } }; reg01.RegistrosR2.Add(reg02); } reg01.Save(); }
public FormaPagamento(bool somenteAvista) { InitializeComponent(); SomenteAVista = somenteAvista; if (Settings.RuntimeMode) { //------------------------------------------------------------------------- // Aqui só podemos trazer as formas de pagamentos que estão associadas com esta impressora //------------------------------------------------------------------------- IDisplayValues formas = null; if (!Unimake.Convert.ToBoolean(Settings.Setting.EmissaoConsumidorFinalNFCe)) formas = new ImpressoraFormaPagto().GetDisplayValues(new Where { { "GUIDImpressora = @p1", new Parameter[]{ new Parameter { ParameterName = "@p1", Value = Settings.ECF.ECFAtual.GUID } } } }); else formas = new Data.Cadastro.FormaPagamento().GetDisplayValues(SomenteAVista ? new Where { { "TipoForma <> @p1 AND TipoForma <> @p2 AND TipoForma <> @p3", new Parameter[]{ new Parameter { ParameterName = "@p1", GenericDbType = Unimake.Data.Generic.GenericDbType.Integer, Value = (int)TipoForma.Cheque }, new Parameter { ParameterName = "@p2", GenericDbType = Unimake.Data.Generic.GenericDbType.Integer, Value = (int)TipoForma.Parcelado }, new Parameter { ParameterName = "@p3", GenericDbType = Unimake.Data.Generic.GenericDbType.Integer, Value = (int)TipoForma.CreditoConsumidor } } } } : null); lstFormaPagto.Items.Clear(); foreach (var f in formas.Values.OrderBy(o => o[1])) { lstFormaPagto.Items.Add(new FormaPagamentoValue { value = Unimake.Convert.ToString(f[0]), text = Unimake.Convert.ToString(f[2]) }); } if (lstFormaPagto.Items.Count > 0) lstFormaPagto.SelectedIndex = 0; sfChequeBanco.DataSource = new Banco().GetDisplayValues(); usParcela.Visible = false; usParcela.OnParcelaRecalculada += (s) => { maskValorRecebido.Value = s.Sum(x => x.Valor); }; } }
/// <summary> /// Vincula as formas de pagamento da impressora fiscal com as formas de pagamento do sistema /// </summary> /// <param name="sender">Objeto que disparou o evento</param> /// <param name="e">Argumento do evento gerado</param> private void btnOK_Click(object sender, System.EventArgs e) { string formaPagto = string.Empty; Connection connection = null; #region validar foreach (DataGridViewRow item in grdFPECF.Rows) { if (item.IsNewRow) continue; if (String.IsNullOrEmpty(Unimake.Convert.ToString(item.Cells[colDescricao.Index].Value))) { MessageBox.RequiredField("Descrição"); item.Selected = true; return; } } #endregion #region salvar IConfiguracao conf = null; try { Wait.Show(); connection = DbContext.CreateConnection(); connection.BeginTransaction(); using (conf = new OpenPOS.ECF.Configuracao(Settings.ECF.ECFAtual.ModeloACBR, Settings.ECF.ECFAtual.Porta)) { foreach (DataGridViewRow item in grdFPECF.Rows) { if (item.IsNewRow) continue; int indice = Unimake.Convert.ToInt(item.Cells[colIndice.Index].Value); IImpressoraFormaPagto impForma = item.Cells[colGUIDImpressoraForma.Index].Value as IImpressoraFormaPagto ?? new ImpressoraFormaPagto(); IFormaPagamento forma = null; formaPagto = item.Cells[colVinculado.Index].Value.ToString(); if (!formaPagto.IsNullOrEmpty()) { //Pesquisa se tem a forma de pagamento selecionada da coluna "Vinculado" na base de dados na tabela ecf_ImpressoraFormaPagto IList<IImpressoraFormaPagto> formasImp = new ImpressoraFormaPagto().Find<IImpressoraFormaPagto>(new Where { { "ecf_ImpressoraFormaPagto.GUIDImpressora = @guidimp", new Parameter { ParameterName = "@guidimp", Value = Settings.ECF.ECFAtual.GUID.ToString() } }, { "ecf_ImpressoraFormaPagto.Indice = @indice", new Parameter { ParameterName = "@indice", Value = indice } } }); //Se já existe formas de pagamentos vinculadas, sabemos que é uma alteração if (formasImp.Count > 0) { //Deletar todas as formas de pagamento vinculada para esse índice da forma de pagamento da impressora fiscal foreach (IImpressoraFormaPagto fi in formasImp) { impForma = new ImpressoraFormaPagto(fi.GUID); impForma.Delete(); } } //Salvar(Vincular) com a forma de pagamento selecionada forma = new Data.Cadastro.FormaPagamento { GUID = formaPagto, Descricao = item.Cells[colDescricao.Index].Value.ToString() }; // verifica se tem forma cadastrada na impressora, se não, cadastra #region cadastraFormImpressora bool temImpForma = false; for (int i = 0; i < conf.FormasPagamento.Length; i++) { if (item.Cells[colDescricao.Index].Value.ToString() == conf.FormasPagamento[i].Descricao) { temImpForma = true; break; } } if (!temImpForma) { //Descrição da forma de pagamento string descricao = item.Cells[colDescricao.Index].Value.ToString(); //Permite o cupom vinculado bool permiteVinculado = true; //Posição da forma de pagamento string posicao = ""; try { conf.ProgramaFormaPagamento(descricao, permiteVinculado, posicao); } catch (Exception ex) { MessageBox.Show(ex.Message); } } #endregion cadastraFormImpressora impForma.Impressora = Settings.ECF.ECFAtual; impForma.FormaPagamento = forma; impForma.Indice = indice; impForma.Save(); } } } connection.CommitTransaction(); MessageBox.Show("Forma de pagamento vinculado com sucesso."); Close(); } catch (Exception ex) { if (connection != null && connection.Transaction.State == TransactionState.Begin) connection.BeginTransaction(); MessageBox.ShowError(ex); } finally { connection.Close(); conf.Dispose(); Wait.Close(); } #endregion }