Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #4
0
        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);
                };
            }
        }
Exemple #5
0
        /// <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
        }