Ejemplo n.º 1
0
        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()
     });
 }
Ejemplo n.º 3
0
        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"));
        }