private void RegistrarDesmembramento(BD bd, int clienteID, EstruturaAssinaturaBloqueio assinatura, string motivo) { if (this.Control.ID == 0) { this.AntigoClienteID.Valor = assinatura.ClienteID; } this.ClienteID.Valor = clienteID; this.AssinaturaClienteID.Valor = assinatura.AssinaturaClienteID; this.TimeStamp.Valor = DateTime.Now; this.Motivo.Valor = motivo; this.UsuarioID.Valor = UsuarioLogado; if (this.Control.ID == 0) { this.Inserir(bd); } else { this.Atualizar(bd); } }
public void Desmembrar(int clienteID, EstruturaAssinaturaBloqueio assinatura, string motivo) { try { bd.IniciarTransacao(); this.LerPelaAssinatura(assinatura.AssinaturaClienteID); new AssinaturaBancoIngresso().AlterarCliente(bd, assinatura.AssinaturaClienteID, assinatura.ClienteID, this.ClienteID.Valor, clienteID); this.RegistrarDesmembramento(bd, clienteID, assinatura, motivo); this.TornarDesmembrado(bd, assinatura.AssinaturaClienteID, clienteID, true); bd.FinalizarTransacao(); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bd.Fechar(); } }
public void RemoverDesmembramento(EstruturaAssinaturaBloqueio assinatura) { try { bd.IniciarTransacao(); this.LerPelaAssinatura(assinatura.AssinaturaClienteID); new AssinaturaBancoIngresso().AlterarCliente(bd, assinatura.AssinaturaClienteID, assinatura.ClienteID, this.AntigoClienteID.Valor, 0); this.TornarDesmembrado(bd, assinatura.AssinaturaClienteID, this.AntigoClienteID.Valor, false); this.Excluir(bd, this.Control.ID); bd.FinalizarTransacao(); } catch (Exception) { bd.DesfazerTransacao(); throw; } finally { bd.Fechar(); } }
public List <IRLib.Assinaturas.Models.ListagemBloqueios> BuscarRelatorio(int AssinaturaTipoID, int Temporadas, int Assinaturas) { try { string sql = @"SELECT DISTINCT i.Grupo, i.LugarID, i.Codigo AS Lugar, i.Status as StatusIngresso, i.BloqueioID as IngressoBloqueioID, ac.id as AssinaturaClienteID,ISNULL(ac.Status,'') as StatusAssinatura , ISNULL(ac.Acao,'') as AcaoAssinatura , ass.Nome as NomeAssinatura, ass.BloqueioID AssinaturaBloqueioID, ass.DesistenciaBloqueioID AssinaturaDesistenciaBloqueioID, ass.ID AS AssinaturaID, ass.ExtintoBloqueioID as AssinaturaExtintoBloqueioID, s.ID as SetorID, s.Nome AS Setor, bl.Nome as BloqueioUtilizado, aa.ID AS AssinaturaAnoID FROM tAssinatura ass(NOLOCK) INNER JOIN tAssinaturaAno aa(NOLOCK) on ass.ID = aa.AssinaturaID INNER JOIN tAssinaturaItem ai(NOLOCK) on aa.ID = ai.AssinaturaAnoID INNER JOIN tIngresso i(NOLOCK) on ai.SetorID = i.SetorID and ai.ApresentacaoID = i.ApresentacaoID INNER JOIN tSetor s(NOLOCK) on s.ID = ai.SetorID INNER JOIN tLugar l (NOLOCK) on i.LugarID = l.ID LEFT JOIN tAssinaturaCliente ac(NOLOCK) on ac.AssinaturaAnoID = aa.ID and ai.SetorID = ac.SetorID and ac.LugarID = i.LugarID and ac.AssinaturaID = ass.ID and ac.ID = i.AssinaturaClienteID LEFT JOIN tCliente c(NOLOCK) on c.ID = ac.ClienteID LEFT JOIN tPrecoTipo pt (NOLOCK) ON ac.PrecoTipoID = pt.ID LEFT JOIN tBloqueio bl (NOLOCK) on bl.ID = i.BloqueioID WHERE aa.AssinaturaID = " + Assinaturas + " AND aa.Ano = '" + Temporadas + @"' ORDER BY s.ID, i.Codigo"; bd.Consulta(sql); var lstAux = new List <EstruturaAssinaturaBloqueio>(); EstruturaAssinaturaBloqueio eABaux = new EstruturaAssinaturaBloqueio(); while (bd.Consulta().Read()) { if (lstAux.Where(c => c.LugarID == bd.LerInt("LugarID")).Count() == 0) { string statusAssinatura = bd.LerString("StatusAssinatura") != "" ? ((AssinaturaCliente.EnumStatus)Convert.ToChar(bd.LerString("StatusAssinatura"))).ToString() : "--"; string statusIngresso = bd.LerString("StatusIngresso") != "" ? ((Ingresso.StatusIngresso)Convert.ToChar(bd.LerString("StatusIngresso"))).ToString() : "--"; eABaux = new EstruturaAssinaturaBloqueio() { LugarID = bd.LerInt("LugarID"), NomeAssinatura = bd.LerString("NomeAssinatura"), Setor = bd.LerString("Setor"), Lugar = bd.LerString("Lugar"), BloqueioUtilizado = bd.LerString("BloqueioUtilizado") != "" ? bd.LerString("BloqueioUtilizado") : "--", StatusAssinatura = statusAssinatura, StatusIngresso = statusIngresso, SetorID = bd.LerInt("SetorID"), AssinaturaAnoID = bd.LerInt("AssinaturaAnoID"), AssinaturaID = bd.LerInt("AssinaturaID"), }; eABaux.Status = this.VerificaStatusVisual(bd.LerString("StatusIngresso"), bd.LerString("StatusAssinatura"), bd.LerString("AcaoAssinatura"), bd.LerInt("IngressoBloqueioID"), bd.LerInt("AssinaturaBloqueioID"), bd.LerInt("AssinaturaExtintoBloqueioID"), bd.LerInt("AssinaturaDesistenciaBloqueioID")); lstAux.Add(eABaux); } else { eABaux.Status = IRLib.Assinatura.EnumStatusVisual.Indisponivel; eABaux.StatusIngresso = "--"; eABaux.StatusAssinatura = "--"; eABaux.BloqueioUtilizado = "--"; eABaux.BloqueioID = 0; } } var lstRetorno = new List <Models.ListagemBloqueios>(); Models.ListagemBloqueios ModelAux = new Models.ListagemBloqueios(); foreach (var item in lstAux) { ModelAux = new Models.ListagemBloqueios() { Assinatura = item.NomeAssinatura, Setor = item.Setor, Codigo = item.Lugar, Status = item.Status == Assinatura.EnumStatusVisual.Bloqueado? item.BloqueioUtilizado : item.StatusDescricao, }; lstRetorno.Add(ModelAux); } return(lstRetorno); } finally { bd.Fechar(); } }
private List <EstruturaAssinaturaBloqueio> CarregarAssinatura(List <int> lstAssClienteID) { BD bdaux = new BD(); try { string sql = @"SELECT distinct i.Grupo,i.Classificacao, ac.id as AssinaturaClienteID, ac.AssinaturaID, i.LugarID, s.ID as SetorID, i.Codigo AS Lugar,s.Nome AS Setor, ass.Nome as NomeAssinatura, ISNULL(c.Nome,'') AS Assinante, ISNULL(c.ID,0) AS ClienteID, ISNULL(c.CPF,'') as CPF ,ISNULL(pt.Nome,'') AS Preco, ISNULL(ac.Status,'') as StatusAssinatura , ISNULL(ac.Acao,'') as AcaoAssinatura , i.Status as StatusIngresso, i.BloqueioID as IngressoBloqueioID,ass.BloqueioID AssinaturaBloqueioID, ass.DesistenciaBloqueioID AssinaturaDesistenciaBloqueioID, ass.ExtintoBloqueioID as AssinaturaExtintoBloqueioID, bl.Nome as BloqueioUtilizado, l.PosicaoY, l.PosicaoX, bl.CorID AS BloqueioCorID FROM tAssinaturaCliente ac INNER JOIN tIngresso i (NOLOCK) ON ac.ID = i.AssinaturaClienteID INNER JOIN tLugar l (NOLOCK) on i.LugarID = l.ID INNER JOIN tAssinatura ass (NOLOCK) on ass.ID = ac.AssinaturaID INNER JOIN tApresentacao ap (NOLOCK) on i.ApresentacaoID = ap.ID INNER JOIN tSetor s (NOLOCK) on i.SetorID = s.ID LEFT JOIN tCliente c (NOLOCK) ON ac.ClienteID = c.ID LEFT JOIN tPrecoTipo pt (NOLOCK) ON ac.PrecoTipoID = pt.ID LEFT JOIN tBloqueio bl(NOLOCK) ON i.BloqueioID = bl.ID WHERE ac.ID in(" + Utilitario.ArrayToString(lstAssClienteID.ToArray()) + @") ORDER BY i.Grupo,i.Classificacao"; bdaux.Consulta(sql); var lstRetorno = new List <EstruturaAssinaturaBloqueio>(); EstruturaAssinaturaBloqueio eABaux = new EstruturaAssinaturaBloqueio(); while (bdaux.Consulta().Read()) { if (lstRetorno.Where(c => c.LugarID == bdaux.LerInt("LugarID")).Count() == 0) { string statusAssinatura = bdaux.LerString("StatusAssinatura") != "" ? ((AssinaturaCliente.EnumStatus)Convert.ToChar(bdaux.LerString("StatusAssinatura"))).ToString() : "--"; string statusIngresso = bdaux.LerString("StatusIngresso") != "" ? ((Ingresso.StatusIngresso)Convert.ToChar(bdaux.LerString("StatusIngresso"))).ToString() : "--"; eABaux = new EstruturaAssinaturaBloqueio() { LugarID = bdaux.LerInt("LugarID"), NomeAssinatura = bdaux.LerString("NomeAssinatura"), Assinante = bdaux.LerString("Assinante"), CPF = bdaux.LerString("CPF"), Setor = bdaux.LerString("Setor"), Lugar = bdaux.LerString("Lugar"), Preco = bdaux.LerString("Preco"), ClienteID = bdaux.LerInt("ClienteID"), AssinaturaClienteID = bdaux.LerInt("AssinaturaClienteID"), AssinaturaBloqueioID = bdaux.LerInt("AssinaturaBloqueioID"), BloqueioUtilizado = bdaux.LerString("BloqueioUtilizado") != "" ? bdaux.LerString("BloqueioUtilizado") : "--", StatusAssinatura = statusAssinatura, StatusIngresso = statusIngresso, SetorID = bdaux.LerInt("SetorID"), Selecionar = false, PosicaoX = bdaux.LerInt("PosicaoX"), PosicaoY = bdaux.LerInt("PosicaoY"), BloqueioID = bdaux.LerInt("IngressoBloqueioID"), BloqueioCorID = bdaux.LerInt("BloqueioCorID"), AssinaturaID = bdaux.LerInt("AssinaturaID"), AssinaturaDesistenciaID = bdaux.LerInt("AssinaturaDesistenciaBloqueioID"), }; eABaux.Status = this.VerificaStatusVisual(bdaux.LerString("StatusIngresso"), bdaux.LerString("StatusAssinatura"), bdaux.LerString("AcaoAssinatura"), bdaux.LerInt("IngressoBloqueioID"), bdaux.LerInt("AssinaturaBloqueioID"), bdaux.LerInt("AssinaturaExtintoBloqueioID"), bdaux.LerInt("AssinaturaDesistenciaBloqueioID")); lstRetorno.Add(eABaux); } else { eABaux.Status = EnumStatusVisual.Indisponivel; eABaux.StatusIngresso = "--"; eABaux.StatusAssinatura = "--"; eABaux.BloqueioUtilizado = "--"; eABaux.BloqueioID = 0; } } return(lstRetorno); } catch (Exception) { throw; } finally { bdaux.Fechar(); } }
public void GerarNovaTemporada() { var assinatura = new Assinatura(1657); string assinaturas = ""; Mapeamento.ForEach(delegate(MapeamentoInfo info) { assinaturas += info.AnteriorID + ","; }); assinaturas = assinaturas.Substring(0, assinaturas.Length - 1); string sql = @"SELECT tAssinaturaCliente.* FROM tAssinatura(NOLOCK) INNER JOIN tAssinaturaAno (NOLOCK) ON tAssinaturaAno.AssinaturaID = tAssinatura.ID INNER JOIN tASsinaturaCliente (NOLOCK) ON tAssinaturaAno.ID = tAssinaturaCliente.AssinaturaAnoID WHERE tAssinatura.Nome NOT LIKE '%eleazar%' AND ASsinaturaTipoID = " + TipoID + " AND Ano = " + this.TemporadaAnterior + @" AND tAssinaturaCliente.Status IN ('R', 'N', 'T') AND StatusImportacao = '' AND tAssinatura.ID IN (" + assinaturas + ")"; BD bd = new BD(); BD bdAno = new BD(); bd.Consulta(sql); var assinaturaID = 0; var novaAssinaturaID = 0; try { while (bd.Consulta().Read()) { try { assinaturaID = bd.LerInt("AssinaturaID"); var n = Mapeamento.Where(c => c.AnteriorID.Equals(assinaturaID)); if (n == null) { continue; } else { novaAssinaturaID = n.FirstOrDefault().NovoID; } var anoID = Convert.ToInt32(bdAno.ConsultaValor("SELECT ID FROM tAssinaturaAno(NOLOCK) WHERE Ano = " + TemporadaNova + " AND AssinaturaID = " + novaAssinaturaID)); if (anoID == 0) { continue; } var assinaturaBloqueioID = Convert.ToInt32(bdAno.ConsultaValor("SELECT BloqueioID FROM tAssinatura(NOLOCK) WHERE ID = " + novaAssinaturaID)); if (assinaturaBloqueioID == 0) { continue; } EstruturaAssinaturaBloqueio item = new EstruturaAssinaturaBloqueio { ClienteID = bd.LerInt("ClienteID"), AssinaturaID = novaAssinaturaID, LugarID = bd.LerInt("LugarID"), AssinaturaAnoID = anoID, SetorID = bd.LerInt("SetorID"), AssinaturaBloqueioID = assinaturaBloqueioID }; var lista = new List <EstruturaAssinaturaBloqueio>(); lista.Add(item); assinatura.Associar(bd.LerInt("ClienteID"), lista, novaAssinaturaID, anoID); bdAno.Executar("UPDATE tAssinaturaCliente SET StatusImportacao = 'Importado' WHERE ID = " + bd.LerInt("ID")); } catch (Exception) { continue; } } } catch (Exception ex) { throw ex; } finally { bd.Fechar(); bdAno.Fechar(); } }