public void Inserir(EstruturaParceiroNovo parceiro, Dictionary <int, string> listaCodigos) { try { bd.IniciarTransacao(); this.Parceiro.Valor = parceiro.Parceiro; this.Tipo.Valor = (int)parceiro.Tipo; this.Url.Valor = parceiro.Url; this.Inserir(bd); if (listaCodigos.Count > 0) { this.InserirCodigos(bd, this.Control.ID, parceiro.Tipo, listaCodigos); } bd.FinalizarTransacao(); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bd.Fechar(); } }
public void Excluir(EstruturaParceiroNovo parceiro) { try { bd.IniciarTransacao(); bd.Executar( "DELETE FROM tCodigoPromo WHERE ParceiroID = " + parceiro.ID); bd.Executar( "DELETE FROM tBin WHERE ParceiroID = " + parceiro.ID); bd.Executar( "UPDATE tCotaItem SET ParceiroID = 0 WHERE ParceiroID = " + parceiro.ID); this.Excluir(bd, parceiro.ID); bd.FinalizarTransacao(); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bd.Fechar(); } }
public void Atualizar(EstruturaParceiroNovo parceiro, Dictionary <int, string> listaCodigos, bool limparCodigos) { BD bdAux = new BD(); try { bd.IniciarTransacao(); this.Parceiro.Valor = parceiro.Parceiro; this.Tipo.Valor = (int)parceiro.Tipo; this.Url.Valor = parceiro.Url; this.Control.ID = parceiro.ID; this.Atualizar(bd); Dictionary <int, string> listaCodigosAntigos = new Dictionary <int, string>(); Dictionary <int, string> listaCodigoInserir = new Dictionary <int, string>(); //Excluir os códigos se tiver marcado pra excluir e/ou o tipo for diferente do selecionado if (limparCodigos || parceiro.Tipo == Enumerators.TipoParceiro.Bin) { bd.Executar("DELETE FROM tCodigoPromo WHERE ParceiroID = " + parceiro.ID); } else { bdAux.Consulta("SELECT ID, BIN FROM tBin (NOLOCK) WHERE ParceiroID = " + parceiro.ID); while (bdAux.Consulta().Read()) { listaCodigosAntigos.Add(bdAux.LerInt("ID"), bdAux.LerString("BIN")); } } if (limparCodigos || parceiro.Tipo == Enumerators.TipoParceiro.Codigo) { bd.Executar("DELETE FROM tBin WHERE ParceiroID = " + parceiro.ID); } else { bdAux.Consulta("SELECT ID, Codigo FROM tCodigoPromo (NOLOCK) WHERE ParceiroID = " + parceiro.ID); while (bdAux.Consulta().Read()) { listaCodigosAntigos.Add(bdAux.LerInt("ID"), bdAux.LerString("Codigo")); } } bdAux.FecharConsulta(); //Se limpou os códigos, só inclui a lista inteira if (limparCodigos && listaCodigos.Count > 0) { this.InserirCodigos(bd, parceiro.ID, parceiro.Tipo, listaCodigos); } //Do contrario, pega os itens que não são duplicados e inclui else if (listaCodigos.Count > 0) { foreach (var codigo in listaCodigos) { if (!listaCodigosAntigos.ContainsValue(codigo.Value)) { listaCodigoInserir.Add(codigo.Key, codigo.Value); } } if (listaCodigoInserir.Count > 0) { this.InserirCodigos(bd, parceiro.ID, parceiro.Tipo, listaCodigoInserir); } } bd.FinalizarTransacao(); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bdAux.Fechar(); bd.Fechar(); } }