Ejemplo n.º 1
0
        private async Task ValidateUpdate(VehicleUpdateModel model, Guid userID)
        {
            if (model == null)
            {
                throw new CustomExceptions("Objeto não identificado");
            }

            await ValidatePlate(model.Plate, userID);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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));
            }
        }
Ejemplo n.º 4
0
        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 }));
            }
        }