public async Task <ActionResult> AddOrUpdateDormitory([FromQuery] bool add, [FromQuery] int?dormitoryId) { var dormitoryRooms = await _dormitoryRoomService.GetRoomsWithoutDormitory(); var faculties = await _facultyService.GetAll(); var selectedDormitoryRooms = _dormitoryRoomSelectModelMapper.Map(dormitoryRooms).ToList(); var selectedFaculties = _facultySelectModelMapper.Map(faculties).ToList(); DormitoryPostModel model; if (add) { model = new DormitoryPostModel(); ViewBag.Header = ControllerConstants.AddDormitoryHeader; } else { var group = await _dormitoryService.GetById(dormitoryId.GetValueOrDefault()); model = _dormitoryPostModelMapper.Map(group); foreach (var dormitoryRoom in selectedDormitoryRooms) { if (model.DormitoryRooms.Contains(dormitoryRoom.DormitoryRoomId)) { dormitoryRoom.Checked = true; } } foreach (var faculty in selectedFaculties) { if (model.Faculties.Contains(faculty.Id)) { faculty.Checked = true; } } ViewBag.Header = ControllerConstants.UpdateDormitoryHeader; } ViewBag.Faculties = selectedFaculties; ViewBag.DormitoryRooms = selectedDormitoryRooms; return(View(model)); }
public Dormitory Map(DormitoryPostModel entity) { return(new Dormitory { DormitoryId = entity.DormitoryId, Name = entity.Name, MaxCountOfMembers = entity.MaxCountOfMembers, Address = entity.Address, NumberOfFlors = entity.NumberOfFloors, MainFaculties = entity.Faculties?.Select(f => new Faculty { FacultyId = f }).ToList(), Rooms = entity.DormitoryRooms?.Select(d => new DormitoryRoom { DormitoryId = d }).ToList() }); }
public async Task <IActionResult> AddOrUpdateDormitory( [FromBody] DormitoryPostModel dormitoryPostModel, [FromQuery] bool add = true) { var dormitory = _dormitoryMapper.Map(dormitoryPostModel); if (add) { await _dormitoryService.AddAsync(dormitory); } else { await _dormitoryService.UpdateAsync(dormitory); } await _dormitoryRoomService.SetDormitoryRoomsAsync( dormitory.DormitoryId, dormitoryPostModel.DormitoryRooms.ToList()); return(RedirectToAction("Index")); }