Ejemplo n.º 1
0
        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());
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        public GroupsOfStudentsDTO Register(GroupsOfStudentsDTO group)
        {
            var newGroup = new GroupOfStudents().Register(Mapper.Map <GroupsOfStudentsDTO, GroupOfStudents>(group));

            return(Mapper.Map <GroupOfStudents, GroupsOfStudentsDTO>((GroupOfStudents)newGroup));
        }