Exemplo n.º 1
0
        /// <summary>
        /// Ao clicar no botão OK
        /// </summary>
        /// <param name="sender">Objeto que disparou o evento</param>
        /// <param name="e">Argumento do evento gerado</param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (!confECF.Validate())
                return;

            Wait.Show();

            try
            {
                //Percorre os itens da grid, para pegar as alíquotas do ECF, para poder vincular
                foreach (object[] aliquota in confECF.ItensGrid)
                {
                    string guidAliquota = aliquota[3].ToString();
                    string indice = aliquota[1].ToString().Trim();
                    IAliquota aliq = new Aliquota();

                    //Se existir uma alíquota do tributo, faz o vínculo salvando a alíquota
                    if (!String.IsNullOrEmpty(guidAliquota))
                    {
                        IList<IAliquota> aliquotasVinculadas = new Aliquota().Find<IAliquota>(new Where
                        {
                            {
                                "ecf_aliquota.guidimpressora = @guidimp",
                                new Parameter
                                {
                                    ParameterName = "@guidimp",
                                    Value = Settings.ECF.ECFAtual.GUID.ToString()
                                }
                            },
                            {
                                "ecf_aliquota.indice = @indice",
                                new Parameter
                                {
                                    ParameterName = "@indice",
                                    Value = indice
                                }

                            }
                        });

                        // se já existe aliquotas vinculadas
                        if (aliquotasVinculadas.Count > 0)
                        {
                            // Deletar todas as aliquotas vinculadas
                            foreach (IAliquota item in aliquotasVinculadas)
                            {
                                aliq = new Aliquota(item.GUID);
                                aliq.Delete();
                            }
                        }
                        //Após deletar todas as aliquotas, salvamos(vinculamos) novamente
                        aliq.TributoAliquota = new AliquotaTributo((GUID)guidAliquota);
                        aliq.Impressora = Settings.ECF.ECFAtual;
                        aliq.Indice = aliquota[1].ToString();
                        aliq.Aliquota = Unimake.Convert.ToDouble(aliq.TributoAliquota.Valor);
                        aliq.Save();
                    }
                }

                MessageBox.Show("Alíquotas vinculadas com sucesso.");
            }
            catch (Exception ex)
            {
                MessageBox.ShowError(ex, false);
                Wait.Close();
            }

            Wait.Close();
        }
Exemplo n.º 2
0
 public override void Excluir()
 {
     IAliquota aliquota = new Aliquota(GUID);
     aliquota.Delete();
 }
Exemplo n.º 3
0
        /// <summary>
        /// Desvincula a aliquota selecionada
        /// </summary>
        /// <param name="sender">Objeto que disparou o evento</param>
        /// <param name="e">Argumentos do obejto gerado</param>
        private void GrdMain_DeleteClick(object sender, DataGridViewCellCancelEventArgs e)
        {
            //Percorre a linha selecionada da grid para poder desvincular a aliquota
            foreach (DataGridViewRow row in confECF.GrdMain.SelectedRows)
            {
                string aliquota = row.Cells[3].Value.ToString();

                if (!String.IsNullOrEmpty(aliquota))
                {
                    //Pesquisa se a aliquota selecionada está vinculada
                    IList<IAliquota> aliquotas = new Aliquota().Find<IAliquota>(new Where
                    {
                        { "ecf_aliquota.guidimpressora = @guidimp",
                            new Parameter
                            {
                                ParameterName = "@guidimp",
                                Value = Settings.ECF.ECFAtual.GUID.ToString()
                            }
                        },
                        {
                            "ecf_aliquota.guidtributoaliquota = @guidTrib",
                            new Parameter
                            {
                                ParameterName = "@guidTrib",
                                Value = aliquota
                            }
                        }
                    });

                    //Se já possuem aliquotas vinculadas
                    if (aliquotas.Count > 0)
                    {
                        //Deletar todas as aliquotas vinculadas para esse índice da alíquota da impressora fiscal
                        foreach (IAliquota fi in aliquotas)
                        {
                            Aliquota ali = new Aliquota(fi.GUID);
                            ali.Delete();
                        }
                        //Limpar o campo da coluna vinculada
                        row.Cells[3].Value = "";
                    }
                }
            }
        }