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"))); } } } }
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(); }