Ejemplo n.º 1
0
        public ActionResult CreateGoal(GroupGoalFormModel goal)
        {
            GroupGoal groupgoal = Mapper.Map <GroupGoalFormModel, GroupGoal>(goal);
            var       groupUser = groupUserService.GetGroupUser(User.Identity.GetUserId(), goal.GroupId);

            groupgoal.GroupUserId = groupUser.GroupUserId;
            //groupgoal.GroupUser = groupUser;
            //if (groupgoal.AssignedTo == null)
            //{
            //    groupgoal.AssignedGroupUserId = null;
            //}
            var errors = groupGoalService.CanAddGoal(groupgoal, groupUpdateService).ToList();

            ModelState.AddModelErrors(errors);
            if (ModelState.IsValid)
            {
                //groupgoal.GroupUser.UserId = ((SocialGoalUser)(User.Identity)).UserId;
                groupGoalService.CreateGroupGoal(groupgoal);
                return(RedirectToAction("Index", new { id = goal.GroupId }));
            }
            //goal.Group = groupService.GetGroup(goal.GroupUser.GroupId);
            var metrics = metricService.GetMetrics();
            var focuss  = focusService.GetFocussOfGroup(goal.GroupId);

            goal.Metrics = metrics.ToSelectListItems(-1);
            goal.Foci    = focuss.ToSelectListItems(-1);
            return(View(goal));
        }
        public IEnumerable <ValidationResult> CanAddGoal(GroupGoal newGoal, IGroupUpdateService groupUpdateService)
        {
            GroupGoal goal;

            if (newGoal.GroupGoalId == 0)
            {
                goal = GroupGoalRepository.Get(g => (g.GroupId == newGoal.GroupId) && (g.GoalName == newGoal.GoalName));
            }
            else
            {
                goal = GroupGoalRepository.Get(g => (g.GroupId == newGoal.GroupId) && (g.GoalName == newGoal.GoalName) && g.GroupGoalId != newGoal.GroupGoalId);
            }
            if (goal != null)
            {
                yield return(new ValidationResult("GoalName", Resources.GoalExists));
            }
            if (newGoal.StartDate.Subtract(newGoal.EndDate).TotalSeconds > 0)
            {
                yield return(new ValidationResult("EndDate", Resources.EndDate));
            }
            int flag   = 0;
            int status = 0;

            if (newGoal.GroupGoalId != 0)
            {
                var Updates = groupUpdateService.GetUpdatesByGoal(newGoal.GroupGoalId).OrderByDescending(g => g.UpdateDate).ToList();

                if (Updates.Count() > 0)
                {
                    if (Updates[0].UpdateDate.Subtract(newGoal.EndDate).TotalSeconds > 0)
                    {
                        flag = 1;
                    }
                    if (newGoal.StartDate.Subtract(Updates[0].UpdateDate).TotalSeconds > 0)
                    {
                        status = 1;
                    }
                    if (flag == 1)
                    {
                        yield return(new ValidationResult("EndDate", Resources.EndDateNotValid + " " + Updates[0].UpdateDate.ToString("dd-MMM-yyyy")));
                    }
                    else if (status == 1)
                    {
                        yield return(new ValidationResult("StartDate", Resources.StartDate + " " + Updates[0].UpdateDate.ToString("dd-MMM-yyyy")));
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public ActionResult EditGoal(GroupGoalFormModel editGoal)
        {
            GroupGoal groupGoal = Mapper.Map <GroupGoalFormModel, GroupGoal>(editGoal);
            var       errors    = groupGoalService.CanAddGoal(groupGoal, groupUpdateService);

            ModelState.AddModelErrors(errors);
            if (ModelState.IsValid)
            {
                groupGoalService.EditGroupGoal(groupGoal);
                return(RedirectToAction("GroupGoal", new { id = editGoal.GroupGoalId }));;
            }
            else
            {
                var metrics         = metricService.GetMetrics();
                var focuss          = focusService.GetFocus();
                var groupGoalToEdit = groupGoalService.GetGroupGoal(editGoal.GroupGoalId);
                editGoal.Group = groupService.GetGroup(editGoal.GroupId);
                if (groupGoalToEdit.Metric != null)
                {
                    editGoal.Metrics = metrics.ToSelectListItems(groupGoalToEdit.Metric.MetricId);
                }
                else
                {
                    editGoal.Metrics = metrics.ToSelectListItems(-1);
                }
                if (groupGoalToEdit.Focus != null)
                {
                    editGoal.Foci = focuss.ToSelectListItems(groupGoalToEdit.Focus.FocusId);
                }
                else
                {
                    editGoal.Foci = focuss.ToSelectListItems(-1);
                }
                //editGoal.Group = groupGoalToEdit.GroupUser.Group;
                return(View(editGoal));
            }
        }
 public void CreateGroupGoal(GroupGoal GroupGoal)
 {
     GroupGoalRepository.Add(GroupGoal);
     SaveGroupGoal();
 }
 public void EditGroupGoal(GroupGoal groupGoalToEdit)
 {
     GroupGoalRepository.Update(groupGoalToEdit);
     SaveGroupGoal();
 }