public async Task <OperationResult> CreateRoomAsync(CreateRoomVm roomVm) { var rooms = _roomFactory.MapCultureRoomPersistence(roomVm); var roomContents = _roomContentFactory.MapToCultureRoomContent(roomVm.RoomContents, roomVm.Id); var roomActions = _roomActionFactory.MapToCultureRoomAction(roomVm.RoomActions, roomVm.Id); //var roomAggr = _roomFactory.MapRoomCreationAggregate(room); foreach (var roomCulture in rooms) { await _roomExternalRepository.CreateRoomAsync(roomCulture.room, roomCulture.culture); } foreach (var item in roomContents) { await _roomContentExternalRepository.CreateRoomContentsAsync(item.roomContents, item.culture); } foreach (var item in roomActions) { await _roomActionExternalRepository.CreateRoomActionsAsync(item.roomActions, item.culture); } return(new OperationResult()); }
// GET: Rooms/Create public async Task <ActionResult> Create() { var gameCultures = await _gameCultureRepository.GetGameCulturesAsync(); var vm = new CreateRoomVm(gameCultures.cultures); return(View(vm)); }
public ActionResult CreateRoomContent(CreateRoomVm model) { try { model.RoomContents.Add(model.CreateRoomContent); // TODO: Add insert logic here return(PartialView("_RoomContents", model)); } catch (Exception e) { return(View()); } }
public async Task <ActionResult> Create(CreateRoomVm model) { try { // TODO: Add insert logic here await _roomAppService.CreateRoomAsync(model); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public IEnumerable <CultureRoomPersistence> MapCultureRoomPersistence(CreateRoomVm roomVm) { var cultureRoomPersistence = new CultureRoomPersistence(); var cultures = roomVm.CultureNames.Select(x => x.Key).Distinct(); var persList = new List <CultureRoomPersistence>(); foreach (var culture in cultures) { var persObj = new CultureRoomPersistence(); persObj.culture = culture; var room = MapCreateRoomVmToRoom(roomVm.Id, roomVm.CultureNames[culture]); persObj.room = room; persList.Add(persObj); } return(persList); }