public void ProcessUploadedFile(IFormFile file, ValidFileTypes fileType) { if (file == null || file.Length < 0) { throw new FileUploadException("No file found"); } string fileExtention = Path.GetExtension(file.FileName); IValidationStrategy validationStrategy = _validationFactory.Make(fileType); ValidationDTO validationDto = validationStrategy.ValidationStrategy(file); if (!validationDto.ValidMimeTypes.Contains(file.ContentType, StringComparer.OrdinalIgnoreCase)) { throw new FileUploadException("Invalid file type"); } if (!validationDto.ValidExtentions.Contains(fileExtention, StringComparer.OrdinalIgnoreCase)) { throw new FileUploadException("Invalid file type"); } if (file.Length > validationDto.MaxFileSize) { throw new FileUploadException("File size to large"); } }
/// <summary> /// Modify the traveler details /// </summary> /// <param name="traveler">The Traveler</param> /// <returns></returns> public async Task UpdateTravelerAsync(Traveler traveler) { var dto = traveler.ToDTO(); dto.TravelerUserIdentity = GetHardwareId(); var serializedTraveler = JsonSerializerHelper.Serialize(dto); var uri = new Uri(string.Format(Addresses.UpdateTravelerUri, traveler.TravelerId)); var response = await PutAsync(uri, serializedTraveler); if (!response.Success) { ValidationDTO validations = JsonSerializerHelper.Deserialize <ValidationDTO>(response.Content); throw new ArgumentException(validations.ModelState.First().Value.First()); } }
public async Task <Traveler> CreateTravelerAsync(Traveler traveler) { var dto = traveler.ToDTO(); dto.TravelerUserIdentity = GetHardwareId(); var json = JsonSerializerHelper.Serialize(dto); var uri = new Uri(Addresses.CreateTravelerUri); var response = await PostAsync(uri, json); if (!response.Success) { ValidationDTO validations = JsonSerializerHelper.Deserialize <ValidationDTO>(response.Content); throw new ArgumentException(validations.ModelState.First().Value.First()); } return(JsonSerializerHelper.Deserialize <TravelerDTO>(response.Content).ToObject()); }