marciomoretto /
curto
Projeto didático para simular um jogo de cartas em C, criado para alunos de Introdução à Programação.
Loading repository data…
MarcosPontes136 / repository
Projeto criado para curso em SQL Server usando Windows Form com C# e SQL Serve... Representação de uma API baseada em dados de Star Wars.
using Projeto_CShap_Com_SQL.Dao;
using Projeto_CShap_Com_SQL.Entidades;
using Projeto_CShap_Com_SQL.ViewModels;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Json;
using System.Threading.Tasks;
namespace Projeto_CShap_Com_SQL.Servicos
{
public class SincronizadorService
{
private const string URL_PLANETAS = "http://swapi.dev/api/planets/";
private const string URL_NAVES = "http://swapi.dev/api/starships/";
private const string URL_PILOTOS = "http://swapi.dev/api/people/";
public Task Sincronizar()
{
var tasks = new List<Task>();
tasks.Add(SincronizarPlanetas());
tasks.Add(SincronizarNaves());
Task.WhenAll(tasks);
return SincronizarPilotos();
}
private async Task SincronizarPlanetas()
{
var httpClient = new HttpClient();
var lista = new List<PlanetaViewModel>();
ResultadoApi<PlanetaViewModel> resultadoApi = null;
do
{
resultadoApi = await httpClient.GetFromJsonAsync<ResultadoApi<PlanetaViewModel>>(resultadoApi?.Next ?? URL_PLANETAS);
lista.AddRange(resultadoApi.Results);
} while (resultadoApi.Next != null);
var planetas = lista.Select(item => new Planeta
{
IdPlaneta = item.IdPlaneta,
Nome = item.Name,
Clima = item.Climate,
Diametro = item.Diametro,
Orbita = item.Orbita,
Rotacao = item.Rotacao,
Populacao = item.Populacao
}).ToList();
using (var dao = new PlanetaDao())
await dao.InserirPlanetas(planetas);
}
private async Task SincronizarNaves()
{
var httpClient = new HttpClient();
var lista = new List<NaveViewModel>();
ResultadoApi<NaveViewModel> resultadoApi = null;
do
{
resultadoApi = await httpClient.GetFromJsonAsync<ResultadoApi<NaveViewModel>>(resultadoApi?.Next ?? URL_NAVES);
lista.AddRange(resultadoApi.Results);
} while (resultadoApi.Next != null);
var naves = lista.Select(item => new Nave
{
IdNave = item.IdNave,
Nome = item.Name,
Carga = item.Carga,
Classe = item.Starship_Class,
Modelo = item.Model,
Passageiros = item.Passageiros
}).ToList();
using (var dao = new NaveDao())
await dao.InserirNaves(naves);
}
private async Task SincronizarPilotos()
{
var httpClient = new HttpClient();
var lista = new List<PilotoViewModel>();
ResultadoApi<PilotoViewModel> resultadoApi = null;
do
{
resultadoApi = await httpClient.GetFromJsonAsync<ResultadoApi<PilotoViewModel>>(resultadoApi?.Next ?? URL_PILOTOS);
lista.AddRange(resultadoApi.Results.Where(p => p.Starships.Any()).ToList());
} while (resultadoApi.Next != null);
var pilotos = lista.Select(item => new Piloto
{
IdPiloto = item.IdPiloto,
Nome = item.Name,
AnoNascimento = item.Birth_Year,
IdPlaneta = item.IdPlaneta,
Naves = item.IdNaves.Select(idNave => new Nave
{
IdNave = int.Parse(idNave)
}).ToList()
}).ToList();
using (var pilotoDao = new PilotoDao())
{
await pilotoDao.InserirPilotos(pilotos);
await pilotoDao.InserirPilotosNaves(pilotos);
}
}
}
}
using Projeto_CShap_Com_SQL.Dao;
using Projeto_CShap_Com_SQL.Entidades;
using Projeto_CShap_Com_SQL.ViewModels;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Projeto_CShap_Com_SQL.Forms
{
public partial class frmRegistrarEntradaSaida : Form
{
private Piloto _piloto;
private Piloto _pilotoComandante;
private Nave _nave;
private int _idNave;
private int _idPiloto;
private bool _chegada;
private bool _pilotoViajando;
public frmRegistrarEntradaSaida(int idNave, int idPiloto, bool chegada)
{
this.StartPosition = FormStartPosition.CenterScreen;
_idNave = idNave;
_idPiloto = idPiloto;
_chegada = chegada;
InitializeComponent();
}
private async void frmRegistrarEntradaSaida_Load_2(object sender, EventArgs e)
{
Cursor = Cursors.WaitCursor;
int? idPilotoComandante;
using (var naveDao = new NaveDao())
{
_nave = await naveDao.ObterPorId(_idNave);
idPilotoComandante = await naveDao.ObterComandante(_idNave);
}
using (var pilotoDao = new PilotoDao())
{
_piloto = await pilotoDao.ObterPorId(_idPiloto);
_pilotoViajando = await pilotoDao.PilotoEstaViajando(_idPiloto);
if (idPilotoComandante.HasValue)
_pilotoComandante = await pilotoDao.ObterPorId(idPilotoComandante.Value);
}
lvAlertas.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
lvAlertas.PerformLayout();
PreencherDadosNave();
PreencherDadosPiloto();
if (EhValido())
{
btnRegistrar.Enabled = true;
this.Height = 228;
}
else
{
btnRegistrar.Enabled = false;
this.Height = 490;
}
if (_chegada)
btnRegistrar.Text = "Registrar Chegada";
else
btnRegistrar.Text = "Registrar Saída";
Cursor = Cursors.Default;
}
private void PreencherDadosNave()
{
lblNomeNave.Text = _nave.Nome;
lblModelo.Text = _nave.Modelo;
lblClasse.Text = _nave.Classe;
}
private void PreencherDadosPiloto()
{
lblNomePiloto.Text = _piloto.Nome;
lblAnoNacimento.Text = _piloto.AnoNascimento;
lblPlaneta.Text = _piloto.Planeta.Nome;
}
private bool EhValido()
{
bool ehValido = PilotoEhValido();
ehValido = NaveEhValida() && ehValido;
return ehValido;
}
private bool PilotoEhValido()
{
bool ehValido = true;
//Saindo
if (!_chegada)
{
if (_pilotoViajando)
{
ehValido = false;
lvAlertas.Items.Add(new ListViewItem("PERIGO - PILOTO AINDA NÃO CHEGOU DE VIAGEM, DEVE SER UM IMPOSTOR"));
}
if (!_piloto.Naves.Any(nave => nave.IdNave == _nave.IdNave))
{
ehValido = false;
lvAlertas.Items.Add(new ListViewItem("Este piloto não está habilitado para esta nave"));
}
}
//Chegando
if (_chegada && !_pilotoViajando)
{
ehValido = false;
lvAlertas.Items.Add(new ListViewItem("PERIGO - PILOTO NÃO SAIU PARA VIAGEM, DEVE SER UM IMPOSTOR"));
}
return ehValido;
}
private bool NaveEhValida()
{
bool ehValido = true;
//Saindo
if (!_chegada && _pilotoComandante != null)
{
ehValido = false;
lvAlertas.Items.Add(new ListViewItem("Nave já está em viagem"));
}
//Chegando
if (_chegada)
{
if (_pilotoComandante == null)
{
ehValido = false;
lvAlertas.Items.Add(new ListViewItem("PERIGO - NAVE NÃO SAIU, PODE SER UMA NAVE IMPOSTORA"));
}
if (_pilotoComandante != null && _pilotoComandante.IdPiloto != _piloto.IdPiloto)
{
ehValido = false;
lvAlertas.Items.Add(new ListViewItem($"PERIGO - PILOTO QUE RETIROU A NAVE FOI '{_pilotoComandante.Nome.ToUpper()}'"));
}
}
return ehValido;
}
private void FormRegistrarEntradaSaida_FormClosing(object sender, FormClosingEventArgs e)
{
Dispose();
}
private async void btnRegistrar_Click(object sender, EventArgs e)
{
if (_chegada)
await RegistrarEntrada();
else
await RegistrarSaida();
btnRegistrar.Enabled = false;
MessageBox.Show("Registro efetuado com sucesso", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private async Task RegistrarEntrada()
{
using (var pilotoDao = new PilotoDao())
await pilotoDao.RegistrarFimViagem(_idPiloto, _idNave);
}
private async Task RegistrarSaida()
{
using (var pilotoDao = new PilotoDao())
Selected from shared topics, language and repository description—not editorial ratings.
marciomoretto /
Projeto didático para simular um jogo de cartas em C, criado para alunos de Introdução à Programação.
MUN1Z /
Bot para tibia, criado em c# utilizando as bibliotecas TibiaApi e kedrahcore, e padrão de projeto MVC.
samuelCupertino /
Criado no segundo semestre da faculdade, entre projeto visava ampliar os conceitos de programação aprendidos até a data para concepção de um jogo da velha em Linguagem C. Eu quis ir um pouco além, apresentando propostas, apenas conceituais, de acessibilidade aplicada ao jogo. Obs: O programa se encontra com seu código original, não foi realizado refatoração. Sendo seu código-fonte datado de 17/06/2019, período onde estava aprendendo programação com C, no segundo semestre da faculdade.
POO-I-Turma-853-Grupo-04 /
Repositório criado para o Projeto final de POO I - Programação Orientada a Objetos I | C# - Grupo 04 - Turma 853 Web Full Stack da Let's Code.
TheeDouglasAM3 /
MyHackerRankSolutions é um projeto pessoal criado para reforçar e desafiar os meus conhecimentos na linguagem C#.
Lorenaasilva-zz /
Projeto para cálculo de dedução de imposto de renda criado em C#.