public async Task <IActionResult> List()
        {
            var minuteServices = await _minuteServiceService.ListMinuteServicesAsync();

            ViewBag.MinuteServices = minuteServices;

            return(View());
        }
Beispiel #2
0
        public async Task <IActionResult> Edit(int id)
        {
            try
            {
                var services = await _serviceService.ListServiceAsync();

                var minuteServices = await _minuteServiceService.ListMinuteServicesAsync();

                var assignedServicesIds =
                    (await _roomService.ListAssignedServicesAsync(id))
                    .Select(s => s.Id)
                    .ToArray();
                var assignedMinuteServicesids =
                    (await _roomService.ListAssignedMinuteServicesAsync(id))
                    .Select(s => s.Id)
                    .ToArray();

                var serviceSelect       = new MultiSelectList(services, "Id", "Name");
                var minuteServiceSelect = new MultiSelectList(minuteServices, "Id", "Name");

                foreach (var option in serviceSelect)
                {
                    int?selectedOptionId = assignedServicesIds.FirstOrDefault(asi => asi.ToString() == option.Value);
                    if (selectedOptionId != 0)
                    {
                        option.Selected = true;
                    }
                }
                foreach (var option in minuteServiceSelect)
                {
                    int?selectedOptionId = assignedMinuteServicesids.FirstOrDefault(asi => asi.ToString() == option.Value);
                    if (selectedOptionId != 0)
                    {
                        option.Selected = true;
                    }
                }

                ViewBag.Services       = serviceSelect;
                ViewBag.MinuteServices = minuteServiceSelect;


                var buildings = await _buildingService.ListBuildingsAsync();

                var model = new SetRoomDto();
                model.Buildings = buildings;

                var room = await _roomService.GetRoomAsync(id);

                ViewBag.Room = room;
                return(View(model));
            }
            catch (Exception e)
            {
                if (e is FormatException ||
                    e is NullReferenceException ||
                    e is KeyNotFoundException)
                {
                    Console.WriteLine(e.Message);
                    return(NotFound());
                }
                throw;
            }
        }