Exemple #1
0
        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
     });
 }
Exemple #3
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;
            }
        }
Exemple #4
0
 public async Task <int> UpdateRoomAsync(int id, SetRoomDto setRoomDto)
 {
     return(await _repository.UpdateAsync(id, _converter.SetRoomDtoToRoom(setRoomDto)));
 }