Beispiel #1
0
        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);
        }
Beispiel #2
0
        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");
        }