/// <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(); }
public override void Excluir() { IAliquota aliquota = new Aliquota(GUID); aliquota.Delete(); }
/// <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 = ""; } } } }