Example #1
0
        public void Create(NewGoalModel model)
        {
            var mentee = _systemUserRepository.GetFirstOrDefault(
                predicate: a => a.SystemUserId == model.MenteeSystemUserId, include: a => a.Include(b => b.Business));

            CheckUserIsMentee(mentee.Business);
            ValidateGoalLimit(mentee.BusinessId);

            var goal = new MentifiGoal()
            {
                CreatedBy           = mentee.BusinessId,
                CreatedOn           = DateTime.UtcNow,
                GoalDescription     = model.Description,
                Probability         = (MentifiGoalProbability)model.ProbabilityId,
                Version             = 1,
                MentifiGoalProgress = new List <MentifiGoalProgress>()
                {
                    new MentifiGoalProgress()
                    {
                        CreatedBy          = mentee.BusinessId,
                        CreatedOn          = DateTime.UtcNow,
                        Version            = 1,
                        ProgressPercentage = 0,
                        Reason             = "Initial Progress",
                    }
                }
            };

            CreateNotif(mentee, Constant.MentifiNotification.GOAL_ADDED);
            _goalRepository.Insert(goal);
            _unitOfWork.SaveChanges();
        }
Example #2
0
 public IActionResult Post([FromBody] NewGoalModel model)
 {
     _goalService.Create(model);
     return(Ok(MessageHelper.Success("The goal progress has been created.")));
 }