public void Create(string id) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { //create new row var newRow = new RPT_COVID19EX(); newRow.PERSON_ID = id; newRow.REPORTER = 1; newRow.CREATED_DT = DateTime.Now; newRow.TRAVEL_FLAG = false; newRow.REPORT_DT = DateTime.Now; context.RPT_COVID19EX.Add(newRow); context.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } }
public void Create(RptCovid19ExViewModel ViewModel) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { if (ViewModel.REPORTERS != null && ViewModel.REPORTERS.Count() > 0) { foreach (var item in ViewModel.REPORTERS) { //create new row var newRow = new RPT_COVID19EX(); newRow.PERSON_ID = ViewModel.PERSON_ID; newRow.REPORTER = item; newRow.TRAVEL_REASON = item == 1 ? ViewModel.TRAVEL_REASON : ViewModel.TRAVEL_REASON2; newRow.ARRIVAL_DT = item == 1 ? ViewModel.ARRIVAL_DT : ViewModel.ARRIVAL_DT2; newRow.ARRIVAL_FLIGHT = item == 1 ? ViewModel.ARRIVAL_FLIGHT : ViewModel.ARRIVAL_FLIGHT2; newRow.DEPARTURE_DT = item == 1 ? ViewModel.DEPARTURE_DT : ViewModel.DEPARTURE_DT2; newRow.DEPARTURE_FLIGHT = item == 1 ? ViewModel.DEPARTURE_FLIGHT : ViewModel.DEPARTURE_FLIGHT2; newRow.HAS_FLU = ViewModel.HAS_FLU == "1" ? "มีไข้" : "ไม่มีไข้"; newRow.HAS_FLU_OTHER = ViewModel.HAS_FLU_OTHER == "1" ? "มีไข้" : "ไม่มีไข้"; newRow.TEMPERATURE = ViewModel.TEMPERATURE; newRow.TEMPERATURE_OTHER = ViewModel.TEMPERATURE_OTHER; newRow.REPORT_DT = ViewModel.REPORT_DT; newRow.TRAVEL_TOGETHER = ViewModel.TRAVEL_TOGETHER; newRow.CREATED_DT = DateTime.Now; newRow.TRAVEL_FLAG = true; newRow.COMPANION_NAME1 = ViewModel.COMPANION_NAME1; newRow.COMPANION_NAME2 = ViewModel.COMPANION_NAME2; newRow.COMPANION_NAME3 = ViewModel.COMPANION_NAME3; newRow.COMPANION_RELATION1 = ViewModel.COMPANION_RELATION1; newRow.COMPANION_RELATION2 = ViewModel.COMPANION_RELATION2; newRow.COMPANION_RELATION3 = ViewModel.COMPANION_RELATION3; context.RPT_COVID19EX.Add(newRow); context.SaveChanges(); if (item == 1) { if (ViewModel.COUNTRY != null && ViewModel.COUNTRY.Count() > 0) { foreach (var ct in ViewModel.COUNTRY) { var c = new RPT_COVID19EX_COUNTRY(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 1; c.COUNTRY_ID = ct != 999 ? ct : ViewModel.COUNTRY_ID; context.RPT_COVID19EX_COUNTRY.Add(c); context.SaveChanges(); } } if (ViewModel.SYMTOMS != null && ViewModel.SYMTOMS.Count() > 0) { foreach (var st in ViewModel.SYMTOMS) { var c = new RPT_COVID19EX_SYMTOMS(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 1; c.SYMTOMS_ID = st; context.RPT_COVID19EX_SYMTOMS.Add(c); context.SaveChanges(); } } if (ViewModel.SYMTOMS_OTHER != null && ViewModel.SYMTOMS_OTHER.Count() > 0) { foreach (var sto in ViewModel.SYMTOMS_OTHER) { var c = new RPT_COVID19EX_SYMTOMS_OTHER(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 1; c.SYMTOMS_ID = sto; context.RPT_COVID19EX_SYMTOMS_OTHER.Add(c); context.SaveChanges(); } } } if (item == 2) { if (ViewModel.COUNTRY2 != null && ViewModel.COUNTRY2.Count() > 0) { foreach (var ct2 in ViewModel.COUNTRY2) { var c = new RPT_COVID19EX_COUNTRY(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 2; c.COUNTRY_ID = ct2 != 999 ? ct2 : ViewModel.COUNTRY_ID2; context.RPT_COVID19EX_COUNTRY.Add(c); context.SaveChanges(); } } if (ViewModel.SYMTOMS2 != null && ViewModel.SYMTOMS2.Count() > 0) { foreach (var st2 in ViewModel.SYMTOMS2) { var c = new RPT_COVID19EX_SYMTOMS(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 2; c.SYMTOMS_ID = st2; context.RPT_COVID19EX_SYMTOMS.Add(c); context.SaveChanges(); } } } } } dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } }
public void CreateDaily(RptCovid19ExViewModel ViewModel) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { var query = context.RPT_COVID19EX .Include(o => o.RPT_COVID19EX_COUNTRY) .Where(o => o.PERSON_ID == ViewModel.PERSON_ID && o.REPORTER == 1) .OrderByDescending(o => o.CREATED_DT) .FirstOrDefault(); if (query != null && query.TRAVEL_FLAG.HasValue) { //create new row var newRow = new RPT_COVID19EX(); newRow.PERSON_ID = query.PERSON_ID; newRow.REPORTER = query.REPORTER; newRow.HAS_FLU = ViewModel.HAS_FLU == "1" ? "มีไข้" : "ไม่มีไข้"; newRow.CLOSE_PATIENT_FLAG = ViewModel.CLOSE_PATIENT_FLAG; newRow.CLOSE_PATIENT_DETAIL = ViewModel.CLOSE_PATIENT_DETAIL; newRow.TEMPERATURE = ViewModel.TEMPERATURE; newRow.CREATED_DT = DateTime.Now; newRow.TRAVEL_FLAG = query.TRAVEL_FLAG; if (query.TRAVEL_FLAG.Value) { newRow.ARRIVAL_DT = query.ARRIVAL_DT; newRow.ARRIVAL_FLIGHT = query.ARRIVAL_FLIGHT; newRow.DEPARTURE_DT = query.DEPARTURE_DT; newRow.DEPARTURE_FLIGHT = query.DEPARTURE_FLIGHT; newRow.HAS_FLU_OTHER = query.HAS_FLU_OTHER; newRow.TEMPERATURE_OTHER = query.TEMPERATURE_OTHER; newRow.TRAVEL_TOGETHER = query.TRAVEL_TOGETHER; newRow.COMPANION_NAME1 = query.COMPANION_NAME1; newRow.COMPANION_NAME2 = query.COMPANION_NAME2; newRow.COMPANION_NAME3 = query.COMPANION_NAME3; newRow.COMPANION_RELATION1 = query.COMPANION_RELATION1; newRow.COMPANION_RELATION2 = query.COMPANION_RELATION2; newRow.COMPANION_RELATION3 = query.COMPANION_RELATION3; } context.RPT_COVID19EX.Add(newRow); context.SaveChanges(); if (ViewModel.SYMTOMS != null && ViewModel.SYMTOMS.Count() > 0) { foreach (var st in ViewModel.SYMTOMS) { var c = new RPT_COVID19EX_SYMTOMS(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 1; c.SYMTOMS_ID = st; c.SYMTOMS_OTHER = st == 98 ? (!string.IsNullOrEmpty(ViewModel.SYMTOMS_OTHER_TEXT) ? ViewModel.SYMTOMS_OTHER_TEXT : null) : null; context.RPT_COVID19EX_SYMTOMS.Add(c); context.SaveChanges(); } } if (query.RPT_COVID19EX_COUNTRY != null && query.RPT_COVID19EX_COUNTRY.Count() > 0) { foreach (var ct in query.RPT_COVID19EX_COUNTRY) { var c = new RPT_COVID19EX_COUNTRY(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 1; c.COUNTRY_ID = ct.COUNTRY_ID; context.RPT_COVID19EX_COUNTRY.Add(c); context.SaveChanges(); } } } else { // สำหรับคนที่ไม่ได้ไปต่างประเทศ add by Jay 20Mar2020 var newRow = new RPT_COVID19EX(); newRow.PERSON_ID = ViewModel.PERSON_ID; newRow.REPORTER = 1; newRow.HAS_FLU = ViewModel.HAS_FLU == "1" ? "มีไข้" : "ไม่มีไข้"; newRow.CLOSE_PATIENT_FLAG = ViewModel.CLOSE_PATIENT_FLAG; newRow.CLOSE_PATIENT_DETAIL = ViewModel.CLOSE_PATIENT_DETAIL; newRow.TEMPERATURE = ViewModel.TEMPERATURE; newRow.TRAVEL_FLAG = false; newRow.CREATED_DT = DateTime.Now; context.RPT_COVID19EX.Add(newRow); context.SaveChanges(); if (ViewModel.SYMTOMS != null && ViewModel.SYMTOMS.Count() > 0) { foreach (var st in ViewModel.SYMTOMS) { var c = new RPT_COVID19EX_SYMTOMS(); c.REPORTER_ID = newRow.ID; c.PERSON_TYPE_ID = 1; c.SYMTOMS_ID = st; c.SYMTOMS_OTHER = st == 98 ? (!string.IsNullOrEmpty(ViewModel.SYMTOMS_OTHER_TEXT) ? ViewModel.SYMTOMS_OTHER_TEXT : null) : null; context.RPT_COVID19EX_SYMTOMS.Add(c); context.SaveChanges(); } } } dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } }