コード例 #1
0
        internal PocoLocal Carregar()
        {
            var local = Get(Poco.Id);

            //Antes de tudo, verificamos se o local existe
            if (local == null)
            {
                Mensagem = "Estranho!!! Local não foi encontrado. " + Util.Alerta;
                return(null);
            }

            //Retornamos na mensagem da api os horarios agendados
            if (local.Agendavel == 1)
            {
                //atualiza os locais de acordo com a data e horario atual
                UpdateLocalXAgendamento(Poco.Id);

                //atualiza os dados do local, caso o status tenha alterado
                local = Get(Poco.Id);

                Mensagem = new Agendamento(Poco.Id, Poco.IdUsuario).Agendamentos();
            }
            else if (local.Status == 0)
            {
                Mensagem = local.Nome + " está LIVRE, coloque em uso e aproveite!";
            }
            else if (local.Status == 1)
            {
                Mensagem = local.Nome + " está OCUPADO!";
            }

            return(local);
        }
コード例 #2
0
        internal bool Ocupar(int idUsuario)
        {
            var local = Get(Poco.Id);

            //se for agendavel, tentaremos agendar
            if (local.Agendavel == 1)
            {
                if (!DataDe.HasValue || !DataAte.HasValue)
                {
                    Mensagem = "Esse local é privado, por favor, informe o período que pretende utilizá-lo";
                    return(false);
                }

                if (DataAte.Value <= DataDe.Value)
                {
                    Mensagem = "O período final, deve ser superior ao período inicial";
                    return(false);
                }

                var agendamento = new Agendamento(local.Id, idUsuario, DataDe.Value, DataAte.Value);

                //tentaremos agendar, se não for possivel, a class agendamento vai nos avisar o motivo
                var agendado = agendamento.Agendar();

                //retorno para essa class a mensagem da class agendamento
                Mensagem = agendamento.Mensagem;

                return(agendado);
            }
            else if (local.Status == 0)
            {
                local.Status    = 1;
                local.IdUsuario = idUsuario;

                var atualizado = UpdateLocalUsuario(local);
                if (atualizado)
                {
                    //TODO: push alertando todos os usuario desse local, que o local foi colocado em uso
                    Mensagem = "É sua vez! Você colocou " + local.Nome + " em uso";
                }
                else
                {
                    Mensagem = "Estranho!!! Não foi possível colocar esse local em uso. " + Util.Alerta;
                }
                return(atualizado);
            }
            else
            {
                Mensagem = local.Nome + " está ocupado";
                return(false);
            }
        }
コード例 #3
0
ファイル: Local.cs プロジェクト: rcelebrone/temgente-api
        internal PocoLocal Carregar()
        {
            var local = Get(Poco.Id);

            //Antes de tudo, verificamos se o local existe
            if (local == null)
            {
                Mensagem = "Estranho!!! Local não foi encontrado. " + Util.Alerta;
                return null;
            }

            //Retornamos na mensagem da api os horarios agendados
            if (local.Agendavel == 1)
            {
                //atualiza os locais de acordo com a data e horario atual
                UpdateLocalXAgendamento(Poco.Id);

                //atualiza os dados do local, caso o status tenha alterado
                local = Get(Poco.Id);

                Mensagem = new Agendamento(Poco.Id, Poco.IdUsuario).Agendamentos();
            }
            else if (local.Status == 0)
            {
                Mensagem = local.Nome + " está LIVRE, coloque em uso e aproveite!";
            }
            else if (local.Status == 1)
            {
                Mensagem = local.Nome + " está OCUPADO!";
            }

            return local;
        }
コード例 #4
0
ファイル: Local.cs プロジェクト: rcelebrone/temgente-api
        internal bool Ocupar(int idUsuario)
        {
            var local = Get(Poco.Id);
            //se for agendavel, tentaremos agendar
            if (local.Agendavel == 1)
            {
                if (!DataDe.HasValue || !DataAte.HasValue)
                {
                    Mensagem = "Esse local é privado, por favor, informe o período que pretende utilizá-lo";
                    return false;
                }

                if (DataAte.Value <= DataDe.Value)
                {
                    Mensagem = "O período final, deve ser superior ao período inicial";
                    return false;
                }

                var agendamento = new Agendamento(local.Id, idUsuario, DataDe.Value, DataAte.Value);

                //tentaremos agendar, se não for possivel, a class agendamento vai nos avisar o motivo
                var agendado = agendamento.Agendar();

                //retorno para essa class a mensagem da class agendamento
                Mensagem = agendamento.Mensagem;

                return agendado;

            }
            else if (local.Status == 0)
            {
                local.Status = 1;
                local.IdUsuario = idUsuario;

                var atualizado = UpdateLocalUsuario(local);
                if (atualizado)
                {
                    //TODO: push alertando todos os usuario desse local, que o local foi colocado em uso
                    Mensagem = "É sua vez! Você colocou " + local.Nome + " em uso";
                }
                else
                {
                    Mensagem = "Estranho!!! Não foi possível colocar esse local em uso. " + Util.Alerta;
                }
                return atualizado;
            }
            else
            {
                Mensagem = local.Nome + " está ocupado";
                return false;
            }
        }