public ICollection <ExperimentData> Resolve(TestSubject source, TestSubjectData destination, ICollection <ExperimentData> destMember, ResolutionContext context)
    {
        var destExperiments = new List <ExperimentData>();

        if (source.Experiments == null)
        {
            return(destExperiments);
        }

        foreach (var experiment in source.Experiments)
        {
            var experimentToAdd = new ExperimentData()
            {
                Id          = experiment.Id,
                Time        = experiment.Time,
                Comment     = experiment.Comment,
                TestSubject = new BasicTestSubject(experiment.TestSubject.Name,
                                                   experiment.TestSubject.Surname,
                                                   experiment.TestSubject.Id),
                GroupId = experiment.GroupId,
                Task    = new BasicData(experiment.Task.Name, experiment.TaskId)
            };

            destExperiments.Add(experimentToAdd);
        }
        return(destExperiments);
    }
    public ICollection <Experiment> Resolve(TestSubjectData source, TestSubject destination, ICollection <Experiment> destMember, ResolutionContext context)
    {
        var destExperiments = new List <Experiment>();

        if (source.Experiments == null)
        {
            return(destExperiments);
        }

        foreach (var experiment in source.Experiments)
        {
            var experimentToAdd = new Experiment()
            {
                Time          = experiment.Time,
                Comment       = experiment.Comment,
                TestSubjectId = experiment.TestSubject.Id.Value,
                GroupId       = experiment.GroupId,
                TaskId        = experiment.Task.Id.Value
            };

            if (experiment.Id != null)
            {
                experimentToAdd.Id = experiment.Id.Value;
            }

            destExperiments.Add(experimentToAdd);
        }
        return(destExperiments);
    }
        public async Task <IActionResult> Save(TestSubjectData testSubject)
        {
            var testSubjectToAdd = _mapper.Map <TestSubject>(testSubject);

            testSubjectToAdd.Study = null;
            testSubjectToAdd.Group = null;
            _unitOfWork.testSubjectRepository.Add(testSubjectToAdd);
            await _unitOfWork.SaveChangesAsync();

            var testSubjectToReturn = _mapper.Map <TestSubjectData>(testSubjectToAdd);

            testSubjectToReturn.Study = testSubject.Study;
            testSubjectToReturn.Group = testSubject.Group;
            return(Ok(testSubjectToReturn));
        }
        public async Task <IActionResult> AssignStudyAndGroup(TestSubjectData testSubject)
        {
            var testSubjectToUpdate = await _unitOfWork.testSubjectRepository.Get(testSubject.Id.Value);

            if (testSubjectToUpdate == null)
            {
                return(Ok("Element does not exist"));
            }

            testSubjectToUpdate.StudyId = testSubject.Study.Id;
            testSubjectToUpdate.GroupId = testSubject.Group.Id;
            await _unitOfWork.SaveChangesAsync();

            var testSubjectToReturn = _mapper.Map <TestSubjectData>(testSubjectToUpdate);

            return(Ok(testSubjectToReturn));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> AddTestSubject(int id, TestSubjectData data)
        {
            var group = await _unitOfWork.groupRepository.Get(id);

            var testSubjectToAdd = _mapper.Map <TestSubject>(data);

            testSubjectToAdd.Study   = null;
            testSubjectToAdd.Group   = null;
            testSubjectToAdd.StudyId = group.StudyId;
            testSubjectToAdd.GroupId = id;

            group.TestSubjects.Add(testSubjectToAdd);

            await _unitOfWork.SaveChangesAsync();

            var groupToReturn = _mapper.Map <GroupData>(group);

            return(Ok(groupToReturn));
        }
        public async Task <IActionResult> Update(TestSubjectData testSubject)
        {
            var testSubjectToUpdate = await _unitOfWork.testSubjectRepository.Get(testSubject.Id.Value);

            if (testSubjectToUpdate == null)
            {
                return(Ok("Element does not exist"));
            }

            testSubjectToUpdate.Name      = testSubject.Name;
            testSubjectToUpdate.Surname   = testSubject.Surname;
            testSubjectToUpdate.Comment   = testSubject.Comment;
            testSubjectToUpdate.EntryTime = Convert.ToDateTime(testSubject.EntryTime);

            await _unitOfWork.SaveChangesAsync();

            var testSubjectToReturn = _mapper.Map <TestSubjectData>(testSubjectToUpdate);

            return(Ok(testSubjectToReturn));
        }