public IHttpActionResult getRebatePercentage(string ptCode) { try { var patientHi = new PatientHIDTO(); if (ptCode.Length == 15) { var insInterestsCode = ptCode.Trim().Substring(0, 3); var ls = getRebatePercentage(1, insInterestsCode); if (ls.Count == 0) { return(Ok(new { data = false, Err = 2 })); //"Mã BHYT không suy được mức hưởng BH!" } else { patientHi.RebatePercentage = Convert.ToDouble(ls[0]); patientHi.IBID = Convert.ToInt32(ls[1]); patientHi.InsInterestsCode = insInterestsCode; return(Ok(new { data = true, HI = patientHi })); } } else { return(Ok(new { data = false, Err = 6 })); // "Mã thẻ BHYT không chính xác!" } } catch (Exception exp) { return(BadRequest(exp.ToString())); } }
public IHttpActionResult splitPatientHI(string ptHI) { try { var patientHi = new PatientHIDTO(); var arrObject = ptHI.Split('|'); bool flag = true; var err = 0; if (arrObject.Length > 13) { var insInterestsCode = arrObject[0].Trim().Substring(0, 3); var ls = getRebatePercentage(1, insInterestsCode); if (arrObject[0].Trim().Length != 15) { flag = false; err = 1;//"Mã BHYT không đúng"; } else if (ls.Count == 0) { flag = false; err = 2; // "Mã BHYT không suy được mức hưởng BHXY!"; } else if (DateTime.Compare(DateTime.ParseExact(arrObject[7], "dd/MM/yyyy", CultureInfo.InvariantCulture), DateTime.Now.Date) < 0) { flag = false; err = 3;// "Thẻ hết hạn sử dụng!"; } else if (getHosName(arrObject[5].Trim().Replace("-", "").Replace(" ", "")).Count == 0) { flag = false; err = 4;// "Mã nơi đăng ký ban đầu không có trong hệ thống!"; } else { patientHi.HICode = arrObject[0].Trim(); patientHi.PersName = ConvertHexStrToUnicode(arrObject[1]); patientHi.BOD = DateTime.ParseExact(arrObject[2], "dd/MM/yyyy", CultureInfo.InvariantCulture); patientHi.Gender = Convert.ToInt16(arrObject[3].Trim()); patientHi.Address = ConvertHexStrToUnicode(arrObject[4].Trim()); patientHi.HosCode = arrObject[5].Trim().Replace("-", "").Replace(" ", ""); patientHi.StartDate = DateTime.ParseExact(arrObject[6], "dd/MM/yyyy", CultureInfo.InvariantCulture); patientHi.EndDate = DateTime.ParseExact(arrObject[7], "dd/MM/yyyy", CultureInfo.InvariantCulture); patientHi.CreatedDate = DateTime.ParseExact(arrObject[8], "dd/MM/yyyy", CultureInfo.InvariantCulture); patientHi.PersonalBHCode = arrObject[9].Trim(); patientHi.FamilyName = arrObject[10].Trim() == "-" ? arrObject[10].Trim() : ConvertHexStrToUnicode(arrObject[10]); patientHi.CountryCode = Convert.ToInt16(arrObject[11].Trim()); if (arrObject[12].Trim() != "-") { patientHi.FiveYear = DateTime.ParseExact(arrObject[12], "dd/MM/yyyy", CultureInfo.InvariantCulture); } patientHi.CheckedBH = arrObject[13]; if (patientHi.HosCode != "") { var lss = getHosName(patientHi.HosCode.Trim()); if (lss.Count > 0) { patientHi.HosID = Convert.ToInt32(lss[0]); patientHi.HosAddress = lss[1]; } } if (ls.Count > 0) { patientHi.RebatePercentage = Convert.ToDouble(ls[0]); patientHi.IBID = Convert.ToInt32(ls[1]); } patientHi.InsInterestsCode = insInterestsCode; } string ptCode = getPtCode(patientHi.HICode.Trim()); if (flag) { return(Ok(new { HI = patientHi, PtCode = ptCode, Err = err })); } else { patientHi.HICode = ptHI; return(Ok(new { HI = patientHi, PtCode = ptCode, Err = err })); } } else { patientHi.HICode = ptHI; string ptCode = getPtCode(patientHi.HICode.Trim()); return(Ok(new { HI = patientHi, PtCode = ptCode, Err = 5 })); // 5:"Thẻ QA không đúng format!" } } catch (Exception exp) { return(BadRequest(exp.ToString())); } }