public static Result GetChiDinh(string serviceHistoryGUID) { Result result = new Result(); MMOverride db = null; try { db = new MMOverride(); DichVuChiDinh dvcd = (from d in db.DichVuChiDinhs where d.ServiceHistoryGUID.ToString() == serviceHistoryGUID && d.Status == (byte)Status.Actived orderby d.CreatedDate descending select d).FirstOrDefault <DichVuChiDinh>(); if (dvcd != null) { ChiTietChiDinh ctcd = db.ChiTietChiDinhs.SingleOrDefault(c => c.ChiTietChiDinhGUID == dvcd.ChiTietChiDinhGUID && c.Status == (byte)Status.Actived); if (ctcd != null) { ChiDinh cd = db.ChiDinhs.SingleOrDefault(c => c.ChiDinhGUID == ctcd.ChiDinhGUID && c.Status == (byte)Status.Actived); result.QueryResult = cd; } } } 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 { if (_isNew) { _serviceHistory.CreatedDate = DateTime.Now; _serviceHistory.CreatedBy = Guid.Parse(Global.UserGUID); } else { _serviceHistory.UpdatedDate = DateTime.Now; _serviceHistory.UpdatedBy = Guid.Parse(Global.UserGUID); } _serviceHistory.PatientGUID = Guid.Parse(_patientGUID); _serviceHistory.Note = txtDescription.Text; MethodInvoker method = delegate { _serviceHistory.ActivedDate = dtpkActiveDate.Value; _serviceHistory.KhamTuTuc = raKhamTuTuc.Checked; if (cboDocStaff.SelectedValue != null && cboDocStaff.Text.Trim() != string.Empty) _serviceHistory.DocStaffGUID = Guid.Parse(cboDocStaff.SelectedValue.ToString()); else _serviceHistory.DocStaffGUID = null; if (chkChuyenNhuong.Checked) _serviceHistory.RootPatientGUID = Guid.Parse(txtChuyenNhuong.Tag.ToString()); else _serviceHistory.RootPatientGUID = null; _serviceHistory.ServiceGUID = Guid.Parse(cboService.SelectedValue.ToString()); _serviceHistory.Price = (double)numPrice.Value; _serviceHistory.Discount = (double)numDiscount.Value; _serviceHistory.SoLuong = Convert.ToInt32(numSoLuong.Value); _serviceHistory.IsNormalOrNegative = raNormal.Checked; if (raNormal.Checked) { _serviceHistory.Normal = chkNormal.Checked; _serviceHistory.Abnormal = chkAbnormal.Checked; _serviceHistory.Negative = false; _serviceHistory.Positive = false; } else { _serviceHistory.Normal = false; _serviceHistory.Abnormal = false; _serviceHistory.Negative = chkNegative.Checked; _serviceHistory.Positive = chkPositive.Checked; } if (_hopDongGUID != string.Empty) _serviceHistory.HopDongGUID = Guid.Parse(_hopDongGUID); Result result = GiaVonDichVuBus.GetGiaVonDichVuMoiNhat(_serviceHistory.ServiceGUID.ToString(), _serviceHistory.ActivedDate.Value); if (!result.IsOK) { MsgBox.Show(this.Text, result.GetErrorAsString("GiaVonDichVuBus.GetGiaVonDichVuMoiNhat"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("GiaVonDichVuBus.GetGiaVonDichVuMoiNhat")); this.DialogResult = System.Windows.Forms.DialogResult.Cancel; return; } DataTable dt = result.QueryResult as DataTable; if (dt != null && dt.Rows.Count > 0) _serviceHistory.GiaVon = Convert.ToDouble(dt.Rows[0]["GiaVon"]); result = ServiceHistoryBus.InsertServiceHistory(_serviceHistory); if (!result.IsOK) { MsgBox.Show(this.Text, result.GetErrorAsString("ServiceHistoryBus.InsertServiceHistory"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("ServiceHistoryBus.InsertServiceHistory")); this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } else if (_serviceGUID == string.Empty) { if (chkBSCD.Checked) { if (_chiDinh == null) { _chiDinh = new ChiDinh(); string maChiDinh = GenerateCode(); if (maChiDinh == string.Empty) return; //Insert chỉ định _chiDinh.CreatedDate = DateTime.Now; _chiDinh.CreatedBy = Guid.Parse(Global.UserGUID); _chiDinh.MaChiDinh = maChiDinh; _chiDinh.BenhNhanGUID = Guid.Parse(_patientGUID); _chiDinh.BacSiChiDinhGUID = Guid.Parse(cboBacSiChiDinh.SelectedValue.ToString()); _chiDinh.NgayChiDinh = DateTime.Now; _chiDinh.Status = (byte)Status.Actived; List<ChiTietChiDinh> addedList = new List<ChiTietChiDinh>(); List<string> deletedKeys = new List<string>(); ChiTietChiDinh ctcd = new ChiTietChiDinh(); ctcd.CreatedDate = DateTime.Now; ctcd.CreatedBy = Guid.Parse(Global.UserGUID); ctcd.ServiceGUID = _serviceHistory.ServiceGUID.Value; addedList.Add(ctcd); result = ChiDinhBus.InsertChiDinh(_chiDinh, addedList, deletedKeys); if (!result.IsOK) { MsgBox.Show(Application.ProductName, result.GetErrorAsString("ChiDinhBus.InsertChiDinh"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("ChiDinhBus.InsertChiDinh")); this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } else { DichVuChiDinh dichVuChiDinh = new DichVuChiDinh(); dichVuChiDinh.ServiceHistoryGUID = _serviceHistory.ServiceHistoryGUID; dichVuChiDinh.ChiTietChiDinhGUID = ctcd.ChiTietChiDinhGUID; dichVuChiDinh.CreatedDate = DateTime.Now; dichVuChiDinh.CraetedBy = Guid.Parse(Global.UserGUID); dichVuChiDinh.Status = (byte)Status.Actived; result = ChiDinhBus.InsertDichVuChiDinh(dichVuChiDinh); if (!result.IsOK) { MsgBox.Show(Application.ProductName, result.GetErrorAsString("ChiDinhBus.InsertDichVuChiDinh"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("ChiDinhBus.InsertDichVuChiDinh")); this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } } } else { _chiDinh.UpdatedDate = DateTime.Now; _chiDinh.UpdatedBy = Guid.Parse(Global.UserGUID); _chiDinh.Status = (byte)Status.Actived; _chiDinh.BacSiChiDinhGUID = Guid.Parse(cboBacSiChiDinh.SelectedValue.ToString()); result = ChiDinhBus.UpdateChiDinh(_chiDinh, cboService.SelectedValue.ToString()); if (!result.IsOK) { MsgBox.Show(Application.ProductName, result.GetErrorAsString("ChiDinhBus.UpdateChiDinh"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("ChiDinhBus.UpdateChiDinh")); this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } } } else if (_chiDinh != null) { List<string> keys = new List<string>(); keys.Add(_chiDinh.ChiDinhGUID.ToString()); result = ChiDinhBus.DeleteChiDinhs(keys); if (!result.IsOK) { MsgBox.Show(Application.ProductName, result.GetErrorAsString("ChiDinhBus.DeleteChiDinhs"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("ChiDinhBus.DeleteChiDinhs")); 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); } }
private void OnSaveInfo() { try { if (_isNew) { _chiDinh = new Databasae.ChiDinh(); _chiDinh.CreatedDate = DateTime.Now; _chiDinh.CreatedBy = Guid.Parse(Global.UserGUID); } else { _chiDinh.UpdatedDate = DateTime.Now; _chiDinh.UpdatedBy = Guid.Parse(Global.UserGUID); } MethodInvoker method = delegate { _chiDinh.MaChiDinh = txtMaChiDinh.Text; _chiDinh.BenhNhanGUID = Guid.Parse(_patientRow["PatientGUID"].ToString()); _chiDinh.BacSiChiDinhGUID = Guid.Parse(cboDocStaff.SelectedValue.ToString()); _chiDinh.NgayChiDinh = DateTime.Now; _chiDinh.Status = (byte)Status.Actived; List <DataRow> checkedRows = this.CheckedRows; List <ChiTietChiDinh> addedList = new List <ChiTietChiDinh>(); List <string> deletedKeys = new List <string>(); foreach (DataRow row in checkedRows) { ChiTietChiDinh ctcd = new ChiTietChiDinh(); ctcd.CreatedDate = DateTime.Now; ctcd.CreatedBy = Guid.Parse(Global.UserGUID); ctcd.ServiceGUID = Guid.Parse(row["ServiceGUID"].ToString()); addedList.Add(ctcd); } if (!_isNew) { foreach (DataRow row in _dtChiTietChiDinh.Rows) { bool isExist = false; foreach (DataRow row2 in checkedRows) { if (row["ServiceGUID"].ToString() == row2["ServiceGUID"].ToString()) { isExist = true; break; } } if (!isExist) { deletedKeys.Add(row["ChiTietChiDinhGUID"].ToString()); } } } Result result = ChiDinhBus.InsertChiDinh(_chiDinh, addedList, deletedKeys); if (!result.IsOK) { MsgBox.Show(Application.ProductName, result.GetErrorAsString("ChiDinhBus.InsertChiDinh"), IconType.Error); Utility.WriteToTraceLog(result.GetErrorAsString("ChiDinhBus.InsertChiDinh")); 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 UpdateChiDinh(ChiDinh chiDinh, string serverGUID) { Result result = new Result(); MMOverride db = null; try { db = new MMOverride(); string desc = string.Empty; ChiDinh cd = db.ChiDinhs.SingleOrDefault <ChiDinh>(c => c.ChiDinhGUID.ToString() == chiDinh.ChiDinhGUID.ToString()); if (cd != null) { cd.MaChiDinh = chiDinh.MaChiDinh; cd.NgayChiDinh = chiDinh.NgayChiDinh; cd.BacSiChiDinhGUID = chiDinh.BacSiChiDinhGUID; cd.BenhNhanGUID = chiDinh.BenhNhanGUID; cd.CreatedDate = chiDinh.CreatedDate; cd.CreatedBy = chiDinh.CreatedBy; cd.UpdatedDate = chiDinh.UpdatedDate; cd.UpdatedBy = chiDinh.UpdatedBy; cd.DeletedDate = chiDinh.DeletedDate; cd.DeletedBy = chiDinh.DeletedBy; cd.Status = chiDinh.Status; ChiTietChiDinh ctcd = db.ChiTietChiDinhs.SingleOrDefault(c => c.ChiDinhGUID == cd.ChiDinhGUID && c.Status == (byte)Status.Actived); if (ctcd != null) { ctcd.ServiceGUID = Guid.Parse(serverGUID); } db.SubmitChanges(); desc += string.Format("- Chỉ định: GUID: '{0}', Mã chỉ định: '{1}', Ngày chỉ định: '{2}', Bác sĩ chỉ định: '{3}', Bệnh nhân: '{4}'\n", cd.ChiDinhGUID.ToString(), cd.MaChiDinh, cd.NgayChiDinh.ToString("dd/MM/yyyy HH:mm:ss"), cd.DocStaff.Contact.FullName, cd.Patient.Contact.FullName); //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.Edit; tk.Action = "Sửa thông tin chỉ định"; tk.Description = desc; tk.TrackingType = (byte)TrackingType.None; tk.ComputerName = Utility.GetDNSHostName(); db.Trackings.InsertOnSubmit(tk); db.SubmitChanges(); } } 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 InsertChiDinh(ChiDinh chiDinh, List <ChiTietChiDinh> addedList, List <string> deletedList) { Result result = new Result(); MMOverride db = null; try { db = new MMOverride(); string desc = string.Empty; //Insert if (chiDinh.ChiDinhGUID == null || chiDinh.ChiDinhGUID == Guid.Empty) { chiDinh.ChiDinhGUID = Guid.NewGuid(); db.ChiDinhs.InsertOnSubmit(chiDinh); db.SubmitChanges(); desc += string.Format("- Chỉ định: GUID: '{0}', Mã chỉ định: '{1}', Ngày chỉ định: '{2}', Bác sĩ chỉ định: '{3}', Bệnh nhân: '{4}'\n", chiDinh.ChiDinhGUID.ToString(), chiDinh.MaChiDinh, chiDinh.NgayChiDinh.ToString("dd/MM/yyyy HH:mm:ss"), chiDinh.DocStaff.Contact.FullName, chiDinh.Patient.Contact.FullName); //Add chi tiet if (addedList != null && addedList.Count > 0) { desc += "- Chi tiết chỉ định được thêm:\n"; foreach (ChiTietChiDinh ctcd in addedList) { ctcd.ChiTietChiDinhGUID = Guid.NewGuid(); ctcd.ChiDinhGUID = chiDinh.ChiDinhGUID; db.ChiTietChiDinhs.InsertOnSubmit(ctcd); db.SubmitChanges(); desc += string.Format(" + GUID: '{0}', Dịch vụ: '{1}'\n", ctcd.ChiTietChiDinhGUID.ToString(), ctcd.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.Add; tk.Action = "Thêm thông tin chỉ định"; tk.Description = desc; tk.TrackingType = (byte)TrackingType.None; tk.ComputerName = Utility.GetDNSHostName(); db.Trackings.InsertOnSubmit(tk); db.SubmitChanges(); } else //Update { ChiDinh cd = db.ChiDinhs.SingleOrDefault <ChiDinh>(c => c.ChiDinhGUID.ToString() == chiDinh.ChiDinhGUID.ToString()); if (cd != null) { cd.MaChiDinh = chiDinh.MaChiDinh; cd.NgayChiDinh = chiDinh.NgayChiDinh; cd.BacSiChiDinhGUID = chiDinh.BacSiChiDinhGUID; cd.BenhNhanGUID = chiDinh.BenhNhanGUID; cd.CreatedDate = chiDinh.CreatedDate; cd.CreatedBy = chiDinh.CreatedBy; cd.UpdatedDate = chiDinh.UpdatedDate; cd.UpdatedBy = chiDinh.UpdatedBy; cd.DeletedDate = chiDinh.DeletedDate; cd.DeletedBy = chiDinh.DeletedBy; cd.Status = chiDinh.Status; db.SubmitChanges(); desc += string.Format("- Chỉ định: GUID: '{0}', Mã chỉ định: '{1}', Ngày chỉ định: '{2}', Bác sĩ chỉ định: '{3}', Bệnh nhân: '{4}'\n", cd.ChiDinhGUID.ToString(), cd.MaChiDinh, cd.NgayChiDinh.ToString("dd/MM/yyyy HH:mm:ss"), cd.DocStaff.Contact.FullName, cd.Patient.Contact.FullName); //Delete chi tiet if (deletedList != null && deletedList.Count > 0) { desc += "- Chi tiết chỉ định được xóa:\n"; foreach (string key in deletedList) { ChiTietChiDinh ctcd = db.ChiTietChiDinhs.SingleOrDefault <ChiTietChiDinh>(c => c.ChiTietChiDinhGUID.ToString() == key); if (ctcd != null) { ctcd.DeletedDate = DateTime.Now; ctcd.DeletedBy = Guid.Parse(Global.UserGUID); ctcd.Status = (byte)Status.Deactived; desc += string.Format(" + GUID: '{0}', Dịch vụ: '{1}'\n", ctcd.ChiTietChiDinhGUID.ToString(), ctcd.Service.Name); } } db.SubmitChanges(); } //Add chi tiet if (addedList != null && addedList.Count > 0) { string addedStr = string.Empty; bool isAdd = false; foreach (ChiTietChiDinh ctcd in addedList) { ChiTietChiDinh ct = db.ChiTietChiDinhs.SingleOrDefault <ChiTietChiDinh>(c => c.ServiceGUID == ctcd.ServiceGUID && c.ChiDinhGUID == cd.ChiDinhGUID); if (ct == null) { ctcd.ChiTietChiDinhGUID = Guid.NewGuid(); ctcd.ChiDinhGUID = cd.ChiDinhGUID; ctcd.CreatedDate = DateTime.Now; ctcd.CreatedBy = Guid.Parse(Global.UserGUID); db.ChiTietChiDinhs.InsertOnSubmit(ctcd); db.SubmitChanges(); addedStr += string.Format(" + GUID: '{0}', Dịch vụ: '{1}'\n", ctcd.ChiTietChiDinhGUID.ToString(), ctcd.Service.Name); isAdd = true; } else { if (ct.Status == (byte)Status.Deactived) { addedStr += string.Format(" + GUID: '{0}', Dịch vụ: '{1}'\n", ct.ChiTietChiDinhGUID.ToString(), ct.Service.Name); isAdd = true; } ct.UpdatedDate = DateTime.Now; ct.UpdatedBy = Guid.Parse(Global.UserGUID); ct.Status = (byte)Status.Actived; } } db.SubmitChanges(); if (isAdd) { addedStr = "- Chi tiết chỉ định được thêm:\n" + addedStr; } desc += addedStr; } //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.Edit; tk.Action = "Sửa thông tin chỉ định"; tk.Description = desc; tk.TrackingType = (byte)TrackingType.None; tk.ComputerName = Utility.GetDNSHostName(); db.Trackings.InsertOnSubmit(tk); db.SubmitChanges(); } } } 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 DeleteChiTietChiDinhs(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) { ChiTietChiDinh ctcd = db.ChiTietChiDinhs.SingleOrDefault <ChiTietChiDinh>(c => c.ChiTietChiDinhGUID.ToString() == key); if (ctcd != null) { ctcd.DeletedDate = DateTime.Now; ctcd.DeletedBy = Guid.Parse(Global.UserGUID); ctcd.Status = (byte)Status.Deactived; desc += string.Format("- GUID: '{0}', Dịch vụ: '{1}'\n", ctcd.ChiTietChiDinhGUID.ToString(), ctcd.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 chi tiết chỉ định"; 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); }