Ejemplo n.º 1
0
        public void TestCase_UserHabitPoint()
        {
            var point = new UserHabitPoint();

            point.TargetUser = "******";
            point.Comment    = "Test";
            point.ID         = 1;
            point.Point      = 100;
            point.RecordDate = DateTime.Now;
            Assert.NotNull(point);
        }
Ejemplo n.º 2
0
        // POST: /UserHabitPoints
        /// <summary>
        /// Support for creating user habit record
        /// </summary>
        public async Task <IActionResult> Post([FromBody] UserHabitPoint point)
        {
            if (!ModelState.IsValid)
            {
                foreach (var value in ModelState.Values)
                {
                    foreach (var err in value.Errors)
                    {
                        System.Diagnostics.Debug.WriteLine(err.Exception?.Message);
                    }
                }

                return(BadRequest());
            }

            String usrId = ControllerUtil.GetUserID(this);

            if (String.IsNullOrEmpty(usrId))
            {
                throw new Exception("Failed ID");
            }
            var rst = (from au in _context.AwardUsers
                       where au.TargetUser == point.TargetUser &&
                       au.Supervisor == usrId
                       select au).Count();

            if (rst != 1)
            {
                throw new Exception("Invalid user data");
            }

            // Update db
            _context.UserHabitPoints.Add(point);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception exp)
            {
                System.Console.WriteLine(exp.Message);
                throw;
            }

            return(Created(point));
        }