예제 #1
0
        public async Task <IActionResult> Edit(Vehiculo vehiculo)
        {
            using (var client = new HttpClient())
            {
                //Passing service base url
                client.BaseAddress = new Uri(BASE_URL);

                //Define request data format
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.Timeout = TimeSpan.FromSeconds(60);

                //Sending request to find web api REST service resource GetAll using HttpClient
                var vehiculoRequest = new VehiculoRequest {
                    IdVehiculo = vehiculo.IdVehiculo, NumeroOrden = vehiculo.NumeroOrden, Placa = vehiculo.Placa
                };
                HttpResponseMessage response = await client.PutAsJsonAsync($"api/v1/vehiculo", vehiculoRequest);

                //Checking the response is successful or not which is sent using HttpClient
                if (response.IsSuccessStatusCode)
                {
                    //Storing the response details recieved from web api
                    var stringResponse = response.Content.ReadAsStringAsync().Result;
                    if (stringResponse != string.Empty)
                    {
                        //Deserializing the response recieved from web api and storing into the list
                        vehiculo = JsonConvert.DeserializeObject <Vehiculo>(stringResponse);
                    }
                }
                //returning to list
                return(RedirectToAction("Index"));
                //return View(vehiculo);
            }
        }
        public async void Delete_Should_Remove_Item(Vehiculo vehiculo1, Vehiculo vehiculo2)
        {
            stringLocalizer.SetupGet(m => m["Deleted"]).Returns(new LocalizedString("Deleted", "Record deleted"));

            vehiculo1.Should().NotBeNull();
            vehiculo2.Should().NotBeNull();

            var vehiculoRequest1 = new VehiculoRequest {
                IdVehiculo = 1, Placa = vehiculo1.Placa, NumeroOrden = vehiculo1.NumeroOrden
            };
            var vehiculoRequest2 = new VehiculoRequest {
                IdVehiculo = 2, Placa = vehiculo2.Placa, NumeroOrden = vehiculo2.NumeroOrden
            };

            vehiculoBusiness.Setup(m => m.DeleteAsync(vehiculoRequest1.IdVehiculo)).ReturnsAsync(1);
            vehiculoBusiness.Setup(m => m.DeleteAsync(vehiculoRequest2.IdVehiculo)).ReturnsAsync(1);

            var controller        = new VehiculoController(vehiculoBusiness.Object, emailService.Object, stringLocalizer.Object, logger.Object);
            var vehiculoResponse1 = await controller.Delete(vehiculoRequest1);

            var vehiculoResponse2 = await controller.Delete(vehiculoRequest2);

            vehiculoResponse1.Should().NotBeNull();
            vehiculoResponse2.Should().NotBeNull();

            vehiculoResponse1.Message.Should().Be("Record deleted");
            vehiculoResponse2.Message.Should().Be("Record deleted");
        }
        public async void Post_Should_Add_Item(Vehiculo vehiculo1, Vehiculo vehiculo2)
        {
            stringLocalizer.SetupGet(m => m["Created"]).Returns(new LocalizedString("Created", "Record created"));

            vehiculo1.Should().NotBeNull();
            vehiculo2.Should().NotBeNull();

            var vehiculoRequest1 = new VehiculoRequest {
                Placa = vehiculo1.Placa, NumeroOrden = vehiculo1.NumeroOrden
            };
            var vehiculoRequest2 = new VehiculoRequest {
                Placa = vehiculo2.Placa, NumeroOrden = vehiculo2.NumeroOrden
            };

            vehiculoBusiness.Setup(m => m.AddAsync(vehiculoRequest1)).ReturnsAsync(1);
            vehiculoBusiness.Setup(m => m.AddAsync(vehiculoRequest2)).ReturnsAsync(1);

            var controller        = new VehiculoController(vehiculoBusiness.Object, emailService.Object, stringLocalizer.Object, logger.Object);
            var vehiculoResponse1 = await controller.Post(vehiculoRequest1);

            var vehiculoResponse2 = await controller.Post(vehiculoRequest2);

            vehiculoResponse1.Should().NotBeNull();
            vehiculoResponse2.Should().NotBeNull();

            vehiculoResponse1.Message.Should().Be("Record created");
            vehiculoResponse2.Message.Should().Be("Record created");
        }
