public async Task <bool> CreateSubActivityAsync(string userId, SubActivityCreateDto model) { var subActivity = new SubActivity(model.Name, userId); subActivity.SubActivityItems = await _context.Items .Where(i => model.ItemIds.Contains(i.Id)) .Select(item => new SubActivityItemJoin() { Item = item, SubActivity = subActivity }) .ToListAsync(); await _context.SubActivities.AddAsync(subActivity); return(await _context.SaveChangesAsync() == model.ItemIds.Count() + 1); }
public async Task <IActionResult> Post(SubActivityCreateDto subActivity) { _userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; if (!ModelState.IsValid) { return(BadRequest("Please submit a valid subactivity")); } var result = await _subActivityService.CreateSubActivityAsync(_userId, subActivity); if (result) { return(Ok("SubActivity Created Successfully")); } throw new System.Exception("Creating the subactivity failed on save"); }