Example #1
0
        public void AtribuirHorarios(int quantidade, int horas)
        {
            BD bd = new BD();

            try
            {
                string busca =
                    @"SELECT
						TOP 500 vb.ID, MIN(ap.Horario) AS MenorApresentacao
						FROM tVendaBilheteria vb (NOLOCK)
						INNER JOIN tIngresso i (NOLOCK) ON i.VendaBilheteriaID = vb.ID
						INNER JOIN tApresentacao ap (NOLOCK) ON ap.ID = i.ApresentacaoID
					WHERE vb.Status = 'P' AND vb.DataVenda > '20110000000000' AND (vb.EmailSincronizado IS NULL OR vb.EmailSincronizado = 'F')
					GROUP BY vb.ID
					ORDER BY vb.ID ASC"                    ;

                bd.Consulta(busca);


                var data = new
                {
                    VendaBilheteriaID = 0,
                    Data = DateTime.Now,
                };

                var lista = VendaBilheteria.ToAnonymousList(data);

                while (bd.Consulta().Read())
                {
                    lista.Add(new
                    {
                        VendaBilheteriaID = bd.LerInt("ID"),
                        Data = bd.LerDateTime("MenorApresentacao"),
                    });
                }

                bd.FecharConsulta();

                foreach (var venda in lista)
                {
                    bd.Executar(
                        string.Format(@"UPDATE tVendaBilheteria 
							SET EmailSincronizado = '{0}', EmailEnviar = '{1}' 
							WHERE ID = {2}"                            , "T", venda.Data.AddHours(horas).ToString("yyyyMMddHHmmss"), venda.VendaBilheteriaID));
                }
            }
            finally
            {
                bd.Fechar();
            }
        }
Example #2
0
        public void AlterarCliente(BD bd, int assinaturaClienteID, int assinanteID, int clienteIDAntigo, int clienteID)
        {
            int antigoCliente = 0;
            int novoCliente   = 0;

            //Desmembrando uma assinatura já desmembrada
            if (clienteIDAntigo > 0 && clienteID > 0)
            {
                antigoCliente = clienteIDAntigo;
                novoCliente   = clienteID;
            }
            //Removendo desmembramento
            else if (clienteIDAntigo == 0 && clienteID > 0)
            {
                antigoCliente = assinanteID;
                novoCliente   = clienteID;
            }
            //Desmembrando assinatura normal
            else if (clienteIDAntigo > 0 && clienteID == 0)
            {
                antigoCliente = clienteIDAntigo;
                clienteID     = assinanteID;
            }
            else
            {
                throw new Exception("Tentativa de desmembramento inválida.");
            }

            BD bdAux = new BD();

            try
            {
                var obj = new
                {
                    IngressoID           = 0,
                    BancoIngressoID      = 0,
                    ClienteID            = 0,
                    CreditoID            = 0,
                    CreditoClienteID     = 0,
                    ComprovanteID        = 0,
                    ComprovanteClienteID = 0,
                };

                var lista = VendaBilheteria.ToAnonymousList(obj);

                string sql = string.Format(@"SELECT 
                                               DISTINCT bi.ID, bi.IngressoID, bi.ClienteID, bc.ID AS CreditoID, bc.ClienteID AS CreditoClienteID, bic.ID AS ComprovanteID, bic.ClienteID AS ComprovanteClienteID
                                            FROM tIngresso i (NOLOCK)
                                            INNER JOIN tAssinaturaBancoIngresso bi (NOLOCK) ON bi.IngressoID = i.ID
                                            LEFT JOIN tAssinaturaBancoIngressoHistorico bh (NOLOCK) ON bh.AssinaturaBancoIngressoID = bi.ID
                                            LEFT JOIN tAssinaturaBancoIngressoCredito bc (NOLOCK) ON bh.AssinaturaBancoIngressoCreditoID = bc.ID
                                            LEFT JOIN tAssinaturaBancoIngressoComprovante bic (NOLOCK) ON bic.ID = bh.AssianturaBancoIngressoComprovanteID
                                            WHERE i.AssinaturaClienteID = {0} AND (bc.ID IS NULL OR bc.ClienteID = {1}) AND (bc.ID IS NULL OR bc.Utilizado = 'F')
                                            ", assinaturaClienteID, antigoCliente);

                if (!bdAux.Consulta(sql).Read())
                {
                    return;
                }

                do
                {
                    lista.Add(new
                    {
                        IngressoID           = bdAux.LerInt("IngressoID"),
                        BancoIngressoID      = bdAux.LerInt("ID"),
                        ClienteID            = bdAux.LerInt("ClienteID"),
                        CreditoID            = bdAux.LerInt("CreditoID"),
                        CreditoClienteID     = bdAux.LerInt("CreditoClienteID"),
                        ComprovanteID        = bdAux.LerInt("ComprovanteID"),
                        ComprovanteClienteID = bdAux.LerInt("ComprovanteClienteID"),
                    });
                } while (bdAux.Consulta().Read());

                bdAux.FecharConsulta();

                foreach (var item in lista)
                {
                    if (item.ClienteID == antigoCliente)
                    {
                        bd.Executar(string.Format("UPDATE tAssinaturaBancoIngresso SET ClienteID = {0} WHERE ID = {1} AND ClienteID = {2}", novoCliente, item.BancoIngressoID, antigoCliente));
                    }

                    if (item.CreditoClienteID > 0 && item.CreditoClienteID == antigoCliente)
                    {
                        bd.Executar(string.Format("UPDATE tAssinaturaBancoIngressoCredito SET ClienteID = {0} WHERE ID = {1} AND ClienteID = {2}", novoCliente, item.CreditoClienteID, antigoCliente));
                    }

                    if (item.ComprovanteID > 0 && item.ComprovanteClienteID == antigoCliente)
                    {
                        bd.Executar(string.Format("UPDATE tAssinaturaBancoIngressoComprovante SET ClienteID = {0} WHERE ID = {1} AND ClienteID = {2}", novoCliente, item.ComprovanteID, antigoCliente));
                    }
                }
            }
            finally
            {
                bdAux.Fechar();
            }
        }