private async Task ValidateUpdate(VehicleUpdateModel model, Guid userID) { if (model == null) { throw new CustomExceptions("Objeto não identificado"); } await ValidatePlate(model.Plate, userID); }
public async Task UpdateAsync(VehicleUpdateModel model, Guid userID) { await ValidateUpdate(model, userID); var vehicle = await _vehicleRepository.FirstOrDefaultAsync(x => x.Plate.Equals(model.Plate)); vehicle.Color = string.IsNullOrEmpty(model.Color) ? vehicle.Color : model.Color; vehicle.Make = string.IsNullOrEmpty(model.Make) ? vehicle.Make : model.Make; vehicle.Model = string.IsNullOrEmpty(model.Model) ? vehicle.Model : model.Model; vehicle.TypeID = model.TypeID ?? vehicle.TypeID; await _vehicleRepository.SaveChangeAsync(); }
public async Task <IActionResult> PutAsync([FromBody] VehicleUpdateModel model) { try { await _vehicleService.UpdateAsync(model, Guid.Parse(User.Identity.Name)); return(Ok()); } catch (CustomExceptions ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <string> UpdateVehicle([FromBody] VehicleUpdateModel vehicleModel) { if (ModelState.IsValid) { var headers = new Dictionary <string, string>(); var tokenGenerated = HttpContext.Session.GetHmacToken(); headers.Add("X-Hmac", tokenGenerated); headers.Add("X-PublicKey", HttpContext.Session.GetUserPublicKey()); string queryStr = _queryCreater.GetQueryStringFromObject(vehicleModel); var response = await HttpClientRequestFactory.Get("http://proxy.mansis.co.za:18443/SlimProxyBoot.php?" + queryStr, headers); var data = response.Content.ReadAsStringAsync().Result; return(data.ToString()); } else { throw new Exception("Model satate is not valid"); } }
public IActionResult VUpdate(int id, [FromForm] VehicleUpdateModel model) { var vehicle = _mapper.Map <Vehicle>(model); vehicle.DriverId = id; if (User.IsInRole(Role.Customer)) { return(Forbid()); } var currentUserId = int.Parse(User.Identity.Name); int currentDriverId; if (!User.IsInRole(Role.Admin)) { currentDriverId = _driverService.FindDriverIdViaUserId(currentUserId); if (id != currentDriverId || currentDriverId != vehicle.DriverId) { return(Forbid()); } } //update image, video var image = model.Image; if (image != null) { if (image.Length > 0) { var supportedTypes = new[] { ".jpg", ".png", ".bmp", ".gif", ".jpeg", "webp" }; var imageExt = Path.GetExtension(image.FileName).ToLower(); if (!supportedTypes.Contains(imageExt)) { throw new AppException("File Extension Is InValid - Only Upload jpg/png/bmp/gif/jpeg/webp File"); } Directory.CreateDirectory("wwwroot/vehicles/images"); string fileName = id + "_vehicleImage" + imageExt; string filePath = Path.Combine("wwwroot/vehicles/images", fileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { image.CopyTo(fileStream); } vehicle.ImagePath = "https://localhost:44360/" + filePath; } } var video = model.Video; if (video != null) { var supportedTypes = new[] { ".mp4", ".wmv", ".webm", ".flv", ".avi" }; var videoExt = Path.GetExtension(video.FileName).ToLower(); if (!supportedTypes.Contains(videoExt)) { throw new AppException("File Extension Is InValid - Only Upload mp4/wmv/webm/flv/avi File"); } Directory.CreateDirectory("wwwroot/vehicles/videos"); string fileName = id + "_vehicleVideo" + videoExt; string filePath = Path.Combine("wwwroot/vehicles/videos", fileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { video.CopyTo(fileStream); } vehicle.VideoPath = "https://localhost:44360/" + filePath; } try { _driverService.VUpdate(vehicle); return(Ok()); } catch (AppException ex) { return(BadRequest(new { message = ex.Message })); } }