问题答案修改
							parent
							
								
									c2d17eb3df
								
							
						
					
					
						commit
						0559988bd6
					
				| 
						 | 
				
			
			@ -389,20 +389,80 @@ namespace IRaCIS.Core.Infra.EFCore.Common
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
            // Qc 问题答案
 | 
			
		||||
            foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)))
 | 
			
		||||
            if (entitys.Any(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)))
 | 
			
		||||
            {
 | 
			
		||||
                var entity = item.Entity as TrialQCQuestionAnswer;
 | 
			
		||||
                var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
 | 
			
		||||
                var entitylist = entitys.Where(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)).Select(x => x.Entity as TrialQCQuestionAnswer).ToList();
 | 
			
		||||
                var firstentity = entitylist.FirstOrDefault();
 | 
			
		||||
                var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == firstentity.SubjectVisitId).FirstOrDefaultAsync();
 | 
			
		||||
                subjectvisit = subjectvisit ?? new SubjectVisit();
 | 
			
		||||
                type = type == "Update" ? "Add" : type;
 | 
			
		||||
                await InsertInspection<TrialQCQuestionAnswer>(item, type, x => new DataInspection()
 | 
			
		||||
                if (type == "Add")
 | 
			
		||||
                {
 | 
			
		||||
                    await AddInspectionRecordAsync(new DataInspection()
 | 
			
		||||
                    {
 | 
			
		||||
                        SiteId = subjectvisit.SiteId,
 | 
			
		||||
                        Identification = $"{_userInfo.RequestUrl}/{ firstentity.GetType().Name}/{type}",
 | 
			
		||||
                        SubjectId = subjectvisit.SubjectId,
 | 
			
		||||
                        SubjectVisitName = subjectvisit.VisitName,
 | 
			
		||||
                    GeneralId = x.Id,
 | 
			
		||||
                        TrialId= subjectvisit.TrialId,
 | 
			
		||||
                        SubjectVisitId= subjectvisit.Id,
 | 
			
		||||
                        GeneralId = subjectvisit.Id,
 | 
			
		||||
                    }, new
 | 
			
		||||
                    {
 | 
			
		||||
                        QcQuestionAnswerCommands = await Getdata(entitylist),
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
                else if (type == "Update")
 | 
			
		||||
                {
 | 
			
		||||
                    type = "Add";
 | 
			
		||||
                    var questionids = entitylist.Where(x => x.SubjectVisitId == subjectvisit.Id).Select(x => x.Id).ToList();
 | 
			
		||||
                    var noupdatedata = _dbContext.TrialQCQuestionAnswer.Where(x => x.SubjectVisitId == subjectvisit.Id && !questionids.Contains(x.Id)).ToList();
 | 
			
		||||
                    entitylist.AddRange(noupdatedata);
 | 
			
		||||
                    await AddInspectionRecordAsync(new DataInspection()
 | 
			
		||||
                    {
 | 
			
		||||
                        Identification = $"{_userInfo.RequestUrl}/{ firstentity.GetType().Name}/{type}",
 | 
			
		||||
                        SiteId = subjectvisit.SiteId,
 | 
			
		||||
                        SubjectId = subjectvisit.SubjectId,
 | 
			
		||||
                        TrialId = subjectvisit.TrialId,
 | 
			
		||||
                        SubjectVisitId = subjectvisit.Id,
 | 
			
		||||
                        SubjectVisitName = subjectvisit.VisitName,
 | 
			
		||||
                        GeneralId = subjectvisit.Id,
 | 
			
		||||
                    }, new
 | 
			
		||||
                    {
 | 
			
		||||
                        QcQuestionAnswerCommands = await Getdata(entitylist),
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                async  Task<List<AnswerDto>> Getdata(List<TrialQCQuestionAnswer> questionAnswers)
 | 
			
		||||
                {
 | 
			
		||||
                    var ids = questionAnswers.Select(x => x.TrialQCQuestionConfigureId).ToList();
 | 
			
		||||
                    var trialQCQuestionConfigureDatas = await _dbContext.TrialQCQuestionConfigure.Where(x => ids.Contains(x.Id)).ToListAsync();
 | 
			
		||||
                    var collect = questionAnswers.GroupJoin(trialQCQuestionConfigureDatas, one => one.TrialQCQuestionConfigureId, two => two.Id, (x, y) => new { one = x, two = y })
 | 
			
		||||
                      .SelectMany( a => a.two.DefaultIfEmpty(),(c, d) => new { c = c.one, d })
 | 
			
		||||
                      .Select(o => new AnswerDto()
 | 
			
		||||
                      {
 | 
			
		||||
                         QuestionName = o.d.QuestionName,
 | 
			
		||||
                         Answer = o.c.Answer,
 | 
			
		||||
                       }).ToList();
 | 
			
		||||
                      return collect;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            ////Qc 问题答案
 | 
			
		||||
            //foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)))
 | 
			
		||||
            //{
 | 
			
		||||
            //    var entity = item.Entity as TrialQCQuestionAnswer;
 | 
			
		||||
            //    var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
 | 
			
		||||
            //    subjectvisit = subjectvisit ?? new SubjectVisit();
 | 
			
		||||
            //    type = type == "Update" ? "Add" : type;
 | 
			
		||||
            //    await InsertInspection<TrialQCQuestionAnswer>(item, type, x => new DataInspection()
 | 
			
		||||
            //    {
 | 
			
		||||
            //        SiteId= subjectvisit.SiteId,
 | 
			
		||||
            //        SubjectId= subjectvisit.SubjectId,
 | 
			
		||||
            //        SubjectVisitName= subjectvisit.VisitName,
 | 
			
		||||
            //        GeneralId = x.Id,
 | 
			
		||||
            //    });
 | 
			
		||||
            //}
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
 | 
			
		||||
namespace IRaCIS.Core.Infra.EFCore.Common.Dto
 | 
			
		||||
{
 | 
			
		||||
    public class AnswerDto
 | 
			
		||||
    {
 | 
			
		||||
        public string QuestionName { get; set; }
 | 
			
		||||
 | 
			
		||||
        public string Answer { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -263,7 +263,7 @@ namespace IRaCIS.Core.Infra.EFCore
 | 
			
		|||
 | 
			
		||||
        public virtual DbSet<TrialQCQuestion> TrialQCQuestionConfigure { get; set; }
 | 
			
		||||
        public virtual DbSet<QCQuestion> QCQuestionConfigure { get; set; }
 | 
			
		||||
        public virtual DbSet<TrialQCQuestionAnswer> TrialQCQuestionRecord { get; set; }
 | 
			
		||||
        public virtual DbSet<TrialQCQuestionAnswer> TrialQCQuestionAnswer { get; set; }
 | 
			
		||||
        public virtual DbSet<CheckChallengeDialog> CheckChallengeDialog { get; set; }
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue