예제 #1
0
 public Unidade DetalharUnidade(int codigoUnidade)
 {
     using (SYMContext db = new SYMContext())
     {
         return db.Unidade.Where(p => p.CodigoUnidade == codigoUnidade).FirstOrDefault();
     }
 }
예제 #2
0
        public List<ReservaSala> ListarReservasPorData(DateTime dataInicio, DateTime dataFim, int codigoUnidade)
        {
            using (SYMContext db = new SYMContext())
            {
                List<ReservaSala> listaReservas =
                (from reserva in db.ReservaSala
                 join sala in db.SalaReuniao on reserva.CodigoSalaReuniao equals sala.CodigoSalaReuniao
                 where sala.CodigoUnidade == codigoUnidade
                    && reserva.DataHoraInicial >= dataInicio
                    && reserva.DataHoraInicial <= dataFim
                 select reserva).ToList();

                foreach (var item in listaReservas)
                {
                    item.DataAlteracao = DateTime.SpecifyKind(item.DataAlteracao, DateTimeKind.Utc);
                    item.DataHoraInicial = DateTime.SpecifyKind(item.DataHoraInicial, DateTimeKind.Utc);
                    item.DataHoraFinal = DateTime.SpecifyKind(item.DataHoraFinal, DateTimeKind.Utc);

                    if (item.DataInicioOcupacao != null)
                        item.DataInicioOcupacao = DateTime.SpecifyKind(item.DataInicioOcupacao.Value, DateTimeKind.Utc);

                    item.DataLimiteOcupacao = DateTime.SpecifyKind(item.DataLimiteOcupacao, DateTimeKind.Utc);

                    if (item.DataLimiteOcupacao != default(DateTime))
                        item.ExpirouLimiteOcupacao = DateTimeExtensions.BrasilNow() > item.DataLimiteOcupacao;
                }

                return listaReservas;
            }
        }
예제 #3
0
 public void InicializarUnidade()
 {
     using (SYMContext db = new SYMContext())
     {
         db.Unidade.Add(new Unidade() { DescricaoUnidade = "Unidade Consolacao", NomeUnidade = "Consolação", DataAlteracao = DateTime.Now, CodigoUsuarioAlteracao = 1 });
         db.Unidade.Add(new Unidade() { DescricaoUnidade = "Unidade JB", NomeUnidade = "José Bonifácio", DataAlteracao = DateTime.Now, CodigoUsuarioAlteracao = 1 });
         
         db.SaveChanges();
     }
 }
예제 #4
0
        public List<Unidade> ListarUnidades()
        {
            List<Unidade> ListaUnidades = new List<Unidade>();
            using (SYMContext db = new SYMContext())
            {
                ListaUnidades = db.Unidade.ToList();
            }

            return ListaUnidades;
        }
예제 #5
0
        public void InicializarReservaSalas()
        {
            using (SYMContext db = new SYMContext())
            {
                //db.ReservaSala.Add(new ReservaSala() { CodigoSalaReuniao = 1, CodigoUsuario = 1, DescricaoAgendamento = "Reunião de KickOff", CodigoStatusReservaSala = 2, CodigoUsuarioAlteracao = 1, DataHoraInicial = DateTime.Today.AddHours(9), DataHoraFinal = DateTime.Today.AddHours(9).AddMinutes(29).AddSeconds(59), DataAlteracao = DateTime.Now });

                db.SaveChanges();
            }

        }
예제 #6
0
        public void InicializarUsuario()
        {
            using (SYMContext db = new SYMContext())
            {
                db.Usuario.Add(new Usuario() { NomeUsuario = "Vitor Albani", UsuarioPlanum = "", EnderecoEmail = "*****@*****.**", DataAlteracao = DateTime.Now, CodigoUsuarioAlteracao = 1 });
                db.Usuario.Add(new Usuario() { NomeUsuario = "Rafael Marchetti", UsuarioPlanum = "", EnderecoEmail = "*****@*****.**", DataAlteracao = DateTime.Now, CodigoUsuarioAlteracao = 1 });
                db.Usuario.Add(new Usuario() { NomeUsuario = "Marcel Kumano", UsuarioPlanum = "", EnderecoEmail = "*****@*****.**", DataAlteracao = DateTime.Now, CodigoUsuarioAlteracao = 1 });

                db.SaveChanges();
            }
        }
 public void InicializarStatusReservaSala()
 {
     using (SYMContext db = new SYMContext())
     {
         db.StatusReservaSala.Add(new StatusReservaSala() { DescricaoStatusReservaSala = "Reservado" });
         db.StatusReservaSala.Add(new StatusReservaSala() { DescricaoStatusReservaSala = "Cancelado" });
         db.StatusReservaSala.Add(new StatusReservaSala() { DescricaoStatusReservaSala = "Cancelada devido à ocupação não sinalizada" });
         
         db.SaveChanges();
     }
 }
예제 #8
0
        public void InicializarSalaReuniao()
        {
            using (SYMContext db = new SYMContext())
            {
                db.SalaReuniao.Add(new SalaReuniao() { NomeSala = "Missão", DescricaoSala = "Sala de Reuniões Missão", CapacidadeSala = 6, CodigoUnidade = 1, CodigoUsuarioAlteracao = 1, DataAlteracao = DateTime.UtcNow, DisponibilidadeInicio = new DateTime(1900, 01, 01, 8, 0, 0, DateTimeKind.Utc), DispoonibilidadeFim = new DateTime(1900, 01, 01, 18, 0, 0, DateTimeKind.Utc), PossuiProjetor = false });
                db.SalaReuniao.Add(new SalaReuniao() { NomeSala = "Paixão", DescricaoSala = "Sala de Reuniões Paixão", CapacidadeSala = 12, CodigoUnidade = 1, CodigoUsuarioAlteracao = 1, DataAlteracao = DateTime.UtcNow, DisponibilidadeInicio = new DateTime(1900, 01, 01, 8, 0, 0, DateTimeKind.Utc), DispoonibilidadeFim = new DateTime(1900, 01, 01, 18, 0, 0, DateTimeKind.Utc), PossuiProjetor = true });
                db.SalaReuniao.Add(new SalaReuniao() { NomeSala = "Extraordinário", DescricaoSala = "Sala de Reuniões Extraordinario", CapacidadeSala = 6, CodigoUnidade = 1, CodigoUsuarioAlteracao = 1, DataAlteracao = DateTime.UtcNow, DisponibilidadeInicio = new DateTime(1900, 01, 01, 8, 0, 0, DateTimeKind.Utc), DispoonibilidadeFim = new DateTime(1900, 01, 01, 18, 0, 0, DateTimeKind.Utc), PossuiProjetor = false });
                db.SalaReuniao.Add(new SalaReuniao() { NomeSala = "Sala JB", DescricaoSala = "Sala de Reuniões JB", CapacidadeSala = 8, CodigoUnidade = 2, CodigoUsuarioAlteracao = 1, DataAlteracao = DateTime.UtcNow, DisponibilidadeInicio = new DateTime(1900, 01, 01, 8, 0, 0, DateTimeKind.Utc), DispoonibilidadeFim = new DateTime(1900, 01, 01, 18, 0, 0, DateTimeKind.Utc), PossuiProjetor = true });

                db.SaveChanges();
            }
        }
        //
        // GET: /Initializer/InicializarBase
        public string Get()
        {
            using (SYMContext db = new SYMContext())
            {
                var Status = db.StatusReservaSala.Count();
            }

            new UsuarioBS().InicializarUsuario();
            new UnidadeBS().InicializarUnidade();
            new StatusReservaSalaBS().InicializarStatusReservaSala();

            new SalaReuniaoBS().InicializarSalaReuniao();
            new ReservarSalaBS().InicializarReservaSalas();
            return "OK";
        }
