Example #1
0
        public GeneralResponseViewModel Get([FromForm] FileRequestViewModel requestBody)
        {
            var response = new GeneralResponseViewModel();

            try
            {
                if (requestBody.File.Length > 0)
                {
                    string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files");

                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }

                    using FileStream stream = new FileStream(Path.Combine(path, requestBody.File.FileName), FileMode.Create);
                    requestBody.File.CopyTo(stream);
                }

                response.Message = "Task 3 Api";
            }
            catch (Exception e)
            {
                response.Message = e.Message;
            }

            return(response);
        }
Example #2
0
        public Task3ResponseViewModel Get([FromForm] FileRequestViewModel request, string hotelID, string arrivalDate)
        {
            var response = new Task3ResponseViewModel();

            try
            {
                if (request.File == null || request.File.Length == 0)
                {
                    response.Message = "JsonFile is required.";
                    return(response);
                }

                if (hotelID == null || hotelID.Trim().Equals("") || !int.TryParse(hotelID, out int numericValue))
                {
                    response.Message = "HotelID is a numeric required.";
                    return(response);
                }

                if (arrivalDate == null || arrivalDate.Trim().Equals("") || !DateTime.TryParse(arrivalDate, out _))
                {
                    response.Message = "ArrivalDate is date formet (yyyy-mm-dd) required.";
                    return(response);
                }

                string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files");

                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                using var reader = new StreamReader(request.File.OpenReadStream());
                var fileContent = reader.ReadToEnd();

                var requestJson = JsonSerializer.Deserialize <List <HotelRatesViewModel> >(fileContent, _serializeOptions);
                response.FilterList = requestJson.FindAll(h => h.Hotel.HotelID == int.Parse(hotelID));
                foreach (HotelRatesViewModel hotel in response.FilterList)
                {
                    hotel.HotelRates = hotel.HotelRates.Where(s => DateTime.Parse(s.TargetDay).Date == DateTime.Parse(arrivalDate).Date);
                }

                response.Message = "Success!";
            }
            catch (Exception e)
            {
                response.Message = e.Message;
            }

            return(response);
        }
Example #3
0
        public ActionResult FileRequests()
        {
            var viewModel = new FileRequestViewModel();

            return(View(viewModel));
        }