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; }); } }); }
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 }); }
/// <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); }