예제 #4
0
        public async Task <VehiculoResponse> Post([FromBody] VehiculoRequest vehiculoRequest)
        {
            var  response   = new VehiculoResponse();
            bool modelValid = vehiculoRequest.IdVehiculo == 0 && ModelState.IsValid;

            if (!modelValid)
            {
                response.Message = _stringLocalizer["InvalidRequest"];
                return(response);
            }

            int i = await _vehiculoBusiness.AddAsync(vehiculoRequest);

            if (i > 0)
            {
                response.Message = _stringLocalizer["Created"];

                try
                {
                    _emailService.SendEmail("*****@*****.**",
                                            _stringLocalizer["EmailSubjectVehicleRegistered"],
                                            _stringLocalizer["EmailBodyVehicleDateRegistered", DateTime.Now.ToString("g")]).Wait();
                }
                catch (Exception ex)
                {
                    string url = string.Concat(this.Request.Scheme, "://", this.Request.Host, this.Request.Path, this.Request.QueryString);
                    _logger.LogError(ex, $"Falla al intentar enviar correo de confirmación de registro para {vehiculoRequest.Placa} en {url}");
                }
            }
            return(response);
        }
        public async Task <int> AddAsync(VehiculoRequest vehiculoRequest)
        {
            var vehiculo = new Vehiculo
            {
                NumeroOrden = vehiculoRequest.NumeroOrden,
                Placa       = vehiculoRequest.Placa
            };

            return(await _vehiculoRepo.AddAsync(vehiculo));
        }
        public async Task <int> UpdateAsync(VehiculoRequest vehiculoRequest)
        {
            var vehiculo = new Vehiculo
            {
                IdVehiculo  = vehiculoRequest.IdVehiculo,
                NumeroOrden = vehiculoRequest.NumeroOrden,
                Placa       = vehiculoRequest.Placa
            };

            return(await _vehiculoRepo.UpdateAsync(vehiculo));
        }
예제 #7
0
        public Response <Vehiculo> Add(VehiculoRequest request)
        {
            Vehiculo entity = request.ToEntity();

            base.Add(entity);
            if (entity.Id == 0)
            {
                return(new VehiculoResponse("No se pudo registrar el vehículo"));
            }
            return(new VehiculoResponse("Vehículo registrado", entity));
        }
        public IActionResult Add(VehiculoRequest model)
        {
            Respuesta <object> oRespuesta = new Respuesta <object>();

            try
            {
                using (DBObligacionesVehicularesContext db = new DBObligacionesVehicularesContext())
                {
                    Vehiculo oVehiculo = new Vehiculo();
                    oVehiculo.Patente  = model.Patente;
                    oVehiculo.IdModelo = model.IdModelo;
                    db.Vehiculos.Add(oVehiculo);
                    db.SaveChanges();
                    oRespuesta.Exito = 1;
                }
            }
            catch (Exception ex)
            {
                oRespuesta.Mensaje = ex.Message;
            }

            return(Ok(oRespuesta));
        }
        public IActionResult Edit(VehiculoRequest model)
        {
            Respuesta <object> oRespuesta = new Respuesta <object>();

            try
            {
                using (DBObligacionesVehicularesContext db = new DBObligacionesVehicularesContext())
                {
                    Vehiculo oVehiculo = db.Vehiculos.Find(model.Id);

                    oVehiculo.Patente         = model.Patente;
                    oVehiculo.IdModelo        = model.IdModelo;
                    db.Entry(oVehiculo).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                    db.SaveChanges();
                    oRespuesta.Exito = 1;
                }
            }
            catch (Exception ex)
            {
                oRespuesta.Mensaje = ex.Message;
            }

            return(Ok(oRespuesta));
        }
예제 #10
0
        public async Task <VehiculoResponse> Put([FromBody] VehiculoRequest vehiculoRequest)
        {
            var  response   = new VehiculoResponse();
            bool modelValid = vehiculoRequest?.IdVehiculo > 0 && ModelState.IsValid;

            if (!modelValid)
            {
                response.Message = _stringLocalizer["InvalidRequest"];
                return(response);
            }

            int i = await _vehiculoBusiness.UpdateAsync(vehiculoRequest);

            if (i <= 0)
            {
                response.Message = _stringLocalizer["NotFound"];
            }
            else
            {
                response.Message = _stringLocalizer["Updated"];
            }

            return(response);
        }