public IHttpActionResult Save(GroupsOfStudentsDTO groupDTO) { if (!ModelState.IsValid) { return(BadRequest()); } if (!groupDTO.IsRegistered) { foreach (var studentId in groupDTO.StudentsIds) { var student = new Student().GetStudent(studentId); if (student.GroupOfStudentId != 0) { return(BadRequest(string.Format("El Estudiante ({0} {1}) ya esta en una Familia.", student.Name, student.LastName))); } } if (!new PaymentTypes().GetPaymentType(groupDTO.PaymentTypeId).IsForGroups) { return(BadRequest("El Metodo de pago no es para Familias")); } var group = new GroupOfStudents().Register(Mapper.Map <GroupsOfStudentsDTO, GroupOfStudents>(groupDTO)); Mapper.Map((GroupOfStudents)group, groupDTO); return(Created(new Uri(Request.RequestUri + "/" + group.Id), groupDTO)); } else { new GroupOfStudents().Update(Mapper.Map <GroupsOfStudentsDTO, GroupOfStudents>(groupDTO)); return(Ok()); } }
public List <GroupsOfStudentsDTO> GetGroups() { var groups = new GroupOfStudents().GetGroupOfStudents(); var groupsToReturn = new List <GroupsOfStudentsDTO>(); foreach (var group in groups) { groupsToReturn.Add(Mapper.Map <GroupOfStudents, GroupsOfStudentsDTO>(group)); } return(groupsToReturn); }
public static List <GroupOfStudents> Groups(List <Town> towns) { List <GroupOfStudents> groups = new List <GroupOfStudents>(); foreach (var town in towns) { List <StudentInfo> studentInTown = town.Students. OrderBy(x => x.RegisterDate).ThenBy(x => x.Name).ThenBy(x => x.Email).ToList(); while (studentInTown.Any()) { List <StudentInfo> studentGroup = studentInTown.Take(town.SeatCount).ToList(); studentInTown = studentInTown.Skip(town.SeatCount).ToList(); GroupOfStudents group = new GroupOfStudents { Town = town, Students = studentGroup }; groups.Add(group); } } return(groups); }
public GroupsOfStudentsDTO Register(GroupsOfStudentsDTO group) { var newGroup = new GroupOfStudents().Register(Mapper.Map <GroupsOfStudentsDTO, GroupOfStudents>(group)); return(Mapper.Map <GroupOfStudents, GroupsOfStudentsDTO>((GroupOfStudents)newGroup)); }