コード例 #1
0
ファイル: RepositoryJogo.cs プロジェクト: rfabais/PortuLibras
        public JogoDTO BuscarJogo(JogoDTO jogo)
        {
            var     retorno = new JogoDTO();
            DataSet dataSet = new DataSet();

            var connection = conexao.CriaConexao();

            conexao.AbrirConexao(connection);

            SqlCommand command = new SqlCommand("JOGO_SELECIONAR", connection);

            command.CommandType = CommandType.StoredProcedure;

            command.Parameters.AddWithValue("@Id_Jogo", jogo.CodigoJogo);
            command.Parameters.AddWithValue("@Score", jogo.Score);
            command.Parameters.AddWithValue("@Id_Usuario", jogo.CodigoUsuario);

            SqlTransaction transaction = connection.BeginTransaction();

            command.Connection  = connection;
            command.Transaction = transaction;

            try
            {
                SqlDataAdapter dataAdapter = new SqlDataAdapter(command);

                dataAdapter.Fill(dataSet);

                DataTableReader reader = dataSet.Tables[0].CreateDataReader();

                while (reader.Read())
                {
                    retorno = new JogoDTO()
                    {
                        CodigoJogo    = (int)reader["ID_JOGO"],
                        CodigoUsuario = (int)reader["ID_USUARIO"],
                        Score         = (int)reader["SCORE"]
                    };
                }

                transaction.Commit();
            }
            catch (Exception ex)
            {
                try
                {
                    transaction.Rollback();
                    throw new Exception(ex.Message);
                }
                catch (Exception ex2)
                {
                    throw new Exception(ex2.Message);
                }
            }
            finally
            {
                conexao.FecharConexao(connection);
            }
            return(retorno);
        }
コード例 #2
0
        public IHttpActionResult Remove([FromBody] JogoDTO jogo)
        {
            _jogoBusiness.Remove(jogo.Id);

            var retorno = new ModelBase <JogoDTO>();

            retorno.Mensagem = SuccessMessages.EXCLUSAO;

            return(Ok(retorno));
        }
コード例 #3
0
        public async Task Delete(JogoDTO jogo)
        {
            JogoDTO DbJ = await _context.Jogos.FirstOrDefaultAsync(j => j.ID == jogo.ID);

            if (DbJ != null)
            {
                _context.Jogos.Remove(jogo);
                await _context.SaveChangesAsync();
            }
        }
コード例 #4
0
ファイル: JogoController.cs プロジェクト: rfabais/PortuLibras
 public IActionResult RegistrarPontos([FromBody] JogoDTO jogo)
 {
     try
     {
         return(Content(JsonConvert.SerializeObject(service.SalvarJogo(jogo)), new MediaTypeHeaderValue("application/json").ToString()));
     }
     catch (Exception ex)
     {
         return(Content(JsonConvert.SerializeObject(ExceptionHandler.HandleException(ex)), new MediaTypeHeaderValue("application/json").ToString()));
     }
 }
コード例 #5
0
 public async Task Create(JogoDTO jogo)
 {
     try
     {
         _context.Jogos.Add(jogo);
         await _context.SaveChangesAsync();
     }
     catch (Exception ex)
     {
         throw new Exception("Erro no banco de dados");
     }
 }
コード例 #6
0
        public Retorno SalvarJogo(JogoDTO jogo)
        {
            repoJogo.SalvarJogo(jogo);

            var retorno = repoJogo.BuscarJogo(jogo);

            return(new Retorno()
            {
                Data = JsonConvert.SerializeObject(retorno).ToString(),
                Codigo = 200,
                Mensagem = "Jogo salvado"
            });
        }
コード例 #7
0
        public IHttpActionResult Update(JogoDTO jogoDTO)
        {
            var jogo = _jogoBusiness.GetItem(jogoDTO.Id);

            var jogoAlterado = jogoDTO.ToEntity <Jogo>();

            _jogoBusiness.Update(jogoAlterado);

            var retorno = new ModelBase <JogoDTO>();

            retorno.Mensagem = SuccessMessages.ALTERACAO;

            return(Ok(retorno));
        }
コード例 #8
0
ファイル: RepositoryJogo.cs プロジェクト: rfabais/PortuLibras
        public int SalvarJogo(JogoDTO jogo)
        {
            var connection = conexao.CriaConexao();

            conexao.AbrirConexao(connection);

            SqlCommand command = new SqlCommand("JOGO_ALTERAR", connection);

            command.CommandType = CommandType.StoredProcedure;

            command.Parameters.AddWithValue("@ID_JOGO", jogo.CodigoJogo);
            command.Parameters.AddWithValue("@ID_USUARIO", jogo.CodigoUsuario);
            command.Parameters.AddWithValue("@SCORE", jogo.Score);

            SqlTransaction transaction = connection.BeginTransaction();

            command.Connection  = connection;
            command.Transaction = transaction;

            try
            {
                SqlDataAdapter dataAdapter = new SqlDataAdapter(command);

                string retorno = command.ExecuteNonQuery().ToString();

                transaction.Commit();

                return(Convert.ToInt32(retorno));
            }
            catch (Exception ex)
            {
                try
                {
                    transaction.Rollback();
                    throw new Exception(ex.Message);
                }
                catch (Exception ex2)
                {
                    throw new Exception(ex2.Message);
                }
            }
            finally
            {
                conexao.FecharConexao(connection);
            }
        }
コード例 #9
0
        public IHttpActionResult DevolverJogo([FromBody] JogoDTO jogoDTO)
        {
            var login = GetUsuarioLogado();

            var usuario = _usuarioBusiness.GetItens(x => x.Login == login).FirstOrDefault();

            var emprestimo = _emprestimoBusiness.GetItens(x => x.idJogo == jogoDTO.Id && x.idUsuario == usuario.Id && x.Status == 1).FirstOrDefault();

            emprestimo.Status = 0;

            _emprestimoBusiness.Update(emprestimo);

            var retorno = new ModelBase <JogoDTO>();

            retorno.Mensagem = SuccessMessages.DEVOLVIDO;

            return(Ok(retorno));
        }
コード例 #10
0
        public IHttpActionResult Add(JogoDTO jogoDTO)
        {
            var login = GetUsuarioLogado();

            var usuario = _usuarioBusiness.GetItens(x => x.Login == login).FirstOrDefault();

            jogoDTO.idUsuario = usuario.Id;

            var jogo = jogoDTO.ToEntity <Jogo>();

            _jogoBusiness.Add(jogo);

            var retorno = new ModelBase <JogoDTO>();

            retorno.Mensagem = SuccessMessages.CADASTRO;

            return(Ok(retorno));
        }
コード例 #11
0
        public IHttpActionResult EmprestarJogo([FromBody] JogoDTO jogoDTO)
        {
            var login = GetUsuarioLogado();

            var usuario = _usuarioBusiness.GetItens(x => x.Login == login).FirstOrDefault();

            var emprestimo = new Emprestimo()
            {
                idJogo    = jogoDTO.Id,
                idUsuario = usuario.Id,
                Status    = 1
            };

            _emprestimoBusiness.Add(emprestimo);

            var retorno = new ModelBase <JogoDTO>();

            retorno.Mensagem = SuccessMessages.CADASTRO;

            return(Ok(retorno));
        }
コード例 #12
0
        public Retorno NovoJogo(UsuarioDTO usuario)
        {
            //cria novo jogo
            var jogo = new JogoDTO();

            jogo.CodigoJogo = CriaNovoJogo(usuario.CodigoUsuario, null);

            //Monta rodada com as palavras corretas
            MontaPalavraRodada(jogo.CodigoJogo);

            //Gera partida
            var listaJogo = NovaPartida(jogo.CodigoJogo);

            //retornar rodada
            return(new Retorno()
            {
                Codigo = 200,
                Data = JsonConvert.SerializeObject(listaJogo).ToString(),
                Mensagem = "Partida gerada com sucesso!"
            });
        }
コード例 #13
0
 public Task Update(JogoDTO jogo)
 {
     throw new NotImplementedException();
 }