Exemple #1
0
        public async Task UpdateVehicle()
        {
            //Arrange

            var BDName  = Guid.NewGuid().ToString();
            var context = BuildContext(BDName);

            var fakevehicle = new Vehiculo()
            {
                Placa            = "ABC123",
                Color            = "Azul",
                FechaFabricacion = "14/2020",
                ConductorId      = 1,
                CategoriaId      = 1,
                ModeloId         = 1,
            };

            context.Vehiculos.Add(fakevehicle);
            await context.SaveChangesAsync();

            var context2 = BuildContext(BDName);

            //Act
            var controller = new VehiculoesController(context2);

            var fakevehicleUPT = new UpdateVehiculoViewModel()
            {
                VehiculoId       = 1,
                Placa            = "XYZ522",
                Color            = "Rojo",
                FechaFabricacion = "14/2020",
                ConductorId      = 1,
                CategoriaId      = 1,
                ModeloId         = 1,
            };

            var response = await controller.Update(fakevehicleUPT);

            var update = response as StatusCodeResult;

            //Assert
            Assert.AreEqual(200, update.StatusCode);

            var context3 = BuildContext(BDName);
            var exist    = await context3.Vehiculos.FindAsync(1);

            Assert.IsNotNull(exist);
        }
Exemple #2
0
        public async Task <IActionResult> Update([FromBody] UpdateVehiculoViewModel model)
        {
            if (!ModelState.IsValid)//validando
            {
                return(BadRequest(ModelState));
            }
            if (model.VehiculoId <= 0)//validando que el Vehiculoid llegue por parametro en positivo
            {
                return(BadRequest());
            }

            //como todo es asincrono se le pone le await
            var cat = await _context.Vehiculos.FirstOrDefaultAsync(c => c.VehiculoId == model.VehiculoId);//si encuentra coincidencia lo asigna al cat(encuentra un objeto)

            if (cat == null)
            {
                return(NotFound());
            }
            //el Vehiculoid ya esta por defecto
            cat.Placa            = model.Placa;
            cat.Color            = model.Color;
            cat.FechaFabricacion = model.FechaFabricacion;
            cat.ModeloId         = model.ModeloId;
            cat.CategoriaId      = model.CategoriaId;
            cat.ConductorId      = model.ConductorId;

            try
            {
                //palabra reservada
                await _context.SaveChangesAsync();//guardando cambios hacia la bd, siempre se utiliza el try-catch
            }
            catch (Exception)
            {
                return(BadRequest());
            }

            return(Ok());
        }