Esempio n. 1
0
        public async Task <bool> UpdateSubActivityAsync(string userId, SubActivityUpdateDto model)
        {
            var subActivity = await _context
                              .SubActivities
                              .Include(subActivity => subActivity.SubActivityItems)
                              .SingleOrDefaultAsync(s => s.Id == model.Id && s.UserId == userId);

            _mapper.Map(model, subActivity);

            subActivity.SubActivityItems.Clear();

            subActivity.SubActivityItems = await _context.Items
                                           .Where(i => model.ItemIds.Contains(i.Id))
                                           .Select(item => new SubActivityItemJoin()
            {
                Item        = item,
                SubActivity = subActivity
            })
                                           .ToListAsync();

            return(await _context.SaveChangesAsync() == model.ItemIds.Count());
        }
Esempio n. 2
0
        public async Task <IActionResult> EditSubActivity(int id, SubActivityUpdateDto subActivityUpdate)
        {
            _userId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (!ModelState.IsValid)
            {
                return(BadRequest("Please submit a valid subactivity"));
            }

            if (id != subActivityUpdate.Id)
            {
                return(BadRequest("Unable to update subactivity"));
            }
            var result = await _subActivityService.UpdateSubActivityAsync(_userId, subActivityUpdate);

            if (result)
            {
                return(NoContent());
            }

            throw new System.Exception("Creating the subactivity failed on save");
        }