问题答案修改
							parent
							
								
									c2d17eb3df
								
							
						
					
					
						commit
						0559988bd6
					
				| 
						 | 
					@ -388,21 +388,81 @@ namespace IRaCIS.Core.Infra.EFCore.Common
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //Qc 问题答案
 | 
					            // 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 entitylist = entitys.Where(x => x.Entity.GetType() == typeof(TrialQCQuestionAnswer)).Select(x => x.Entity as TrialQCQuestionAnswer).ToList();
 | 
				
			||||||
                var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == entity.SubjectVisitId).FirstOrDefaultAsync();
 | 
					                var firstentity = entitylist.FirstOrDefault();
 | 
				
			||||||
 | 
					                var subjectvisit = await _dbContext.SubjectVisit.Where(x => x.Id == firstentity.SubjectVisitId).FirstOrDefaultAsync();
 | 
				
			||||||
                subjectvisit = subjectvisit ?? new SubjectVisit();
 | 
					                subjectvisit = subjectvisit ?? new SubjectVisit();
 | 
				
			||||||
                type = type == "Update" ? "Add" : type;
 | 
					                if (type == "Add")
 | 
				
			||||||
                await InsertInspection<TrialQCQuestionAnswer>(item, type, x => new DataInspection()
 | 
					 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    SiteId= subjectvisit.SiteId,
 | 
					                    await AddInspectionRecordAsync(new DataInspection()
 | 
				
			||||||
                    SubjectId= subjectvisit.SubjectId,
 | 
					                    {
 | 
				
			||||||
                    SubjectVisitName= subjectvisit.VisitName,
 | 
					                        SiteId = subjectvisit.SiteId,
 | 
				
			||||||
                    GeneralId = x.Id,
 | 
					                        Identification = $"{_userInfo.RequestUrl}/{ firstentity.GetType().Name}/{type}",
 | 
				
			||||||
                });
 | 
					                        SubjectId = subjectvisit.SubjectId,
 | 
				
			||||||
 | 
					                        SubjectVisitName = subjectvisit.VisitName,
 | 
				
			||||||
 | 
					                        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
 | 
					            #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<TrialQCQuestion> TrialQCQuestionConfigure { get; set; }
 | 
				
			||||||
        public virtual DbSet<QCQuestion> QCQuestionConfigure { 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; }
 | 
					        public virtual DbSet<CheckChallengeDialog> CheckChallengeDialog { get; set; }
 | 
				
			||||||
        #endregion
 | 
					        #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue