Example #1
0
        public ActionResult ActivityAdd(int professorId, ActivityAddVM activityModel)
        {
            Activity activity = new Activity
            {
                Name         = activityModel.Name,
                Description  = activityModel.Description,
                ActivityType = activityServices.GetAllActivityTypes().ToList()
                               .Find(type => type.Name == activityModel.ActivityTypeName)
            };

            if (activityModel.StudentsId != null)
            {
                if (activityModel.StudentsId.Count != 0)
                {
                    List <StudentActivity> students = new List <StudentActivity>();
                    foreach (var studentId in activityModel.StudentsId)
                    {
                        StudentActivity studentActivity = new StudentActivity {
                            Activity = activity, Student = studentServices.GetStudent(studentId)
                        };
                        students.Add(studentActivity);
                    }

                    activity.StudentsLink = students;
                }
            }

            if (activityModel.OccurenceDates != null)
            {
                List <ActivityOccurence> activityOccurence = new List <ActivityOccurence>();
                foreach (var occurenceDate in activityModel.OccurenceDates)
                {
                    ActivityOccurence occurence = new ActivityOccurence {
                        Activity = activity, OccurenceDate = occurenceDate
                    };
                    activityOccurence.Add(occurence);

                    foreach (var studentLink in activity.StudentsLink)
                    {
                        Student student = studentLink.Student;

                        student.ActivityInfos.Add(new ActivityInfo {
                            Activity = activity, ActivityId = activity.Id, Student = student.Id, OccurenceDate = occurence
                        });
                    }
                }

                activity.OccurenceDates = activityOccurence;
            }

            if (!professorServices.CreateActivity(professorId, activity))
            {
                return(View(activityModel));
            }

            return(Redirect($"/Professors/{professorId}/Activities"));
        }
Example #2
0
 public SaveActivityCommand(IMessenger messenger, ActivityAddVM activityAddVM)
 {
     this.messenger     = messenger;
     this.activityAddVM = activityAddVM;
 }