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();
            }
        }
Exemple #5
0
        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();
            }
        }
Exemple #6
0
        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();
            }
        }