public static Result ChuyenBenhAn(string patientGUID, List <DataRow> rows) { Result result = new Result(); MMOverride db = null; try { db = new MMOverride(); using (TransactionScope t = new TransactionScope(TransactionScopeOption.RequiresNew)) { foreach (DataRow row in rows) { string ketQuaCanLamSangGUID = row["KetQuaCanLamSangGUID"].ToString(); KetQuaCanLamSang ketQuaCanLamSang = (from s in db.KetQuaCanLamSangs where s.KetQuaCanLamSangGUID.ToString() == ketQuaCanLamSangGUID select s).FirstOrDefault(); if (ketQuaCanLamSang == null) { continue; } //Tracking string desc = string.Format("- KetQuaCanLamSangGUID: '{0}': PatientGUID: '{1}' ==> '{2}' (KetQuaCanLamSang)", ketQuaCanLamSangGUID, ketQuaCanLamSang.PatientGUID.ToString(), patientGUID); ketQuaCanLamSang.PatientGUID = Guid.Parse(patientGUID); Tracking tk = new Tracking(); tk.TrackingGUID = Guid.NewGuid(); tk.TrackingDate = DateTime.Now; tk.DocStaffGUID = Guid.Parse(Global.UserGUID); tk.ActionType = (byte)ActionType.Edit; tk.Action = "Chuyển bệnh án"; tk.Description = desc; tk.TrackingType = (byte)TrackingType.None; tk.ComputerName = Utility.GetDNSHostName(); db.Trackings.InsertOnSubmit(tk); } db.SubmitChanges(); t.Complete(); } } catch (System.Data.SqlClient.SqlException se) { result.Error.Code = (se.Message.IndexOf("Timeout expired") >= 0) ? ErrorCode.SQL_QUERY_TIMEOUT : ErrorCode.INVALID_SQL_STATEMENT; result.Error.Description = se.ToString(); } catch (Exception e) { result.Error.Code = ErrorCode.UNKNOWN_ERROR; result.Error.Description = e.ToString(); } finally { if (db != null) { db.Dispose(); db = null; } } return(result); }
public static Result DeleteKetQuaCanLamSang(List <String> keys) { Result result = new Result(); MMOverride db = null; try { db = new MMOverride(); using (TransactionScope t = new TransactionScope(TransactionScopeOption.RequiresNew)) { string desc = string.Empty; foreach (string key in keys) { KetQuaCanLamSang canLamSang = db.KetQuaCanLamSangs.SingleOrDefault <KetQuaCanLamSang>(s => s.KetQuaCanLamSangGUID.ToString() == key); if (canLamSang != null) { canLamSang.DeletedDate = DateTime.Now; canLamSang.DeletedBy = Guid.Parse(Global.UserGUID); canLamSang.Status = (byte)Status.Deactived; string bacSiThucHien = string.Empty; if (canLamSang.DocStaff != null) { bacSiThucHien = canLamSang.DocStaff.Contact.FullName; } desc += string.Format("- GUID: '{0}', Bệnh nhân: '{1}', Bác sĩ thực hiện: '{2}', Dịch vụ: '{3}'\n", canLamSang.KetQuaCanLamSangGUID.ToString(), canLamSang.Patient.Contact.FullName, bacSiThucHien, canLamSang.Service.Name); } } //Tracking desc = desc.Substring(0, desc.Length - 1); Tracking tk = new Tracking(); tk.TrackingGUID = Guid.NewGuid(); tk.TrackingDate = DateTime.Now; tk.DocStaffGUID = Guid.Parse(Global.UserGUID); tk.ActionType = (byte)ActionType.Delete; tk.Action = "Xóa thông tin kết quả cận lâm sàng"; tk.Description = desc; tk.TrackingType = (byte)TrackingType.None; tk.ComputerName = Utility.GetDNSHostName(); db.Trackings.InsertOnSubmit(tk); db.SubmitChanges(); t.Complete(); } } catch (System.Data.SqlClient.SqlException se) { result.Error.Code = (se.Message.IndexOf("Timeout expired") >= 0) ? ErrorCode.SQL_QUERY_TIMEOUT : ErrorCode.INVALID_SQL_STATEMENT; result.Error.Description = se.ToString(); } catch (Exception e) { result.Error.Code = ErrorCode.UNKNOWN_ERROR; result.Error.Description = e.ToString(); } finally { if (db != null) { db.Dispose(); db = null; } } return(result); }
public static Result InsertKetQuaCanLamSang(KetQuaCanLamSang canLamSang) { Result result = new Result(); MMOverride db = null; try { db = new MMOverride(); string desc = string.Empty; using (TransactionScope t = new TransactionScope(TransactionScopeOption.RequiresNew)) { //Insert if (canLamSang.KetQuaCanLamSangGUID == null || canLamSang.KetQuaCanLamSangGUID == Guid.Empty) { canLamSang.KetQuaCanLamSangGUID = Guid.NewGuid(); db.KetQuaCanLamSangs.InsertOnSubmit(canLamSang); db.SubmitChanges(); string bacSiThucHien = string.Empty; if (canLamSang.DocStaff != null) { bacSiThucHien = canLamSang.DocStaff.Contact.FullName; } //Tracking desc += string.Format("- GUID: '{0}', Bệnh nhân: '{1}', Bác sĩ: '{2}', Dịch vụ: '{3}'", canLamSang.KetQuaCanLamSangGUID.ToString(), canLamSang.Patient.Contact.FullName, bacSiThucHien, canLamSang.Service.Name); Tracking tk = new Tracking(); tk.TrackingGUID = Guid.NewGuid(); tk.TrackingDate = DateTime.Now; tk.DocStaffGUID = Guid.Parse(Global.UserGUID); tk.ActionType = (byte)ActionType.Add; tk.Action = "Thêm thông tin kết quả cận lâm sàng"; tk.Description = desc; tk.TrackingType = (byte)TrackingType.None; tk.ComputerName = Utility.GetDNSHostName(); db.Trackings.InsertOnSubmit(tk); db.SubmitChanges(); } else //Update { KetQuaCanLamSang kqcls = db.KetQuaCanLamSangs.SingleOrDefault <KetQuaCanLamSang>(s => s.KetQuaCanLamSangGUID == canLamSang.KetQuaCanLamSangGUID); if (kqcls != null) { kqcls.NgayKham = canLamSang.NgayKham; kqcls.CreatedBy = canLamSang.CreatedBy; kqcls.CreatedDate = canLamSang.CreatedDate; kqcls.DeletedBy = canLamSang.DeletedBy; kqcls.DeletedDate = canLamSang.DeletedDate; kqcls.BacSiThucHienGUID = canLamSang.BacSiThucHienGUID; kqcls.Note = canLamSang.Note; kqcls.ServiceGUID = canLamSang.ServiceGUID; kqcls.UpdatedBy = canLamSang.UpdatedBy; kqcls.UpdatedDate = canLamSang.UpdatedDate; kqcls.Status = canLamSang.Status; kqcls.IsNormalOrNegative = canLamSang.IsNormalOrNegative; kqcls.Normal = canLamSang.Normal; kqcls.Abnormal = canLamSang.Abnormal; kqcls.Negative = canLamSang.Negative; kqcls.Positive = canLamSang.Positive; db.SubmitChanges(); string bacSiThucHien = string.Empty; if (kqcls.DocStaff != null) { bacSiThucHien = kqcls.DocStaff.Contact.FullName; } //Tracking desc += string.Format("- GUID: '{0}', Bệnh nhân: '{1}', Bác sĩ: '{2}', Dịch vụ: '{3}'", kqcls.KetQuaCanLamSangGUID.ToString(), kqcls.Patient.Contact.FullName, bacSiThucHien, kqcls.Service.Name); Tracking tk = new Tracking(); tk.TrackingGUID = Guid.NewGuid(); tk.TrackingDate = DateTime.Now; tk.DocStaffGUID = Guid.Parse(Global.UserGUID); tk.ActionType = (byte)ActionType.Edit; tk.Action = "Sửa thông tin kết quả cận lâm sàng"; tk.Description = desc; tk.TrackingType = (byte)TrackingType.None; tk.ComputerName = Utility.GetDNSHostName(); db.Trackings.InsertOnSubmit(tk); db.SubmitChanges(); } } t.Complete(); } } catch (System.Data.SqlClient.SqlException se) { result.Error.Code = (se.Message.IndexOf("Timeout expired") >= 0) ? ErrorCode.SQL_QUERY_TIMEOUT : ErrorCode.INVALID_SQL_STATEMENT; result.Error.Description = se.ToString(); } catch (Exception e) { result.Error.Code = ErrorCode.UNKNOWN_ERROR; result.Error.Description = e.ToString(); } finally { if (db != null) { db.Dispose(); db = null; } } return(result); }
private void OnSaveInfo() { try { MethodInvoker method = delegate { int count = dgCanLamSang.RowCount - 1; List <KetQuaCanLamSang> canLamSangList = new List <KetQuaCanLamSang>(); for (int i = 0; i < count; i++) { DataGridViewRow row = dgCanLamSang.Rows[i]; KetQuaCanLamSang canLamSang = new KetQuaCanLamSang(); canLamSang.CreatedDate = DateTime.Now; canLamSang.CreatedBy = Guid.Parse(Global.UserGUID); canLamSang.PatientGUID = Guid.Parse(_patientGUID); canLamSang.NgayKham = dtpkActiveDate.Value; canLamSang.ServiceGUID = Guid.Parse(row.Cells[1].Value.ToString()); if (row.Cells[2].Value != null && row.Cells[2].Value.ToString() != Guid.Empty.ToString()) { canLamSang.BacSiThucHienGUID = Guid.Parse(row.Cells[2].Value.ToString()); } else { canLamSang.BacSiThucHienGUID = null; } bool binhThuong = Convert.ToBoolean(row.Cells[3].Value); bool batThuong = Convert.ToBoolean(row.Cells[4].Value); bool amTinh = Convert.ToBoolean(row.Cells[5].Value); bool duongTinh = Convert.ToBoolean(row.Cells[6].Value); canLamSang.IsNormalOrNegative = (!amTinh && !duongTinh) ? true : false; canLamSang.Normal = binhThuong; canLamSang.Abnormal = batThuong; canLamSang.Negative = amTinh; canLamSang.Positive = duongTinh; canLamSang.Note = row.Cells[7].Value as string; canLamSangList.Add(canLamSang); } Result result = KetQuaCanLamSangBus.InsertMultiKetQuaCanLamSang(canLamSangList); if (!result.IsOK) { MsgBox.Show(this.Text, result.GetErrorAsString("KetQuaCanLamSangBus.InsertMultiKetQuaCanLamSang"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("KetQuaCanLamSangBus.InsertMultiKetQuaCanLamSang")); this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } }; if (InvokeRequired) { BeginInvoke(method); } else { method.Invoke(); } } catch (Exception e) { MsgBox.Show(this.Text, e.Message, IconType.Error); Utility.WriteToTraceLog(e.Message); } }