public async Task <IActionResult> Edit(int id, SetRoomDto setRoomDto) { try { if (!ModelState.IsValid) { var buildings = await _buildingService.ListBuildingsAsync(); var model = new SetRoomDto(); model.Buildings = buildings; var room = await _roomService.GetRoomAsync(id); ViewBag.Room = room; return(View(model)); } await _roomService.UpdateRoomAsync(id, setRoomDto); return(RedirectToAction("show", "room", new { id = id })); } catch (Exception e) { if (e is FormatException || e is NullReferenceException || e is KeyNotFoundException) { Console.WriteLine(e.Message); return(NotFound()); } throw; } }
public Room SetRoomDtoToRoom(SetRoomDto setRoomDto) { if (setRoomDto.Photo != null) { string uploadPath = Path.Combine(_hostingEnvironment.WebRootPath, "images"); fileName = $"{Guid.NewGuid()}_{setRoomDto.Photo.FileName}"; string filePath = Path.Combine(uploadPath, fileName); setRoomDto.Photo.CopyTo(new FileStream(filePath, FileMode.Create)); } return(new Room { Number = setRoomDto.Number, Standard = setRoomDto.Standard, Floor = setRoomDto.Floor, PricePerDay = setRoomDto.PricePerDay, BuildingId = setRoomDto.BuildingId, IsAvailable = setRoomDto.IsAvailable, IsDamaged = setRoomDto.IsDamaged, IsClean = setRoomDto.IsClean, IsRent = setRoomDto.IsRent, PhotoPath = fileName }); }
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; } }
public async Task <int> UpdateRoomAsync(int id, SetRoomDto setRoomDto) { return(await _repository.UpdateAsync(id, _converter.SetRoomDtoToRoom(setRoomDto))); }