示例#1
0
        private void GetMateriaNovaChamada()
        {
            ConsumeRest getMateria = new ConsumeRest();

            getMateria.GetResponse <Retorno>("chamada/MateriaNovaChamada", string.Format("professorId={0}", usuario.Id)).ContinueWith(t =>
            {
                if (t.IsCompleted)
                {
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        if ((TpRetornoEnum)t.Result.TpRetorno == TpRetornoEnum.Sucesso && t.Result.ObjRetorno != null)
                        {
                            if (t.Result.ObjTypeName == typeof(MateriaForChamadaVO).Name)
                            {
                                materia = Metodos.JsonToCustomObject <MateriaForChamadaVO>(t.Result.ObjRetorno);
                                ExibeDadosMateria();
                            }

                            dadosMateria.BackgroundColor = Color.FromHex("328325");
                        }
                        else if ((TpRetornoEnum)t.Result.TpRetorno == TpRetornoEnum.Erro)
                        {
                            dadosMateria.BackgroundColor = Color.FromHex("A63030");
                        }

                        Label lb = GetLabelDefaul();

                        lb.Text = t.Result.RetornoMensagem + ((!string.IsNullOrWhiteSpace(t.Result.RetornoDescricao)) ?
                                                              (Environment.NewLine + t.Result.RetornoDescricao) : "");
                        dadosMateria.IsVisible = true;
                        dadosMateria.Content   = lb;
                    });
                }
            });
        }
示例#2
0
        public HttpResponseMessage PostAbrirChamada([FromBody] MateriaForChamadaVO materia)
        {
            Retorno obj = new Retorno();

            if (materia == null)
            {
                obj.TpRetorno        = (int)TpRetornoEnum.SemRetorno;
                obj.RetornoMensagem  = "Houve falha na operação!";
                obj.RetornoDescricao = "A chamada não foi aberta. Tente novamente mais tarde!";
            }
            else
            {
                bool resposta = ChamadaDAO.AbrirChamada(materia, Metodos.GetCurrentTime());

                if (resposta)
                {
                    obj.TpRetorno        = (int)TpRetornoEnum.Sucesso;
                    obj.RetornoMensagem  = "Operação realizada com sucesso!";
                    obj.RetornoDescricao = "A chamada já está disponível para resposta de presença dos alunos.";
                }
                else
                {
                    obj.TpRetorno        = (int)TpRetornoEnum.Erro;
                    obj.RetornoMensagem  = "Houve falha na operação!";
                    obj.RetornoDescricao = "A chamada não foi aberta. Tente novamente mais tarde!";
                }
            }

            return(new HttpResponseMessage()
            {
                Content = new StringContent(Metodos.ObjectToJson(obj)),
                StatusCode = HttpStatusCode.OK
            });
        }
示例#3
0
        /// <summary>
        /// Efutua a abertura da chamada para uma matéria e a atual turma.
        /// </summary>
        /// <param name="materia">objeto com os parametros da chamada a ser aberta</param>
        /// <param name="time">horario da chamada</param>
        /// <returns>true se a chamada for aberta</returns>
        public static bool AbrirChamada(MateriaForChamadaVO materia, string time)
        {
            bool retorno;

            SqlConnection con = ConexaoDAO.GetConexao();

            SqlTransaction transacao = con.BeginTransaction();

            try
            {
                List <AlunoVO> alunos = GetAlunosByTurmaId(materia.TurmaId);

                SqlCommand insertChamada = con.CreateCommand();

                insertChamada.CommandText = string.Format("INSERT INTO CHAMADA (DTCHAMADA, HORAINICIO, HORATERMINO, HORARIOMATERIAPROFTURMAID, SITCHAMADA)" +

                                                          " OUTPUT INSERTED.ID" +

                                                          " VALUES(GETDATE(), \'{0}\', null, {1}, {2})", time, materia.HorarioMaterioProfTurmaId, (int)SitChamadaEnum.Aberta);

                insertChamada.Transaction = transacao;

                int chamadaId = (int)insertChamada.ExecuteScalar();


                if (chamadaId > 0)
                {
                    SqlCommand cmd;

                    foreach (AlunoVO aluno in alunos)
                    {
                        cmd             = PreparaAlunoChamada(chamadaId, aluno.Id, con);
                        cmd.Transaction = transacao;
                        cmd.ExecuteNonQuery();
                    }
                }

                transacao.Commit();

                retorno = true;
            }
            catch (SqlException erro)
            {
                transacao.Rollback();
                retorno = false;
            }
            finally
            {
                con.Close();
            }

            return(retorno);
        }