예제 #10
0
        public List<SalaReuniao> ListarSalas(int codigoUnidade, int quantidadePessoas, bool? possuiProjetor)
        {
            using (SYMContext db = new SYMContext())
            {
                List<SalaReuniao> ListaSalas = db.SalaReuniao.Where(p => codigoUnidade == p.CodigoUnidade && 
                                                                         quantidadePessoas <= p.CapacidadeSala &&
                                                                         (possuiProjetor == null || p.PossuiProjetor == possuiProjetor)).ToList();

                foreach (var item in ListaSalas)
                {
                    item.DataAlteracao = DateTime.SpecifyKind(item.DataAlteracao, DateTimeKind.Utc);
                    item.DisponibilidadeInicio = DateTime.SpecifyKind(item.DisponibilidadeInicio, DateTimeKind.Utc);
                    item.DispoonibilidadeFim = DateTime.SpecifyKind(item.DispoonibilidadeFim, DateTimeKind.Utc);
                }

                return ListaSalas;
            }
        }
예제 #11
0
        public void IncluirReserva(ReservaSala novaReserva)
        {
            novaReserva.CodigoUsuario = 1;
            novaReserva.CodigoStatusReservaSala = 1;
            novaReserva.CodigoUsuarioAlteracao = 1;
            novaReserva.DataAlteracao = DateTime.UtcNow;

            //Iniciar sem ocupação
            novaReserva.DataInicioOcupacao = null;
            novaReserva.DataLimiteOcupacao = novaReserva.DataHoraInicial.AddMinutes(15);

            //Se for 8:00 reservar até as 7:59
            if (novaReserva.DataHoraFinal.Minute == 0 ||
                novaReserva.DataHoraFinal.Minute == 30)
                novaReserva.DataHoraFinal = novaReserva.DataHoraFinal.AddSeconds(-1);

            using (SYMContext db = new SYMContext())
            {
                db.ReservaSala.Add(novaReserva);

                db.SaveChanges();
            }
        
        }
예제 #12
0
        public bool ValidarReservaExistente(ReservaSala novaReserva) 
        {
            //Se for 8:00 reservar até as 7:59
            if (novaReserva.DataHoraFinal.Minute == 0 ||
                novaReserva.DataHoraFinal.Minute == 30)
                novaReserva.DataHoraFinal = novaReserva.DataHoraFinal.AddSeconds(-1);

            using (SYMContext db = new SYMContext())
            {
                foreach (ReservaSala reservaBase in db.ReservaSala.Where(p => p.CodigoSalaReuniao == novaReserva.CodigoSalaReuniao).ToList())
                {
                    if (novaReserva.DataHoraInicial >= reservaBase.DataHoraInicial && novaReserva.DataHoraInicial <= reservaBase.DataHoraFinal) 
                    {
                        return true;
                    }

                    if (novaReserva.DataHoraFinal >= reservaBase.DataHoraInicial && novaReserva.DataHoraInicial <= reservaBase.DataHoraFinal)
                    {
                        return true;
                    }
                }
            }

            return false;
        }
예제 #13
0
        public void OcuparReserva(ReservaSala param) 
        {
            ReservaSala reservaBase = null;

            using (SYMContext db = new SYMContext())
            {
                reservaBase = db.ReservaSala.Where(p => p.CodigoReserva == param.CodigoReserva).FirstOrDefault();
                reservaBase.DataInicioOcupacao = DateTime.UtcNow;

                db.ReservaSala.Add(reservaBase);

                db.SaveChanges();
            }
        }
예제 #14
0
 public ReservaSala ConsultarReserva(int codigoReserva)
 {
     using (SYMContext db = new SYMContext())
     {
         ReservaSala dados = db.ReservaSala.Where(p => p.CodigoReserva == codigoReserva).FirstOrDefault();
         return dados;
     }
 }