Ejemplo n.º 1
0
        public IHttpActionResult Post(CreateGroupDetailsWithStudentsDTO groupDetailsDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            try
            {
                GroupDetails groupDetails = new GroupDetails();
                groupDetails.GroupName     = groupDetailsDto.GroupName;
                groupDetails.ClassID       = groupDetailsDto.ClassID;
                groupDetails.CreatioinDate = DateTime.UtcNow;

                _unitOfWork.GroupsDetails.Add(groupDetails);
                _unitOfWork.Complete();

                if (groupDetailsDto.studentIDs != null)
                {
                    foreach (int studentID in groupDetailsDto.studentIDs)
                    {
                        GroupStudentMapping groupStudentMap = new GroupStudentMapping();
                        groupStudentMap.GroupID = groupDetails.GroupID;
                        groupStudentMap.studID  = studentID;
                        _unitOfWork.GroupStudentMappings.Add(groupStudentMap);
                        _unitOfWork.Complete();
                    }
                }
                return(Created(new Uri(Request.RequestUri + "/" + groupDetails.GroupID), groupDetails));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public IHttpActionResult Post(GroupDetailsListWithMembersDTO groupStudentMappingDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            //Mapper.CreateMap<GroupDetailsListWithMembersDTO, GroupStudentMapping>();
            //GroupStudentMapping groupStudentMapping = new GroupStudentMapping();

            //groupStudentMapping = (GroupStudentMapping)Mapper.Map(groupStudentMappingDto, groupStudentMapping, typeof(GroupDetailsListWithMembersDTO), typeof(GroupStudentMapping));

            foreach (Student stud in groupStudentMappingDto.members)
            {
                GroupStudentMapping groupStudentMapping = _unitOfWork.GroupStudentMappings.GetGroupStudentMappings().SingleOrDefault(gs => gs.GroupID == groupStudentMappingDto.group.GroupID && gs.studID == stud.studID);

                if (groupStudentMapping != null)
                {
                    _unitOfWork.GroupStudentMappings.Remove(groupStudentMapping);
                    _unitOfWork.Complete();
                    Student studForModification = _unitOfWork.Students.GetStudents().SingleOrDefault(s => s.studID == stud.studID);
                    if (studForModification != null)
                    {
                        studForModification.isAssignToGroup = true;
                        studForModification.ModifyDate      = DateTime.UtcNow;
                        _unitOfWork.Students.Update(studForModification);
                        _unitOfWork.Complete();
                    }
                    _unitOfWork.GroupStudentMappings.Add(groupStudentMapping);
                    _unitOfWork.Complete();
                    //studForModification = _unitOfWork.Students.GetStudents().SingleOrDefault(s => s.studID == stud.studID);
                    if (studForModification != null)
                    {
                        studForModification.isAssignToGroup = true;
                        studForModification.ModifyDate      = DateTime.UtcNow;
                        _unitOfWork.Students.Update(studForModification);
                        _unitOfWork.Complete();
                    }
                }
            }
            //return Created(new Uri(Request.RequestUri + "/" + groupStudentMapping.GroupID), groupStudentMappingDto);
            return(Ok("Data inserted sucessfully"));
        }
        public IHttpActionResult Put(int id, GroupStudentMapping groupStudentMapping)
        {
            try
            {
                var groupStudentMapInDb = _unitOfWork.GroupStudentMappings.SingleOrDefault(c => c.GroupID == id);

                if (groupStudentMapInDb == null)
                {
                    return(NotFound());
                }

                groupStudentMapInDb.GroupID    = groupStudentMapping.GroupID;
                groupStudentMapInDb.studID     = groupStudentMapping.studID;
                groupStudentMapInDb.ModifyDate = DateTime.UtcNow;
                _unitOfWork.GroupStudentMappings.Update(groupStudentMapInDb);
                Mapper.CreateMap <GroupStudentMapping, GroupStudentMappingListDto>();
                return(Ok(Mapper.Map <GroupStudentMapping, GroupStudentMappingListDto>(groupStudentMapInDb)));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }