示例#1
0
        public async Task <ActionResult <Goal> > AddProgressBar(AddGoalDto goalDto)
        {
            var userId      = HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var progressBar = new ProgressBar
            {
                GoalId       = Guid.NewGuid().ToString(),
                Text         = goalDto.Text,
                UserId       = userId,
                ParentGoalId = goalDto.ParentGoalId,
                CreatedAt    = DateTime.Now,
                UpdatedAt    = DateTime.Now
            };

            _context.ProgressBars.Add(progressBar);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (ProgressBarExists(progressBar.GoalId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("AddProgressBar", progressBar));
        }
        public async Task <ActionResult <Goal> > AddCheckBox(AddGoalDto goalDto)
        {
            var userId   = HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
            var checkBox = new CheckBox
            {
                GoalId       = Guid.NewGuid().ToString(),
                Text         = goalDto.Text,
                Checked      = false,
                UserId       = userId,
                ParentGoalId = goalDto.ParentGoalId,
                CreatedAt    = DateTime.Now,
                UpdatedAt    = DateTime.Now
            };

            _context.CheckBoxes.Add(checkBox);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (CheckBoxExists(checkBox.GoalId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("AddCheckBox", checkBox));
        }