public ActionResult SetClassDiscipline(ClassDisciplineInputModel discipline) { if (!Context.PersonId.HasValue) { throw new UnassignedUserException(); } IList <Infraction> infractions = null; if (discipline.InfractionsIds != null && discipline.InfractionsIds.Count > 0) { infractions = SchoolLocator.InfractionService.GetInfractions(); infractions = infractions.Where(x => discipline.InfractionsIds.Contains(x.Id)).ToList(); } var classDisciplineModel = new ClassDiscipline { ClassId = discipline.ClassId, Date = discipline.Date, Id = discipline.Id, Description = discipline.Description, Infractions = infractions ?? new List <Infraction>(), StudentId = discipline.StudentId }; var res = SchoolLocator.DisciplineService.SetClassDiscipline(classDisciplineModel); MasterLocator.UserTrackingService.SetDiscipline(Context.Login, classDisciplineModel.ClassId, classDisciplineModel.Date, classDisciplineModel.Description, classDisciplineModel.StudentId); return(Json(DisciplineView.Create(res, Context.PersonId.Value))); }
public ClassDisciplineDetails SetClassDiscipline(ClassDiscipline classDiscipline) { DemandClassId(classDiscipline.ClassId); var stiDiscipline = new DisciplineReferral(); MapperFactory.GetMapper <DisciplineReferral, ClassDiscipline>().Map(stiDiscipline, classDiscipline); if (classDiscipline.Id.HasValue) { DisciplineStorage.Update(stiDiscipline); } else { stiDiscipline = DisciplineStorage.Add(stiDiscipline); MapperFactory.GetMapper <ClassDiscipline, DisciplineReferral>().Map(classDiscipline, stiDiscipline); } return(new ClassDisciplineDetails { Date = classDiscipline.Date, ClassId = classDiscipline.ClassId, Description = classDiscipline.Description, Id = classDiscipline.Id, Infractions = classDiscipline.Infractions, StudentId = classDiscipline.StudentId, Class = ServiceLocator.ClassService.GetClassDetailsById(classDiscipline.ClassId.Value), Student = ServiceLocator.StudentService.GetById(classDiscipline.StudentId, Context.SchoolYearId.Value) }); }
public ClassDisciplineDetails SetClassDiscipline(ClassDiscipline classDiscipline) { DemandClassId(classDiscipline.ClassId); Trace.Assert(Context.SchoolYearId.HasValue); var stiDiscipline = new DisciplineReferral(); MapperFactory.GetMapper <DisciplineReferral, ClassDiscipline>().Map(stiDiscipline, classDiscipline); if (classDiscipline.Id.HasValue) { if (classDiscipline.Infractions == null || classDiscipline.Infractions.Count == 0) { ConnectorLocator.DisciplineConnector.Delete(classDiscipline.Id.Value, classDiscipline.ClassId.Value, classDiscipline.Date); classDiscipline.Id = null; } else { ConnectorLocator.DisciplineConnector.Update(stiDiscipline); } } else { stiDiscipline = ConnectorLocator.DisciplineConnector.Create(stiDiscipline); MapperFactory.GetMapper <ClassDiscipline, DisciplineReferral>().Map(classDiscipline, stiDiscipline); } return(new ClassDisciplineDetails { Date = classDiscipline.Date, ClassId = classDiscipline.ClassId, Description = classDiscipline.Description, Id = classDiscipline.Id, Infractions = classDiscipline.Infractions, StudentId = classDiscipline.StudentId, Class = ServiceLocator.ClassService.GetClassDetailsById(classDiscipline.ClassId.Value), Student = ServiceLocator.StudentService.GetById(classDiscipline.StudentId, Context.SchoolYearId.Value) }); }