예제 #1
0
        public IEnumerable <Employee> Choose(Choosen choosen)
        {
            var date     = choosen.Date;
            var time     = choosen.Time;
            var location = choosen.LocationId;

            var employees = Repo.GetAvailableEmployees(date, time, location);

            return(employees);
        }
        public async Task <ActionResult> Choosen(IFormCollection viewCollection)
        {
            //receive selected options from view, selected location, time and date
            int      location = int.Parse(viewCollection["selectedLocation"]);
            bool     time     = bool.Parse(viewCollection["selectedTime"]);
            DateTime date     = DateTime.Parse(viewCollection["selectedDate"]);

            Choosen choosen = new Choosen
            {
                LocationId = location,
                Time       = time,
                Date       = date
            };


            HttpRequestMessage apiRequest = CreateRequestToService(HttpMethod.Post, "api/Order/Choose", choosen);

            HttpResponseMessage apiResponse;

            try
            {
                apiResponse = await HttpClient.SendAsync(apiRequest);

                if (!apiResponse.IsSuccessStatusCode)
                {
                    return(View("AccessDenied"));
                }

                string jsonString = await apiResponse.Content.ReadAsStringAsync();

                IEnumerable <Employee> employees = JsonConvert.DeserializeObject <IEnumerable <Employee> >(jsonString);

                if (employees == null)
                {
                    return(View("NoEmployees"));
                }
                else
                {
                    return(View(employees)); //send available employees to view
                }
            }
            catch (AggregateException ex)
            {
                return(View("Error"));
            }
        }