Example #1
0
        public Assinaturas.Models.MusicaCabeca VerificaEvento(int id)
        {
            try
            {
                IRLib.Assinaturas.Models.MusicaCabeca mMusicaCabeca = new Assinaturas.Models.MusicaCabeca();

                string Sql = @"SELECT * FROM tMusicaCabeca WHERE ID = " + id;

                bd.Consulta(Sql);

                if (bd.Consulta().Read())
                {
                    DateTime dataEvento = bd.LerDateTime("Data");
                    mMusicaCabeca.ID               = bd.LerInt("ID");
                    mMusicaCabeca.Nome             = bd.LerString("Nome");
                    mMusicaCabeca.Local            = bd.LerString("Local");
                    mMusicaCabeca.Data             = dataEvento.Date.ToString("dd/MM/yyyy");
                    mMusicaCabeca.Hora             = dataEvento.ToString("HH:mm");
                    mMusicaCabeca.QuantidadeCota   = bd.LerInt("QuantidadeCota");
                    mMusicaCabeca.QuantidadeNormal = bd.LerInt("QuantidadeNormal");
                    mMusicaCabeca.DataLimiteCota   = bd.LerDateTime("DataLimiteCota").ToString("dd/MM/yyyy");
                    mMusicaCabeca.Detalhes         = bd.LerString("Detalhes");
                }

                return(mMusicaCabeca);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                bd.Fechar();
            }
        }
Example #2
0
        private void AtribuirModel(Assinaturas.Models.MusicaCabeca mMusicaCabeca)
        {
            this.Control.ID  = mMusicaCabeca.ID;
            this.Nome.Valor  = mMusicaCabeca.Nome;
            this.Local.Valor = mMusicaCabeca.Local;

            string datafull   = this.corrigirData(mMusicaCabeca.Data, mMusicaCabeca.Hora);
            string datalimite = this.corrigirData(mMusicaCabeca.DataLimiteCota, "");

            this.Data.Valor             = DateTime.ParseExact(datafull, "yyyyMMddHHmm", null);
            this.QuantidadeCota.Valor   = mMusicaCabeca.QuantidadeCota;
            this.QuantidadeNormal.Valor = mMusicaCabeca.QuantidadeNormal;
            this.DataLimiteCota.Valor   = DateTime.ParseExact(datalimite, "yyyyMMdd", null);
            this.Detalhes.Valor         = mMusicaCabeca.Detalhes;
        }
Example #3
0
        public bool VerificaVaga(int musicaCabecaID, bool assinante)
        {
            try
            {
                IRLib.Assinaturas.Models.MusicaCabeca Evento = new Assinaturas.Models.MusicaCabeca();
                List <IRLib.ClientObjects.Assinaturas.EstruturaMusicaCabeca> lstInscritos = new List <ClientObjects.Assinaturas.EstruturaMusicaCabeca>();

                string Sql = string.Format(@"SELECT mc.ID,mc.Nome,mc.Local,mc.Data,mc.QuantidadeCota,mc.QuantidadeNormal,mc.DataLimiteCota,mc.Detalhes
                                    FROM tMusicaCabeca mc (NOLOCK)
                                    WHERE mc.ID = {0} 

                                SELECT mc.ID, COUNT(DISTINCT mci.ID) + COUNT(DISTINCT mca.id) as QtdInscritos, mci.Assinante
                                    FROM tMusicaCabeca mc (NOLOCK) 
                                    LEFT JOIN tMusicaCabecaInscrito mci (NOLOCK) ON mci.MusicaCabecaID = mc.ID 
                                    LEFT JOIN tMusicaCabecaAgregado mca (NOLOCK) ON mca.MusicaCabecaInscritoID = mci.ID 
                                    WHERE mc.ID = {0} 
                                    GROUP BY mc.ID,mc.Nome,mc.Local,mc.Data,mc.QuantidadeCota,mc.QuantidadeNormal,mc.DataLimiteCota,mc.Detalhes, mci.Assinante ", musicaCabecaID);

                bd.Consulta(Sql);

                while (bd.Consulta().Read())
                {
                    DateTime dataEvento = bd.LerDateTime("Data");
                    Evento = new IRLib.Assinaturas.Models.MusicaCabeca()
                    {
                        ID               = bd.LerInt("ID"),
                        Nome             = bd.LerString("Nome").ToUpper(),
                        Local            = bd.LerString("Local"),
                        Data             = dataEvento.ToString("dd/MM/yyyy"),
                        Hora             = dataEvento.ToString("HH:mm"),
                        QuantidadeCota   = bd.LerInt("QuantidadeCota"),
                        QuantidadeNormal = bd.LerInt("QuantidadeNormal"),
                        DataLimiteCota   = bd.LerDateTime("DataLimiteCota").ToString("dd/MM/yyyy"),
                        Detalhes         = bd.LerString("Detalhes"),
                    };
                }

                bd.Consulta().NextResult();

                while (bd.Consulta().Read())
                {
                    lstInscritos.Add(new IRLib.ClientObjects.Assinaturas.EstruturaMusicaCabeca()
                    {
                        MusicaCabecaID = bd.LerInt("ID"),
                        Qtd            = bd.LerInt("QtdInscritos"),
                        Assinante      = bd.LerBoolean("Assinante")
                    });
                }


                foreach (var inscritos in lstInscritos)
                {
                    if (inscritos.Assinante)
                    {
                        Evento.QuantidadeInscritosCota = inscritos.Qtd;
                    }
                    else
                    {
                        Evento.QuantidadeInscritosNormal = inscritos.Qtd;
                    }
                }


                Evento.Disponivel = !(DateTime.ParseExact(this.corrigirData(Evento.Data, Evento.Hora), "yyyyMMddHHmm", null) <= DateTime.Now.AddHours(HorasLimite));
                if (Evento.Disponivel)
                {
                    Evento.Disponivel = (Evento.QuantidadeInscritos < Evento.QuantidadeVagas);
                    if (Evento.Disponivel)
                    {
                        if (assinante)
                        {
                            Evento.Disponivel = (Evento.QuantidadeInscritosCota < Evento.QuantidadeCota);
                        }
                        else
                        if (DateTime.Now.Date < DateTime.ParseExact(this.corrigirData(Evento.DataLimiteCota, ""), "yyyyMMdd", null))
                        {
                            Evento.Disponivel = (Evento.QuantidadeInscritosNormal < Evento.QuantidadeNormal);
                        }
                    }
                }

                return(Evento.Disponivel);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                bd.Fechar();
            }
        }
Example #4
0
 public bool Alterar(Assinaturas.Models.MusicaCabeca mMusicaCabeca)
 {
     this.AtribuirModel(mMusicaCabeca);
     return(this.Atualizar());
 }
Example #5
0
 public bool Inserir(Assinaturas.Models.MusicaCabeca novoMusicaCabeca)
 {
     this.AtribuirModel(novoMusicaCabeca);
     return(this.Inserir());
 }