using System; using System.Collections.Generic; using System.Linq; using BatchService.Framework.Utility; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using PalGain.Core; using sbcLabSystem.Data.Domain.Account; using sbcLabSystem.Data.Domain.Backstage; using sbcLabSystem.Service.Account; using sbcLabSystem.Service.QC; namespace sbcLabSystem.Models.Backstage { public class QCDistributionRegisterInfoViewModel { public int Id { get; set; } public bool IsSelected { get; set; } public bool IsCharged { get; set; } public bool IsSendEmail { get; set; } public int QCDistributionId { get; set; } //public UserRequestInfo LabInfo { get; set; } public int ProjectId { get; set; } public string SampleNo { get; set; } public bool IsSendEMS { get; set; } public string EMSNo { get; set; } public string PacketContent { get; set; } public string Remark { get; set; } public bool IsModified { get; set; } public bool IsSubmit { get; set; } public bool IsEnding { get; set; } public string ProjectDescribeString { get; set; } public string IssuedDateString { get; set; } public string CloseDateString { get; set; } public string QCDistributionNo { get; set; } public bool QCDistributionAllCompleteFlag { get; set; } public int LabId { get; set; } public string LabCode { get; set; } public string CompanyName { get; set; } public string AnswerJSON { get; set; } public AnswerInfoViewModel AnswerInfo { get; set; } public DateTime? SubmitTime { get; set; } public string SubmitUserNo { get; set; } public DateTime? FirstTimeSubmitTime { get; set; } public DateTime ModifyTime { get; set; } public DateTime? LastPageModifyTime { get; set; } public string LabName { get; set; } public string Province { get; set; } public string LetterNo { get; set; } public string ChargeRemark { get; set; } public DateTime? ChargeTime { get; set; } public DateTime? SendEMSTime { get; set; } public List Scores { get; set; } public bool IsCount { get; set; } public QCDistributionRegisterInfo ToEntityByLabCode(QCDistributionRegisterInfoViewModel regInfoivewModel) { int labId = 0; var labInfo = PalGainEngine.Instance.Resolve().GetUserRequestInfoQueryable() .FirstOrDefault(p => p.LabCode.ToLower() == regInfoivewModel.LabCode.ToLower()); if (labInfo != null) { labId = labInfo.Id; } else { return null; } QCDistributionRegisterInfo entity = PalGainEngine.Instance.Resolve().GetQcDistributionRegisters() .FirstOrDefault(p => p.QCDistributionId == regInfoivewModel.QCDistributionId && p.LabId == labId); if (entity != null) { return entity; } else { return null; } } public QCDistributionRegisterInfoViewModel CopyFromLabInfo(UserRequestInfo labInfo) { QCDistributionRegisterInfoViewModel temp = ClassValueCopier.Mapper(labInfo); temp.Id = 0; temp.LabId = labInfo.Id; return temp; } public static QCDistributionRegisterInfoViewModel FromEntity(QCDistributionRegisterInfo entity) { QCDistributionRegisterInfoViewModel viewModel = ClassValueCopier.Mapper(entity); switch (viewModel.ProjectId) { case 1: viewModel.ProjectDescribeString = "I"; break; case 2: viewModel.ProjectDescribeString = "II"; break; case 3: viewModel.ProjectDescribeString = "III"; break; case 4: viewModel.ProjectDescribeString = "IV"; break; } QCDistributionInfoViewModel qcDistInfo = QCDistributionInfoViewModel.FromEntity(PalGainEngine.Instance.Resolve().GetQcDistributions() .FirstOrDefault(p => p.Id == entity.QCDistributionId)); UserRequestInfoModel labInfo = UserRequestInfoModel.FromEntity(PalGainEngine.Instance.Resolve() .GetUserRequestInfoQueryable().FirstOrDefault(p => p.Id == entity.LabId)); if (qcDistInfo != null) { viewModel.IssuedDateString = qcDistInfo.IssuedDateString; viewModel.CloseDateString = qcDistInfo.CloseDateString; viewModel.QCDistributionNo = qcDistInfo.DistNo; viewModel.QCDistributionAllCompleteFlag = qcDistInfo.IsSubmitAll; } if (labInfo != null) { viewModel.LabCode = labInfo.LabCode; viewModel.LabId = labInfo.Id; viewModel.CompanyName = labInfo.CompanyName; } if (string.IsNullOrEmpty(entity.AnswerJSON) == false) { viewModel.AnswerInfo = JsonHelper.JsonDeserialize(entity.AnswerJSON); if (viewModel.AnswerInfo.Part1 == null) { viewModel.AnswerInfo.Part1 = new AnswerInfoViewModel.Part1Class(); } if (viewModel.AnswerInfo.Part2 == null) { viewModel.AnswerInfo.Part2 = new AnswerInfoViewModel.Part2Class(); } if (viewModel.AnswerInfo.Part3 == null) { viewModel.AnswerInfo.Part3 = new AnswerInfoViewModel.Part3Class(); } if (viewModel.AnswerInfo.Part4 == null) { viewModel.AnswerInfo.Part4 = new AnswerInfoViewModel.Part4Class(); } if (viewModel.AnswerInfo.Part5 == null) { viewModel.AnswerInfo.Part5 = new AnswerInfoViewModel.Part5Class(); } if (viewModel.AnswerInfo.Part6 == null) { viewModel.AnswerInfo.Part6 = new AnswerInfoViewModel.Part6Class(); } } else { viewModel.AnswerInfo = new AnswerInfoViewModel(); viewModel.AnswerInfo.Part1 = new AnswerInfoViewModel.Part1Class(); viewModel.AnswerInfo.Part2 = new AnswerInfoViewModel.Part2Class(); viewModel.AnswerInfo.Part3 = new AnswerInfoViewModel.Part3Class(); viewModel.AnswerInfo.Part4 = new AnswerInfoViewModel.Part4Class(); viewModel.AnswerInfo.Part5 = new AnswerInfoViewModel.Part5Class(); viewModel.AnswerInfo.Part6 = new AnswerInfoViewModel.Part6Class(); } if (viewModel.IsSubmit && qcDistInfo.AnswerJSON != null) { var approvals = PalGainEngine.Instance.Resolve().GetApprovals() .Where(p => p.QCDistributionID == entity.QCDistributionId); var standAnswerInfo = JsonConvert.DeserializeObject(qcDistInfo.AnswerJSON) as JObject; List Scores = new List(); viewModel.Scores = Scores; #region 算分 #region ABO&&RH var partObj = standAnswerInfo["Part1"] as JObject; List fields = new List() { "ABO1", "RH1", "ABO2", "RH2", "ABO3", "RH3", }; int index = 1; fields.ForEach(field => { ScoreInfo scoreInfo = new ScoreInfo(); scoreInfo.Name = field; Scores.Add(scoreInfo); var fieldName = ""; var fieldPatient = ""; if (index == 1) { fieldName = "11"; fieldPatient = "1"; scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_11_1.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_11_1"].TryParseToString()); } else if (index == 2) { fieldName = "12"; fieldPatient = "1"; scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_12_1.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_12_1"].TryParseToString()); } else if (index == 3) { fieldName = "11"; fieldPatient = "2"; scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_11_2.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_11_2"].TryParseToString()); } else if (index == 4) { fieldName = "12"; fieldPatient = "2"; scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_12_2.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_12_2"].TryParseToString()); } else if (index == 5) { fieldName = "11"; fieldPatient = "3"; scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_11_3.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_11_3"].TryParseToString()); } else if (index == 6) { fieldName = "12"; fieldPatient = "3"; scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_12_3.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_12_3"].TryParseToString()); } //算分 var approvalInfo = approvals.FirstOrDefault(p => p.FieldName == fieldName && p.FieldPatient == fieldPatient); if (approvalInfo != null) { scoreInfo.Score = approvalInfo.Score; } if (scoreInfo.StandValue != scoreInfo.RealValue && approvalInfo != null) { scoreInfo.RealScore = approvalInfo.Score; } scoreInfo.Value = scoreInfo.GetValue(); index++; }); #endregion #region 抗体筛选 fields = new List() { "Filter1", "Filter2", "Filter3", }; fields.ForEach(field => { ScoreInfo scoreInfo = new ScoreInfo(); scoreInfo.Name = field; Scores.Add(scoreInfo); var fieldName = "21"; string fieldPatient = ""; if (field == "Filter1") { scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_21_1.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_21_1"].TryParseToString()); fieldPatient = "1"; } else if (field == "Filter2") { scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_21_2.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_21_2"].TryParseToString()); fieldPatient = "2"; } else if (field == "Filter3") { scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_21_3.TryParseToString()); scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_21_3"].TryParseToString()); fieldPatient = "3"; } //算分 var approvalInfo = approvals.FirstOrDefault(p => p.FieldName == fieldName && p.FieldPatient == fieldPatient); if (approvalInfo != null) { scoreInfo.Score = approvalInfo.Score; if (scoreInfo.StandValue != scoreInfo.RealValue) { scoreInfo.RealScore = approvalInfo.Score; } } scoreInfo.Value = scoreInfo.GetValue(); if (viewModel.ProjectId == 3) { scoreInfo.RealScore = 0; } }); #endregion #region 抗体鉴定 fields = new List() { "Identity1", "Identity2", "Identity3", }; partObj = standAnswerInfo["Part5"] as JObject; fields.ForEach(field => { ScoreInfo scoreInfo = new ScoreInfo(); scoreInfo.Name = field; Scores.Add(scoreInfo); var fieldName = "22"; string fieldPatient = ""; var previousFieldValue = 0.0; scoreInfo.RealValue = scoreInfo.GetIdentityValue(field, viewModel.AnswerInfo.Part5); scoreInfo.StandValue = scoreInfo.GetIdentityStandValue(field, partObj); if (field == "Identity1") { fieldPatient = "1"; previousFieldValue = Scores.FirstOrDefault(p => p.Name == "Filter1").RealScore; } else if (field == "Identity2") { fieldPatient = "2"; previousFieldValue = Scores.FirstOrDefault(p => p.Name == "Filter2").RealScore; } else if (field == "Identity3") { fieldPatient = "3"; previousFieldValue = Scores.FirstOrDefault(p => p.Name == "Filter3").RealScore; } //算分 var approvalInfo = approvals.FirstOrDefault(p => p.FieldName == fieldName && p.FieldPatient == fieldPatient); if (approvalInfo != null) { scoreInfo.Score = approvalInfo.Score; } if (previousFieldValue == 0) { if (scoreInfo.RealValue != scoreInfo.StandValue) { if (scoreInfo.RealValue.Contains(scoreInfo.StandValue)) { scoreInfo.RealScore = scoreInfo.Score / 2; } else { scoreInfo.RealScore = scoreInfo.Score; } } } if (scoreInfo.RealValue.IndexOf("UI") >= 0) { scoreInfo.RealScore = scoreInfo.RealScore / 2; } if (viewModel.ProjectId == 2 || viewModel.ProjectId == 3 || viewModel.ProjectId == 4) { scoreInfo.RealScore = 0; scoreInfo.RealValue = ""; } }); #endregion #region 交叉配型 fields = new List() { "Patient1X", "Patient1Y", "Patient1Z", "Patient2X", "Patient2Y", "Patient2Z", "Patient3X", "Patient3Y", "Patient3Z", }; fields.ForEach(field => { ScoreInfo scoreInfo = new ScoreInfo(); scoreInfo.Name = field; Scores.Add(scoreInfo); var fieldName = ""; var fieldPatient = ""; if (field == "Patient1X") { fieldName = "31"; fieldPatient = "1"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_31_1"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_31_1.TryParseToString()); } else if (field == "Patient2X") { fieldName = "31"; fieldPatient = "2"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_31_2"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_31_2.TryParseToString()); } else if (field == "Patient3X") { fieldName = "31"; fieldPatient = "3"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_31_3"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_31_3.TryParseToString()); } else if (field == "Patient1Y") { fieldName = "32"; fieldPatient = "1"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_32_1"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_32_1.TryParseToString()); } else if (field == "Patient2Y") { fieldName = "32"; fieldPatient = "2"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_32_2"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_32_2.TryParseToString()); } else if (field == "Patient3Y") { fieldName = "32"; fieldPatient = "3"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_32_3"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_32_3.TryParseToString()); } else if (field == "Patient1Z") { fieldName = "33"; fieldPatient = "1"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_33_1"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_33_1.TryParseToString()); } else if (field == "Patient2Z") { fieldName = "33"; fieldPatient = "2"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_33_2"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_33_2.TryParseToString()); } else if (field == "Patient3Z") { fieldName = "33"; fieldPatient = "3"; scoreInfo.StandValue = scoreInfo.GetValue(standAnswerInfo["Result_33_3"].TryParseToString()); scoreInfo.RealValue = scoreInfo.GetValue(viewModel.AnswerInfo.Result_33_3.TryParseToString()); } //算分 var approvalInfo = approvals.FirstOrDefault(p => p.FieldName == fieldName && p.FieldPatient == fieldPatient); if (approvalInfo != null) { scoreInfo.Score = approvalInfo.Score; if (scoreInfo.StandValue != scoreInfo.RealValue) { scoreInfo.RealScore = approvalInfo.Score; } } scoreInfo.Value = scoreInfo.GetValue(); if (viewModel.ProjectId == 3 || viewModel.ProjectId == 4) { scoreInfo.RealScore = 0; } }); #endregion #region 直抗 fields = new List() { "ZhiKang1", "ZhiKang2", "ZhiKang3", }; fields.ForEach(field => { ScoreInfo scoreInfo = new ScoreInfo(); scoreInfo.Name = field; Scores.Add(scoreInfo); var fieldName = "13"; var fieldPatient = ""; if (field == "ZhiKang1") { fieldPatient = "1"; if (standAnswerInfo["Part4"]["CB9_14"].TryParseToString() == "True") { scoreInfo.StandValue = "阴性"; } else if (standAnswerInfo["Part4"]["CB9_15"].TryParseToString() == "True") { scoreInfo.StandValue = "阳性"; } if (viewModel.AnswerInfo.Part4.CB9_14 == "True") { scoreInfo.RealValue = "阴性"; } else if (viewModel.AnswerInfo.Part4.CB9_15 == "True") { scoreInfo.RealValue = "阳性"; } } else if (field == "ZhiKang2") { fieldPatient = "2"; if (standAnswerInfo["Part4"]["CB9_24"].TryParseToString() == "True") { scoreInfo.StandValue = "阴性"; } else if (standAnswerInfo["Part4"]["CB9_25"].TryParseToString() == "True") { scoreInfo.StandValue = "阳性"; } if (viewModel.AnswerInfo.Part4.CB9_24 == "True") { scoreInfo.RealValue = "阴性"; } else if (viewModel.AnswerInfo.Part4.CB9_25 == "True") { scoreInfo.RealValue = "阳性"; } } else if (field == "ZhiKang3") { fieldPatient = "3"; if (standAnswerInfo["Part4"]["CB9_34"].TryParseToString() == "True") { scoreInfo.StandValue = "阴性"; } else if (standAnswerInfo["Part4"]["CB9_35"].TryParseToString() == "True") { scoreInfo.StandValue = "阳性"; } if (viewModel.AnswerInfo.Part4.CB9_34 == "True") { scoreInfo.RealValue = "阴性"; } else if (viewModel.AnswerInfo.Part4.CB9_35 == "True") { scoreInfo.RealValue = "阳性"; } } //算分 var approvalInfo = approvals.FirstOrDefault(p => p.FieldName == fieldName && p.FieldPatient == fieldPatient); if (approvalInfo != null) { scoreInfo.Score = approvalInfo.Score; if (scoreInfo.StandValue != scoreInfo.RealValue) { scoreInfo.RealScore = approvalInfo.Score; } } scoreInfo.Value = scoreInfo.RealValue; }); #endregion #region 手工答案 fields = new List() { "Part6_W_ABO", "Part6_W_KangYuanFenXing", "Part6_W_RhD", "Part6_Y_ABO", "Part6_Y_KangYuanFenXing", "Part6_Y_RhD", "Part6_Z_ABO", "Part6_Z_KangYuanFenXing", "Part6_Z_RhD", }; var standAnswerInfo_Part6 = standAnswerInfo["Part6"] as JObject; fields.ForEach(field => { ScoreInfo scoreInfo = new ScoreInfo(); scoreInfo.Name = field; Scores.Add(scoreInfo); if (standAnswerInfo_Part6 == null || standAnswerInfo_Part6[field] == null) { scoreInfo.StandValue = ""; } else { scoreInfo.StandValue = standAnswerInfo_Part6[field].ToString(); } }); #endregion #endregion } viewModel.AnswerJSON = ""; return viewModel; } public static QCDistributionRegisterInfo ToEntity(QCDistributionRegisterInfoViewModel viewModel) { QCDistributionRegisterInfo entity = PalGainEngine.Instance.Resolve() .GetQcDistributionRegisters().FirstOrDefault(p => p.Id == viewModel.Id); if (entity == null) { entity = new QCDistributionRegisterInfo(); entity = ClassValueCopier.Mapper(viewModel); } entity.ModifyTime = DateTime.Now; entity.IsSubmit = viewModel.IsSubmit; entity.SubmitUserNo = viewModel.SubmitUserNo; if (entity.IsSubmit) { entity.SubmitTime = DateTime.Now; if (entity.FirstTimeSubmitTime == null) { entity.FirstTimeSubmitTime = entity.SubmitTime; } } if (viewModel.AnswerInfo == null) { viewModel.AnswerInfo = new AnswerInfoViewModel(); } entity.EMSNo = viewModel.EMSNo == null ? "" : viewModel.EMSNo.Trim(); if (entity.EMSNo.Length > 0) { entity.IsSendEMS = true; } entity.AnswerJSON = JsonHelper.JsonSerializer(viewModel.AnswerInfo); return entity; } public static QCDistributionRegisterInfo ToEntity(UserRequestViewModel viewModel) { QCDistributionRegisterInfo Entity = null; if (viewModel.QCDistributionRegisterId == 0) { Entity = new QCDistributionRegisterInfo(); } QCDistributionRegisterInfo existEntity = PalGainEngine.Instance.Resolve() .GetQcDistributionRegisters().FirstOrDefault(p => p.Id == viewModel.QCDistributionRegisterId); if (existEntity != null) { Entity = existEntity; } else { Entity = new QCDistributionRegisterInfo(); } Entity = ClassValueCopier.Mapper(viewModel); Entity.ModifyTime = DateTime.Now; return Entity; } } public class ScoreInfo { public ScoreInfo() { } public ScoreInfo(string name) { this.Name = name; } /// /// 答案 /// public string RealValue { get; set; } public string Value { get; set; } /// /// 分数 /// public double Score { get; set; }//分数 /// /// 实际分数 /// public double RealScore { get; set; } /// /// 坐标 /// public string Coordinate { get; set; } /// /// 标准答案 /// public string StandValue { get; set; } /// /// 答案代号 /// public string Name { get; set; } public string GetValue() { return GetValue(this.RealValue); } public string GetValue(string value) { var ret = ""; if (string.IsNullOrWhiteSpace(value)) { value = ""; } if (this.Name == "ABO1") { #region ABO 1 if (value.Trim().ToLower() == "cb7_right111") { ret = "A"; } else if (value.Trim().ToLower() == "cb7_right112") { ret = "B"; } else if (value.Trim().ToLower() == "cb7_right113") { ret = "O"; } else if (value.Trim().ToLower() == "cb7_right114") { ret = "AB"; } else if (value.Trim().ToLower() == "cb7_right115") { ret = "亚型"; } else if (value.Trim().ToLower() == "cb7_right116") { ret = "未检测"; } #endregion } else if (this.Name == "RH1") { #region RH 1 if (value.Trim().ToLower() == "cb7_right121") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb7_right122") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb7_right125") { ret = "D变异型"; } else if (value.Trim().ToLower() == "cb7_right123") { ret = "UI"; } else if (value.Trim().ToLower() == "cb7_right124") { ret = "未检测"; } #endregion } else if (this.Name == "ABO2") { #region ABO 2 if (value.Trim().ToLower() == "cb7_right211") { ret = "A"; } else if (value.Trim().ToLower() == "cb7_right212") { ret = "B"; } else if (value.Trim().ToLower() == "cb7_right213") { ret = "O"; } else if (value.Trim().ToLower() == "cb7_right214") { ret = "AB"; } else if (value.Trim().ToLower() == "cb7_right215") { ret = "亚型"; } else if (value.Trim().ToLower() == "cb7_right216") { ret = "未检测"; } #endregion } else if (this.Name == "RH2") { #region RH 2 if (value.Trim().ToLower() == "cb7_right221") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb7_right222") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb7_right225") { ret = "D变异型"; } else if (value.Trim().ToLower() == "cb7_right223") { ret = "UI"; } else if (value.Trim().ToLower() == "cb7_right224") { ret = "未检测"; } #endregion } else if (this.Name == "ABO3") { #region ABO 3 if (value.Trim().ToLower() == "cb7_right311") { ret = "A"; } else if (value.Trim().ToLower() == "cb7_right312") { ret = "B"; } else if (value.Trim().ToLower() == "cb7_right313") { ret = "O"; } else if (value.Trim().ToLower() == "cb7_right314") { ret = "AB"; } else if (value.Trim().ToLower() == "cb7_right315") { ret = "亚型"; } else if (value.Trim().ToLower() == "cb7_right316") { ret = "未检测"; } #endregion } else if (this.Name == "RH3") { #region RH 3 if (value.Trim().ToLower() == "cb7_right321") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb7_right322") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb7_right325") { ret = "D变异型"; } else if (value.Trim().ToLower() == "cb7_right323") { ret = "UI"; } else if (value.Trim().ToLower() == "cb7_right324") { ret = "未检测"; } #endregion } else if (this.Name == "Filter1") { #region Filter1 if (value.Trim().ToLower() == "cb10_115") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb10_125") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb10_135") { ret = "未检测"; } #endregion } else if (this.Name == "Filter2") { #region Filter2 if (value.Trim().ToLower() == "cb10_215") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb10_225") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb10_235") { ret = "未检测"; } #endregion } else if (this.Name == "Filter3") { #region Filter3 if (value.Trim().ToLower() == "cb10_315") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb10_325") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb10_335") { ret = "未检测"; } #endregion } else if (this.Name == "Patient1X") { #region Patient1X if (value.Trim().ToLower() == "cb8_141") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_151") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_161") { ret = "未检测"; } #endregion } else if (this.Name == "Patient1Y") { #region Patient1Y if (value.Trim().ToLower() == "cb8_142") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_152") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_162") { ret = "未检测"; } #endregion } else if (this.Name == "Patient1Z") { #region Patient1Z if (value.Trim().ToLower() == "cb8_143") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_153") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_163") { ret = "未检测"; } #endregion } else if (this.Name == "Patient2X") { #region Patient2X if (value.Trim().ToLower() == "cb8_241") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_251") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_261") { ret = "未检测"; } #endregion } else if (this.Name == "Patient2Y") { #region Patient2Y if (value.Trim().ToLower() == "cb8_242") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_252") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_262") { ret = "未检测"; } #endregion } else if (this.Name == "Patient2Z") { #region Patient2Z if (value.Trim().ToLower() == "cb8_243") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_253") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_263") { ret = "未检测"; } #endregion } else if (this.Name == "Patient3X") { #region Patient3X if (value.Trim().ToLower() == "cb8_341") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_351") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_361") { ret = "未检测"; } #endregion } else if (this.Name == "Patient3Y") { #region Patient3Y if (value.Trim().ToLower() == "cb8_342") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_352") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_362") { ret = "未检测"; } #endregion } else if (this.Name == "Patient3Z") { #region Patient3Z if (value.Trim().ToLower() == "cb8_343") { ret = "阴性"; } else if (value.Trim().ToLower() == "cb8_353") { ret = "阳性"; } else if (value.Trim().ToLower() == "cb8_363") { ret = "未检测"; } #endregion } else if (this.Name == "ZhiKang1") { #region ZhiKang1 if (value.Trim().ToLower() == "CB9_14") { ret = "阴性"; } else if (value.Trim().ToLower() == "CB9_15") { ret = "阳性"; } #endregion } else if (this.Name == "ZhiKang2") { #region ZhiKang2 if (value.Trim().ToLower() == "CB9_24") { ret = "阴性"; } else if (value.Trim().ToLower() == "CB9_25") { ret = "阳性"; } #endregion } else if (this.Name == "ZhiKang3") { #region ZhiKang3 if (value.Trim().ToLower() == "CB9_34") { ret = "阴性"; } else if (value.Trim().ToLower() == "CB9_35") { ret = "阳性"; } #endregion } return ret; } public string GetIdentityValue(string name, AnswerInfoViewModel.Part5Class answerInfo) { var ret = ""; #region if (name == "Identity1") { if (ObjectParseExt.TryParseToString(answerInfo.CB12_111) == "True") { ret += "D,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_112) == "True") { ret += "C,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_113) == "True") { ret += "c,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_114) == "True") { ret += "E,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_115) == "True") { ret += "e,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_116) == "True") { ret += "M,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_117) == "True") { ret += "N,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_118) == "True") { ret += "S,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_119) == "True") { ret += "s,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1110) == "True") { ret += "Mur,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1111) == "True") { ret += "P1,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1112) == "True") { ret += "K,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1113) == "True") { ret += "Lea,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1114) == "True") { ret += "Leb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1115) == "True") { ret += "Fya,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1116) == "True") { ret += "Fyb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1117) == "True") { ret += "Jka,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1118) == "True") { ret += "Jkb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1119) == "True") { ret += "Dia,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1121) == "True") { ret += "Wra,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_1120) == "True") { ret += "UI,"; } if (ret.Length > 0) { ret = ret.Substring(0, ret.Length - 1); } } #endregion #region if (name == "Identity2") { if (ObjectParseExt.TryParseToString(answerInfo.CB12_221) == "True") { ret += "D,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_222) == "True") { ret += "C,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_223) == "True") { ret += "c,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_224) == "True") { ret += "E,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_225) == "True") { ret += "e,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_226) == "True") { ret += "M,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_227) == "True") { ret += "N,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_228) == "True") { ret += "S,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_229) == "True") { ret += "s,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2210) == "True") { ret += "Mur,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2211) == "True") { ret += "P1,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2212) == "True") { ret += "K,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2213) == "True") { ret += "Lea,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2214) == "True") { ret += "Leb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2215) == "True") { ret += "Fya,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2216) == "True") { ret += "Fyb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2217) == "True") { ret += "Jka,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2218) == "True") { ret += "Jkb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2219) == "True") { ret += "Dia,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_2221) == "True") { ret += "Wra,"; } if ( ObjectParseExt.TryParseToString(answerInfo.CB12_2220) == "True") { ret += "UI,"; } if (ret.Length > 0) { ret = ret.Substring(0, ret.Length - 1); } } #endregion #region if (name == "Identity3") { if (ObjectParseExt.TryParseToString(answerInfo.CB12_331) == "True") { ret += "D,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_332) == "True") { ret += "C,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_333) == "True") { ret += "c,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_334) == "True") { ret += "E,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_335) == "True") { ret += "e,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_336) == "True") { ret += "M,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_337) == "True") { ret += "N,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_338) == "True") { ret += "S,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_339) == "True") { ret += "s,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3310) == "True") { ret += "Mur,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3311) == "True") { ret += "P1,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3312) == "True") { ret += "K,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3313) == "True") { ret += "Lea,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3314) == "True") { ret += "Leb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3315) == "True") { ret += "Fya,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3316) == "True") { ret += "Fyb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3317) == "True") { ret += "Jka,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3318) == "True") { ret += "Jkb,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3319) == "True") { ret += "Dia,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3321) == "True") { ret += "Wra,"; } if (ObjectParseExt.TryParseToString(answerInfo.CB12_3320) == "True") { ret += "UI,"; } if (ret.Length > 0) { ret = ret.Substring(0, ret.Length - 1); } } #endregion return ret; } public string GetZhiKangValue(string name, AnswerInfoViewModel answerInfo) { string ret = ""; if (name == "ZhiKang1") { if (!string.IsNullOrWhiteSpace(answerInfo.Part4.CB9_14) && answerInfo.Part4.CB9_14.ToLower() == "true") { ret = "阴性"; } else if (!string.IsNullOrWhiteSpace(answerInfo.Part4.CB9_15) && answerInfo.Part4.CB9_15.ToLower() == "true") { ret = "阳性"; } } else if (name == "ZhiKang2") { if (!string.IsNullOrWhiteSpace(answerInfo.Part4.CB9_24) && answerInfo.Part4.CB9_24.ToLower() == "true") { ret = "阴性"; } else if (!string.IsNullOrWhiteSpace(answerInfo.Part4.CB9_25) && answerInfo.Part4.CB9_25.ToLower() == "true") { ret = "阳性"; } } else if (name == "ZhiKang3") { if (!string.IsNullOrWhiteSpace(answerInfo.Part4.CB9_34) && answerInfo.Part4.CB9_34.ToLower() == "true") { ret = "阴性"; } else if (!string.IsNullOrWhiteSpace(answerInfo.Part4.CB9_35) && answerInfo.Part4.CB9_35.ToLower() == "true") { ret = "阳性"; } } return ret; } public string GetIdentityStandValue(string name, JObject answerInfo) { var ret = ""; #region if (name == "Identity1") { if (ObjectParseExt.TryParseToString(answerInfo["CB12_111"]) == "True") { ret += "D,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_112"]) == "True") { ret += "C,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_113"]) == "True") { ret += "c,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_114"]) == "True") { ret += "E,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_115"]) == "True") { ret += "e,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_116"]) == "True") { ret += "M,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_117"]) == "True") { ret += "N,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_118"]) == "True") { ret += "S,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_119"]) == "True") { ret += "s,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1110"]) == "True") { ret += "Mur,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1111"]) == "True") { ret += "P1,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1112"]) == "True") { ret += "K,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1113"]) == "True") { ret += "Lea,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1114"]) == "True") { ret += "Leb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1115"]) == "True") { ret += "Fya,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1116"]) == "True") { ret += "Fyb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1117"]) == "True") { ret += "Jka,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1118"]) == "True") { ret += "Jkb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1119"]) == "True") { ret += "Dia,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1121"]) == "True") { ret += "Wra,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_1120"]) == "True") { ret += "UI,"; } if (ret.Length > 0) { ret = ret.Substring(0, ret.Length - 1); } } #endregion #region if (name == "Identity2") { if (ObjectParseExt.TryParseToString(answerInfo["CB12_221"]) == "True") { ret += "D,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_222"]) == "True") { ret += "C,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_223"]) == "True") { ret += "c,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_224"]) == "True") { ret += "E,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_225"]) == "True") { ret += "e,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_226"]) == "True") { ret += "M,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_227"]) == "True") { ret += "N,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_228"]) == "True") { ret += "S,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_229"]) == "True") { ret += "s,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2210"]) == "True") { ret += "Mur,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2211"]) == "True") { ret += "P1,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2212"]) == "True") { ret += "K,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2213"]) == "True") { ret += "Lea,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2214"]) == "True") { ret += "Leb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2215"]) == "True") { ret += "Fya,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2216"]) == "True") { ret += "Fyb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2217"]) == "True") { ret += "Jka,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2218"]) == "True") { ret += "Jkb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2219"]) == "True") { ret += "Dia,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_2221"]) == "True") { ret += "Wra,"; } if ( ObjectParseExt.TryParseToString(answerInfo["CB12_2220"]) == "True") { ret += "UI,"; } if (ret.Length > 0) { ret = ret.Substring(0, ret.Length - 1); } } #endregion #region if (name == "Identity3") { if (ObjectParseExt.TryParseToString(answerInfo["CB12_331"]) == "True") { ret += "D,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_332"]) == "True") { ret += "C,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_333"]) == "True") { ret += "c,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_334"]) == "True") { ret += "E,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_335"]) == "True") { ret += "e,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_336"]) == "True") { ret += "M,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_337"]) == "True") { ret += "N,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_338"]) == "True") { ret += "S,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_339"]) == "True") { ret += "s,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3310"]) == "True") { ret += "Mur,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3311"]) == "True") { ret += "P1,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3312"]) == "True") { ret += "K,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3313"]) == "True") { ret += "Lea,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3314"]) == "True") { ret += "Leb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3315"]) == "True") { ret += "Fya,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3316"]) == "True") { ret += "Fyb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3317"]) == "True") { ret += "Jka,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3318"]) == "True") { ret += "Jkb,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3319"]) == "True") { ret += "Dia,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3321"]) == "True") { ret += "Wra,"; } if (ObjectParseExt.TryParseToString(answerInfo["CB12_3320"]) == "True") { ret += "UI,"; } if (ret.Length > 0) { ret = ret.Substring(0, ret.Length - 1); } } #endregion return ret; } } }