public IActionResult Put(int id, [FromBody] InteressadoDTO interessado) { if (id != interessado.Id) { return(new BadRequestResult()); } if (ModelState.IsValid) { Interessado i = _context.Interessado.Single(q => q.CodInteressado == id); i.Nome = interessado.Nome; i.Celular = interessado.Celular; i.Telefone = interessado.Telefone; i.Email = interessado.Email; try { _context.SaveChanges(); } catch { ModelState.AddModelError("Email", "Este email já está cadastrado"); return(new BadRequestObjectResult(ModelState)); } return(new ObjectResult(interessado)); } else { return(new BadRequestObjectResult(ModelState)); } }
public void RetornaMaiorValorDadoLeilaoComPeloMenosUmValor( double valorEsperado, double[] valores) { //Arrange var modalidade = new MaiorValor(); var leilao = new Leilao(peca: "Tv Samsung", modalidade); leilao.Iniciar(); var beatriz = new Interessado("Beatriz", leilao); var mario = new Interessado("Mario", leilao); for (int contador = 0; contador < valores.Length; contador++) { if ((contador % 2) == 0) { leilao.RecebeLance(beatriz, valores[contador]); } else { leilao.RecebeLance(mario, valores[contador]); } } //Act leilao.Finalizar(); //Assert Assert.Equal(valorEsperado, leilao.Ganhador.Valor); }
private IEnumerable <Processo> ProcessosComInteressados() { var p1 = new Processo { Sigla = "PDS", Numero = 16, Ano = 1984 }; var p2 = new Processo { Sigla = "PLS", Numero = 193, Ano = 2013 }; var p3 = new Processo { Sigla = "PLC", Numero = 70, Ano = 2013 }; var p4 = new Processo { Sigla = "PLS", Numero = 16, Ano = 2014 }; var p5 = new Processo { Sigla = "PLS", Numero = 5, Ano = 2015 }; var int1 = new Interessado { Nome = "Fulano", Email = "*****@*****.**" }; var int2 = new Interessado { Nome = "Beltrano", Email = "*****@*****.**" }; //quero que int1 esteja interessado nos processos p1, p3, p5: int1.RegistraInteresse(p1, p3, p5); int2.RegistraInteresse(p2, p4); return(new List <Processo> { p1, p2, p3, p4, p5 }); }
public IActionResult Post([FromBody] InteressadoDTO i) { if (ModelState.IsValid) { Interessado novo = new Interessado() { Nome = i.Nome, Celular = i.Celular, Email = i.Email, Telefone = i.Telefone }; _context.Interessado.Add(novo); try { _context.SaveChanges(); i.Id = novo.CodInteressado; return(new ObjectResult(i)); } catch { ModelState.AddModelError("Email", "Este email já está cadastrado"); return(new BadRequestObjectResult(ModelState)); } } return(new BadRequestObjectResult(ModelState)); }
public IActionResult Get(int id) { Interessado q = _context.Interessado.SingleOrDefault(i => i.CodInteressado == id); if (q == null) { return(new NotFoundResult()); } InteressadoDTO dto = new InteressadoDTO { Id = q.CodInteressado, Celular = q.Celular, Email = q.Email, Nome = q.Nome, Telefone = q.Telefone/*, * Eventos = q.Eventos.OrderByDescending(e => e.DataInicio) * .Select(e => new EventoDTO * { * id = e.CodEvento, * descricao = e.Descricao, * title = e.Titulo, * start = e.DataInicio, * end = e.DataFim, * valorDeEntrada = e.ValorDeEntrada, * valorArrecadado = e.ValorArrecadado * }).ToList()*/ }; return(new ObjectResult(dto)); }
public ActionResult AcompanharProcesso(int processoId, string nome, string email) { using (var contexto = new ProcessoContext()) { //verificar se o interesse já foi registrado var processo = contexto.Processos .Where(p => p.Id == processoId) .Include(p => p.Interesses) .ThenInclude(i => i.Interessado) .Single(); if (processo.Interesses.Where(i => i.Interessado.Email == email).Count() > 0) { ViewBag.MensagemDeAcompanhamentoJaRealizado = "Você já está acompanhando esse processo."; var model = new HomeViewModel(processoId); return(View("Index", model)); } var interessado = contexto .Interessados .Where(i => i.Email == email) .FirstOrDefault(); if (interessado == null) { interessado = new Interessado { Nome = nome, Email = email }; } interessado.RegistraInteresse(processo); contexto.SaveChanges(); return(RedirectToAction("Index")); } }
public void NaoAceitaProximoLanceDadoLeilaoFinalizado() { //Arrange var modalidade = new MaiorValor(); var leilao = new Leilao(peca: "Notebook HP", modalidade); var vinicius = new Interessado("Vinicius", leilao); var pamela = new Interessado("Pamela", leilao); leilao.Iniciar(); leilao.RecebeLance(vinicius, 500); leilao.RecebeLance(pamela, 600); leilao.Finalizar(); //Act leilao.RecebeLance(vinicius, 700); //Assert var qtdLancesObtido = leilao.Lances.Count(); var qtdLancesEsperados = 2; Assert.Equal(qtdLancesEsperados, qtdLancesObtido); }
static void AvaliaLeilaoComTresLances() { Console.WriteLine(nameof(AvaliaLeilaoComTresLances)); //leilão é criado com peça vinculada var leilao = new Alura.Leilao.Core.Leilao("Obra de Rembrant"); //aparecem interessados no leilão... var joao = new Interessado("João de Miranda", leilao); var pedro = new Interessado("Pedro Silveira", leilao); var malu = new Interessado("Malu Pereira", leilao); //leilão começa e os interessados dão lances... pedro.Oferece(1300); malu.Oferece(1350); joao.Oferece(1200); //leilão termina... var resultado = leilao.Termina(); //...e conhecemos seu ganhador! Verifica(1350, resultado.MelhorLance.Valor); //Verifica(malu.Nome, leilao.MelhorLance.Cliente.Nome); Console.WriteLine(""); }
public void RetornaValorSuperiorMaisProximoDadoLeilaoNessaModalidade( double valorDestino, double valorEsperado, double[] ofertas) { //Arrange var modalidade = new OfertaSuperiorMaisProxima(valorDestino); var leilao = new Leilao("Cama Box com Colchão", modalidade); leilao.Iniciar(); var marina = new Interessado("Marina", leilao); var maria = new Interessado("Maria", leilao); for (int contador = 0; contador < ofertas.Length; contador++) { if ((contador % 2) == 0) { leilao.RecebeLance(marina, ofertas[contador]); } else { leilao.RecebeLance(maria, ofertas[contador]); } } //Act leilao.Finalizar(); //Assert Assert.Equal(valorEsperado, leilao.Ganhador.Valor); }
public ActionResult DeleteConfirmed(int id) { Interessado interessado = db.Interessado.Find(id); db.Interessado.Remove(interessado); db.SaveChanges(); return(RedirectToAction("Index")); }
public void AntesDeInvocadoNaoPermiteLances() { var leilao = new Core.Leilao("Peça qualquer"); var joao = new Interessado("Fulano de tal", leilao); leilao.RecebeOferta(new Lance(joao, 901)); leilao.RecebeOferta(new Lance(joao, 1349)); Assert.Equal(0, leilao.Lances.Count); }
public void NaoPermiteLancesConsecutivosDoMesmoCliente() { var leilao = new Core.Leilao("Peça qualquer"); var joao = new Interessado("João", leilao); leilao.Inicia(); leilao.RecebeOferta(new Lance(joao, 180)); leilao.RecebeOferta(new Lance(joao, 200)); Assert.Equal(1, leilao.Lances.Count); Assert.Equal(180, leilao.Lances[0].Valor); }
public void DepoisDeInvocadoAceitaLances() { var leilao = new Core.Leilao("Peça qualquer"); var joao = new Interessado("Fulano de tal", leilao); var maria = new Interessado("Maria", leilao); leilao.Inicia(); leilao.RecebeOferta(new Lance(joao, 901)); leilao.RecebeOferta(new Lance(maria, 1349)); Assert.Equal(2, leilao.Lances.Count); }
public ActionResult Edit([Bind(Include = "InteressadoId,Nome,Telefone,Email,DataCadastro,DataAgendamento,DataVisita,Status,EnderecoId")] Interessado interessado) { if (ModelState.IsValid) { db.Entry(interessado).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EnderecoId = new SelectList(db.Endereco, "EnderecoId", "Descricao", interessado.EnderecoId); return(View(interessado)); }
// GET: Interessado/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Interessado interessado = db.Interessado.Find(id); if (interessado == null) { return(HttpNotFound()); } return(View(interessado)); }
// GET: Interessado/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Interessado interessado = db.Interessado.Find(id); if (interessado == null) { return(HttpNotFound()); } ViewBag.EnderecoId = new SelectList(db.Endereco, "EnderecoId", "Descricao", interessado.EnderecoId); return(View(interessado)); }
public IActionResult Delete(int id) { Interessado interessado = _context.Interessado.Single(q => q.CodInteressado == id); _context.Interessado.Remove(interessado); try { _context.SaveChanges(); return(new NoContentResult()); } catch { return(new BadRequestResult()); } }
static void Main() { var leilao = new Alura.Leilao.Core.Leilao("Obra de Rembrant"); var joao = new Interessado("João de Miranda", leilao); var pedro = new Interessado("Pedro Silveira", leilao); var malu = new Interessado("Malu Pereira", leilao); pedro.Oferece(1300); malu.Oferece(1350); joao.Oferece(1200); var resultado = leilao.Termina(); Console.WriteLine(resultado.MelhorLance.Valor); }
static void AvaliaLeilaoComLancesDoMesmoCliente() { Console.WriteLine(nameof(AvaliaLeilaoComLancesDoMesmoCliente)); var leilao = new Alura.Leilao.Core.Leilao("Obra de Dalí"); var joao = new Interessado("João de Miranda", leilao); joao.Oferece(900); joao.Oferece(1200); joao.Oferece(1300); joao.Oferece(1350); var resultado = leilao.Termina(); Verifica(1350, resultado.MelhorLance.Valor); Console.WriteLine(""); }
public void NaoPermiteLancesMenoresDoMesmoCliente() { var leilao = new Core.Leilao("Peça qualquer"); var joao = new Interessado("João", leilao); var maria = new Interessado("Maria", leilao); leilao.Inicia(); leilao.RecebeOferta(new Lance(joao, 180)); leilao.RecebeOferta(new Lance(maria, 200)); leilao.RecebeOferta(new Lance(joao, 170)); Assert.Equal(2, leilao.Lances.Count); var valorLanceJoao = leilao.Lances .Where(l => l.Cliente == joao) .Select(l => l.Valor) .First(); Assert.Equal(180, valorLanceJoao); }
public void RetornaOfertaSuperiorMaisProxima( double valorEsperado, double valorDestino, double[] ofertas) { var leilao = new Core.Leilao("Peça qualquer", new OfertaSuperiorMaisProxima(valorDestino)); leilao.Inicia(); foreach (var oferta in ofertas) { var interessado = new Interessado("Fulano", leilao); var lance = new Lance(interessado, oferta); leilao.RecebeOferta(lance); } var resultado = leilao.Termina(); Assert.Equal(valorEsperado, resultado.MelhorLance.Valor); }
public void LeilaoComApenasUmLance() { //Arranje - cenário || Given var leilao = new Leilao("Van Gogh"); var fulano = new Interessado("Fulano", leilao); var maria = new Interessado("Maria", leilao); leilao.RecebeLance(fulano, 800); //Act - método sob teste || When leilao.TerminaPregao(); //Assert || Then var valorEsperado = 800; var valorObtido = leilao.Ganhador.Valor; //Verifica(valorEsperado, valorObtido); Assert.Equal(valorEsperado, valorObtido); }
public void NaoAceitaProximoLanceDadoMesmoClienteUltimoLance() { //Arrange var modalidade = new MaiorValor(); var leilao = new Leilao("Geladeira", modalidade); var vinicius = new Interessado("Vinicius", leilao); leilao.Iniciar(); leilao.RecebeLance(vinicius, 800); //Act leilao.RecebeLance(vinicius, 900); //Assert double qtdLancesEsperado = 1; double qtdLancesObtido = leilao.Lances.Count(); Assert.Equal(qtdLancesEsperado, qtdLancesObtido); }
/// <summary> /// Apenas para testes /// </summary> private static void CadastrarInteressados() { using (var contexto = new ProcessoContext()) { var serviceProvider = contexto.GetInfrastructure <IServiceProvider>(); var loggerFactory = serviceProvider.GetService <ILoggerFactory>(); loggerFactory.AddProvider(new MyFilteredLoggerProvider()); var processosMonitorados = contexto.Processos; var daniel = new Interessado() { Nome = "Daniel Portugal", Email = "*****@*****.**" }; var marcia = new Interessado() { Nome = "Marcia Garcia", Email = "*****@*****.**" }; daniel.RegistraInteresse(processosMonitorados); marcia.RegistraInteresse(processosMonitorados); contexto.SaveChanges(); } }
public Lance(Interessado cliente, double valor) { Cliente = cliente; Valor = valor; }
public Produto(Interessado interessado) { _interessado = interessado; }
public IActionResult Put(int id, [FromBody] EventoDTO evento) { if (id != evento.id) { return(new BadRequestResult()); } if (ModelState.IsValid) { Evento e = _context.Evento .Include(q => q.Interessados) .ThenInclude(q => q.Interessado) .Include(q => q.Voluntarios) .Include(q => q.Favorecidos) .Include(q => q.Doadores) .Single(q => q.CodEvento == id); e.Titulo = evento.title; e.Descricao = evento.descricao; e.Cor = evento.color; e.CorDaFonte = evento.textColor; e.DataInicio = evento.start; e.DataFim = evento.end; e.ValorArrecadado = evento.valorArrecadado; e.Relato = evento.relato; //interessados if (evento.interessados == null) { evento.interessados = new List <InteressadoDTOR>(); } //verifica quem está presente e quem saiu List <InteressadoEvento> corretos = new List <InteressadoEvento>(); foreach (var inter in evento.interessados) { var eventoInteressado = e.Interessados.SingleOrDefault(q => q.CodInteressado == inter.Id); if (eventoInteressado == null) { Interessado interessado = _context.Interessado.Single(q => q.CodInteressado == inter.Id); eventoInteressado = new InteressadoEvento { CodEvento = e.CodEvento, CodInteressado = interessado.CodInteressado }; //,Evento =e,Interessado=interessado }; _context.InteressadoEvento.Add(eventoInteressado); corretos.Add(eventoInteressado); e.Interessados.Add(eventoInteressado); } corretos.Add(eventoInteressado); } //remove incorretos var incorretos = e.Interessados.Except(corretos); foreach (var incorreto in incorretos.ToArray()) { e.Interessados.Remove(incorreto); } if (evento.voluntarios == null) { evento.voluntarios = new List <VoluntarioDTOR>(); } //verifica quem está presente e quem saiu List <VoluntarioEvento> voluntariosCorretos = new List <VoluntarioEvento>(); foreach (var volunt in evento.voluntarios) { var eventoVoluntario = e.Voluntarios.SingleOrDefault(q => q.IdVoluntario == volunt.Id); if (eventoVoluntario == null) { eventoVoluntario = new VoluntarioEvento { CodEvento = e.CodEvento, IdVoluntario = volunt.Id }; _context.VoluntarioEvento.Add(eventoVoluntario); voluntariosCorretos.Add(eventoVoluntario); e.Voluntarios.Add(eventoVoluntario); } voluntariosCorretos.Add(eventoVoluntario); } //remove incorretos var voluntariosIncorretos = e.Voluntarios.Except(voluntariosCorretos); foreach (var incorreto in voluntariosIncorretos.ToArray()) { e.Voluntarios.Remove(incorreto); } //favorecidos if (evento.favorecidos == null) { evento.favorecidos = new List <FavorecidoDTOR>(); } //verifica quem está presente e quem saiu List <FavorecidoEvento> favorecidosCorretos = new List <FavorecidoEvento>(); foreach (var favorecido in evento.favorecidos) { var eventoFavorecido = e.Favorecidos.SingleOrDefault(q => q.CodFavorecido == favorecido.Id); if (eventoFavorecido == null) { eventoFavorecido = new FavorecidoEvento { CodEvento = e.CodEvento, CodFavorecido = favorecido.Id, Evento = e }; _context.FavorecidoEvento.Add(eventoFavorecido); favorecidosCorretos.Add(eventoFavorecido); e.Favorecidos.Add(eventoFavorecido); } favorecidosCorretos.Add(eventoFavorecido); } //remove incorretos var favorecidosIncorretos = e.Favorecidos.Except(favorecidosCorretos); foreach (var incorreto in favorecidosIncorretos.ToArray()) { e.Favorecidos.Remove(incorreto); } //doadores if (evento.doadoresPf == null) { evento.doadoresPf = new List <DoadorDTOR>(); } if (evento.doadoresPj == null) { evento.doadoresPj = new List <DoadorDTOR>(); } List <DoadorDTOR> doadores = evento.doadoresPf.Concat(evento.doadoresPj).ToList(); //verifica quem está presente e quem saiu List <DoadorEvento> doadoresCorretos = new List <DoadorEvento>(); foreach (var doador in doadores) { var eventoDoador = e.Doadores.SingleOrDefault(q => q.CodDoador == doador.Id); if (eventoDoador == null) { eventoDoador = new DoadorEvento { CodEvento = e.CodEvento, CodDoador = doador.Id }; _context.DoadorEvento.Add(eventoDoador); doadoresCorretos.Add(eventoDoador); e.Doadores.Add(eventoDoador); } doadoresCorretos.Add(eventoDoador); } //remove incorretos var DoadoresIncorretos = e.Doadores.Except(doadoresCorretos); foreach (var incorreto in DoadoresIncorretos.ToArray()) { e.Doadores.Remove(incorreto); } _context.SaveChanges(); return(new ObjectResult(evento)); } else { return(new BadRequestObjectResult(ModelState)); } }
public Produto(Interessado interessado) { _interessado = interessado; }