private void OnSaveInfo() { try { MethodInvoker method = delegate { List <BenhNhanNgoaiGoiKham> benhNhanNgoaiGoiKhamList = new List <BenhNhanNgoaiGoiKham>(); DataTable dt = dgBenhNhanNgoaiGoiKham.DataSource as DataTable; foreach (DataRow row in dt.Rows) { BenhNhanNgoaiGoiKham bnngk = new BenhNhanNgoaiGoiKham(); DateTime ngayKham = DateTime.Now; if (row["NgayKham"] != null && row["NgayKham"] != DBNull.Value) { ngayKham = Convert.ToDateTime(row["NgayKham"]); } bnngk.NgayKham = ngayKham; bnngk.PatientGUID = Guid.Parse(row["PatientGUID"].ToString()); bnngk.ServiceGUID = Guid.Parse(row["ServiceGUID"].ToString()); string lanDauStr = row["LanDauStr"].ToString(); bnngk.LanDau = lanDauStr == "Lần đầu" ? (byte)0 : (byte)1; bnngk.CreatedBy = Guid.Parse(Global.UserGUID); bnngk.CreatedDate = DateTime.Now; benhNhanNgoaiGoiKhamList.Add(bnngk); } Result result = BenhNhanNgoaiGoiKhamBus.InsertBenhNhanNgoaiGoiKham(benhNhanNgoaiGoiKhamList); if (!result.IsOK) { MsgBox.Show(this.Text, result.GetErrorAsString("BenhNhanNgoaiGoiKhamBus.InsertBenhNhanNgoaiGoiKham"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("BenhNhanNgoaiGoiKhamBus.InsertBenhNhanNgoaiGoiKham")); 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); } }
public static Result DeleteBenhNhanNgoaiGoiKham(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) { BenhNhanNgoaiGoiKham bnngk = db.BenhNhanNgoaiGoiKhams.SingleOrDefault <BenhNhanNgoaiGoiKham>(b => b.BenhNhanNgoaiGoiKhamGUID.ToString() == key); if (bnngk != null) { bnngk.DeletedDate = DateTime.Now; bnngk.DeletedBy = Guid.Parse(Global.UserGUID); bnngk.Status = (byte)Status.Deactived; desc += string.Format("- GUID: '{0}', Ngày khám: '{1}', Bệnh nhân: '{2}', Dịch vụ: '{3}', Lần đầu: '{4}'\n", bnngk.BenhNhanNgoaiGoiKhamGUID.ToString(), bnngk.NgayKham.ToString("dd/MM/yyyy HH:mm:ss"), bnngk.Patient.Contact.FullName, bnngk.Service.Name, bnngk.LanDau == 0 ? "Lần đầu" : "Tái khám"); } } //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 bệnh nhân ngoài gói khám"; 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); }