public async Task <ActionResult <CasoCovid> > PostCasoCovid(CasoCovid casoCovid) { casoCovid.CasoCovidId = null; _context.CasosCovid.Add(casoCovid); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCasoCovid", new { id = casoCovid.CasoCovidId }, casoCovid)); }
public async Task <long> Insert(CasoCovid nuevoCaso) { await this.context.CasosCovid.AddAsync(nuevoCaso); await this.context.GuardarCambios(); return(nuevoCaso.Id); }
public void Init() { _bancoCasos = new List <CasoCovid>(); _bancoCasos.Add(new CasoCovid() { Id = "def", Pais = "EUA", Confirmados = 25, Mortes = 10, Recuperados = 5, Ativos = 5, Data = DateTime.Parse("2021-02-26"), }); _bancoCasos.Add(new CasoCovid() { Id = "xyz", Pais = "Angola", Confirmados = 50, Mortes = 25, Recuperados = 10, Ativos = 12, Data = DateTime.Parse("2021-02-27"), }); var casoCovidRepositoryMock = new Mock <ICasoCovidRepository>(); _casoCovidRepository = casoCovidRepositoryMock.Object; casoCovidRepositoryMock.Setup(x => x.Salvar(It.IsAny <CasoCovid>())).Returns( (CasoCovid caso) => { CasoCovid casoExistente = null; if ((casoExistente = _bancoCasos.FirstOrDefault(x => x.Id == caso.Id)) == null) { _bancoCasos.Add(caso); } else { CopiadorPropriedade.Copiar <CasoCovid, CasoCovid>(casoExistente, caso); } return(caso); } ); casoCovidRepositoryMock.Setup(x => x.ObterPorIntervalo(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns( (DateTime inicio, DateTime fim) => { return(_bancoCasos.Where(x => x.Data >= inicio && x.Data <= fim).ToList()); } ); }
public async Task <IActionResult> NuevoCaso([FromBody] CasoCovid casoCovid) { if (ModelState.IsValid) { this._context.Add(casoCovid); await this._context.SaveChangesAsync(); return(new CreatedAtRouteResult("Nuevo caso registrado", new { id = casoCovid.CasoCovidId }, casoCovid)); } else { return(BadRequest("Ocurrio un error con el servidor.")); } }
public CasoCovid Salvar(CasoCovid caso) { if (_banco.CasosCovid.AsNoTracking().FirstOrDefault(x => x.Id == caso.Id) != null) { _banco.Update(caso); } else { _banco.Add(caso); } _banco.SaveChanges(); return(caso); }
public void DeveAtualizarUmCasoExistente() { var casoCovidService = new CasoCovidService(_casoCovidRepository, new CovidAPIService()); var caso = new CasoCovid() { Id = "xyz", Pais = "Africa do Sul", Confirmados = 10, Mortes = 5, Recuperados = 2, Ativos = 5, Data = DateTime.Now, }; casoCovidService.Salvar(caso); Assert.AreEqual("Africa do Sul", _bancoCasos.FirstOrDefault(x => x.Id == "xyz").Pais); }
public void DeveInserirUmNovoCaso() { var casoCovidService = new CasoCovidService(_casoCovidRepository, new CovidAPIService()); var caso = new CasoCovid() { Id = "abc123", Pais = "Brazil", Confirmados = 10, Mortes = 5, Recuperados = 2, Ativos = 5, Data = DateTime.Now, }; casoCovidService.Salvar(caso); Assert.IsTrue(_bancoCasos.Any(x => x.Id == caso.Id)); }
public async Task <ActionResult <long> > InsertCaso(CasoCovid datos) { if (datos.Sexo.Equals("M", StringComparison.InvariantCultureIgnoreCase) || datos.Sexo.Equals("F", StringComparison.InvariantCultureIgnoreCase)) { datos.Sexo = datos.Sexo.ToUpper(); } else { throw new ValidationException($"'{datos.Sexo}' no es un valor valido para sexo"); } if (datos.Edad < 0 || datos.Edad > 120) { throw new ValidationException($"'{datos.Edad}' no es una edad valida"); } return(await this.casosCovidService.Insert(datos)); }
public async Task Insert_EdadInvalida(int edad) { var newCaso = new CasoCovid { Edad = edad, Sexo = "M", FechaRegistro = DateTime.Now, Localizacion = new Localizacion { Pais = "Guatemala", Departamento = "Guatemala", Municipio = "Guatemala" } }; casosCovidServiceMock.Setup(s => s.Insert(newCaso)) .ReturnsAsync(1); await Assert.ThrowsAsync <ValidationException>(() => this.controller.InsertCaso(newCaso)); }
public async Task Insert_Ok() { long nextId = 1; var newCaso = new CasoCovid { Edad = 23, Sexo = "M", FechaRegistro = DateTime.Now, Localizacion = new Localizacion { Pais = "Guatemala", Departamento = "Guatemala", Municipio = "Guatemala" } }; casosCovidServiceMock.Setup(s => s.Insert(newCaso)) .ReturnsAsync(nextId); long idNewCaso = (await controller.InsertCaso(newCaso)).Value; Assert.Equal(nextId, idNewCaso); }
public CasoCovid Salvar(CasoCovid caso) { return(_casoRepository.Salvar(caso)); }