C#传递数组对象报错“未将对象引用设置到对象的实例”
public void HISBloodSendInfo(ref string errorMessage, StructHelper.sendBloodInfo gSendBloodInfo, StructHelper.sendBloodListInfo[] gSendBloodListInfo)
{
errorMessage = "";
try
{
HisService.HisServiceSoapClient TMISClient = new HisService.HisServiceSoapClient();
HisService.SendBloodClex SendBloodClex = new HisService.SendBloodClex();
HisService.SendBloodInfo SendBlodInfo = new HisService.SendBloodInfo();
HisService.SendBloodListInfo[] SendBloodListInfos = new HisService.SendBloodListInfo[gSendBloodListInfo.Length];
//SendBlodInfo.Name = "aaaa";
SendBlodInfo.HospitalId = Helper.NVL(gSendBloodInfo.hospitalId, "", true);
SendBlodInfo.Id = Helper.NVL(gSendBloodInfo.id,"",true);
SendBlodInfo.CaseId = Helper.NVL(gSendBloodInfo.caseId,"", true);
SendBlodInfo.Name = Helper.NVL(gSendBloodInfo.name, "", true);
SendBlodInfo.SexId = Helper.NVL(gSendBloodInfo.sexId, "", true);
SendBlodInfo.Birthday = Convert.ToDateTime(Helper.NVL(gSendBloodInfo.birthday.ToString(), "", true));
SendBlodInfo.IdCard = Helper.NVL(gSendBloodInfo.idCard, "", true);
SendBlodInfo.InHospitalId = Helper.NVL(gSendBloodInfo.inHospitalId, "", true);
SendBlodInfo.LocalHospitalId = Helper.NVL(gSendBloodInfo.localHospitalId, "", true);
SendBlodInfo.ApanageId = Helper.NVL(gSendBloodInfo.apanageId, "", true);
SendBlodInfo.BloodType = Helper.NVL(gSendBloodInfo.bloodType, "", true);
SendBlodInfo.BloodRh = Helper.NVL(gSendBloodInfo.bloodRh, "", true);
SendBlodInfo.Other = Helper.NVL(gSendBloodInfo.other, "", true);
SendBlodInfo.Age = Convert.ToInt32(Helper.NVL(gSendBloodInfo.age.ToString(), "", true));
SendBlodInfo.AgeTypeId = Helper.NVL(gSendBloodInfo.ageTypeId, "", true);
SendBlodInfo.OfficeId = Helper.NVL(gSendBloodInfo.officeId, "", true);
SendBlodInfo.BedAreaId = Helper.NVL(gSendBloodInfo.bedAreaId, "", true);
SendBlodInfo.BedAreaName = Helper.NVL(gSendBloodInfo.bedAreaName, "", true);
SendBlodInfo.BedNumber = Helper.NVL(gSendBloodInfo.bedNumber, "", true);
SendBlodInfo.Pregnant = Convert.ToInt16(Helper.NVL(gSendBloodInfo.pregnant.ToString(), "", true));
SendBlodInfo.Birth = Convert.ToInt16(Helper.NVL(gSendBloodInfo.birth.ToString(), "", true));
SendBlodInfo.HistoryId = Helper.NVL(gSendBloodInfo.historyId, "", true);
SendBlodInfo.IllnessId = Helper.NVL(gSendBloodInfo.IllnessId, "", true);
SendBlodInfo.IllnessName = Helper.NVL(gSendBloodInfo.IllnessName, "", true);
SendBlodInfo.Illness = Helper.NVL(gSendBloodInfo.Illness, "", true);
SendBlodInfo.Hgb = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.hgb.ToString(), "", true));
SendBlodInfo.Hct = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.hct.ToString(), "", true));
SendBlodInfo.Plt = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.plt.ToString(), "", true));
SendBlodInfo.Alt = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.alt.ToString(), "", true));
SendBlodInfo.HbsagId = Helper.NVL(gSendBloodInfo.hbsagId, "", true);
SendBlodInfo.HbeId = Helper.NVL(gSendBloodInfo.hbeId, "", true);
SendBlodInfo.HbcId = Helper.NVL(gSendBloodInfo.hbcId, "", true);
SendBlodInfo.AhbsId = Helper.NVL(gSendBloodInfo.ahbsId, "", true);
SendBlodInfo.HcvId = Helper.NVL(gSendBloodInfo.hcvId, "", true);
SendBlodInfo.HivId = Helper.NVL(gSendBloodInfo.hivId, "", true);
SendBlodInfo.SypId = Helper.NVL(gSendBloodInfo.sypId, "", true);
SendBlodInfo.PT = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.PT.ToString(), "", true));
SendBlodInfo.APTT = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.APTT.ToString(), "", true));
SendBlodInfo.FIB = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.FIB.ToString(), "", true));
SendBlodInfo.TT = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.TT.ToString(), "", true));
SendBlodInfo.DD = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.DD.ToString(), "", true));
SendBlodInfo.FDT = Convert.ToDecimal(Helper.NVL(gSendBloodInfo.FDT.ToString(), "", true));
SendBlodInfo.Routine = Helper.NVL(gSendBloodInfo.Routine, "", true);
SendBlodInfo.Aim = Helper.NVL(gSendBloodInfo.Aim, "", true);
SendBlodInfo.UseTypeId = Helper.NVL(gSendBloodInfo.UseTypeId, "", true);
SendBlodInfo.UseTypeName = Helper.NVL(gSendBloodInfo.UseTypeName, "", true);
SendBlodInfo.SenderId = Helper.NVL(gSendBloodInfo.SenderId, "", true);
SendBlodInfo.SendDate = Convert.ToDateTime(Helper.NVL(gSendBloodInfo.SendDate.ToString(), "", true));
SendBlodInfo.TesterId = Helper.NVL(gSendBloodInfo.TesterId, "", true);
SendBlodInfo.RequistionDate = Convert.ToDateTime(Helper.NVL(gSendBloodInfo.RequistionDate.ToString(), "", true));
SendBlodInfo.TransDate = Convert.ToDateTime(Helper.NVL(gSendBloodInfo.TransDate.ToString(), "", true));
SendBlodInfo.ApplyDoctor = Helper.NVL(gSendBloodInfo.ApplyDoctorId, "", true);
for (int i = 0; i < gSendBloodListInfo.Length; i++)
{
SendBloodListInfos[i].BloodId = "1";
//SendBloodClex.SendBloodListInfos[i].BloodId = "1";
SendBloodListInfos[i].BloodId = Helper.NVL(gSendBloodListInfo[i].BloodId, "", true);
SendBloodListInfos[i].DonId = Helper.NVL(gSendBloodListInfo[i].DonId, "", true);
SendBloodListInfos[i].ProId = Helper.NVL(gSendBloodListInfo[i].ProId, "", true);
}
SendBloodClex.SendBlodInfo = SendBlodInfo;
SendBloodClex.SendBloodListInfos = SendBloodListInfos;
errorMessage = TMISClient.SyncHISBloodSendInfo(TMISHelper.TmisUserName, TMISHelper.TmisUserPsd, SendBloodClex);
}
catch (Exception e)
{
errorMessage = e.Message;
//throw;
}
}