public async Task <IHttpActionResult> DeleteToaThuoc(int id)
        {
            ToaThuoc toaThuoc = await db.ToaThuocs.FindAsync(id);

            if (toaThuoc == null)
            {
                return(NotFound());
            }

            db.ToaThuocs.Remove(toaThuoc);
            await db.SaveChangesAsync();

            return(Ok("SUCCESS"));
        }
示例#2
0
        public static Result CheckToaThuocExistCode(string toaThuocGUID, string code)
        {
            Result     result = new Result();
            MMOverride db     = null;

            try
            {
                db = new MMOverride();
                ToaThuoc tt = null;
                if (toaThuocGUID == null || toaThuocGUID == string.Empty)
                {
                    tt = db.ToaThuocs.SingleOrDefault <ToaThuoc>(o => o.MaToaThuoc.ToLower() == code.ToLower());
                }
                else
                {
                    tt = db.ToaThuocs.SingleOrDefault <ToaThuoc>(o => o.MaToaThuoc.ToLower() == code.ToLower() &&
                                                                 o.ToaThuocGUID.ToString() != toaThuocGUID);
                }

                if (tt == null)
                {
                    result.Error.Code = ErrorCode.NOT_EXIST;
                }
                else
                {
                    result.Error.Code = ErrorCode.EXIST;
                }
            }
            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 async Task <IHttpActionResult> GetByIDHistory(int id)
        {
            ToaThuoc toaThuoc = await db.ToaThuocs.FirstOrDefaultAsync(q => q.IDHistory == id);

            if (toaThuoc == null)
            {
                return(NotFound());
            }

            var acc = LoginHelper.GetAccount();

            if (string.IsNullOrWhiteSpace(acc.POSITION) && acc.IDAccount != toaThuoc.HistoryKhamBenh.Register.IDAccount)
            {
                return(NotFound());
            }

            return(Ok(ConvertToToaThuocDTO(toaThuoc)));
        }
        public async Task <IHttpActionResult> GetToaThuoc(int id)
        {
            ToaThuoc toaThuoc = await db.ToaThuocs.FindAsync(id);

            if (toaThuoc == null)
            {
                return(NotFound());
            }

            var acc = LoginHelper.GetAccount();

            if (string.IsNullOrWhiteSpace(acc.POSITION) && acc.IDAccount != toaThuoc.HistoryKhamBenh.Register.IDAccount)
            {
                return(NotFound());
            }

            return(Ok(toaThuoc));
        }
示例#5
0
        //Lưu toa thuốc nhập vào thông tin PSthuoc (toa thuoc ) và danh sách pschitietthuoc
        public static string NhapToaThuoc(ToaThuoc toathuoc)
        {
            var toa          = toathuoc.Toa;
            var chitietthuoc = toathuoc.Chitietthuoc;

            foreach (PSChiTietThuoc thuoc in chitietthuoc)
            {
                if (thuoc.Idpsthuoc != toa.Idpsthuoc)
                {
                    return("mã toa của chi tiết thuốc không trùng khớ với mã số toa tại thuốc: " + thuoc.Mahh);
                }
            }
            var luutoa = PSThuocRepository.AddPSThuoc(toa);

            if (luutoa == tb.add_successed)
            {
                foreach (PSChiTietThuoc thuoc in chitietthuoc)
                {
                    var luuctthuoc = PSChiTietThuocRepository.AddPSChiTietThuoc(thuoc);
                }
            }

            return(tb.add_failed);
        }
示例#6
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            var tb = new HideNotifications();

            if (txtCachDung.Text.Trim() != "" && txtSoLuong.Text.Trim() != "")
            {
                int SoLuong = int.Parse(txtSoLuong.Text);//Kiểm tra tính đúng đắn của số lượng nhập vào
                try
                {
                    int    MaPK     = frmPhieuKhamBenh.MaPK;
                    int    MaThuoc  = (int)cbxThuoc.SelectedValue;
                    string CachDung = txtCachDung.Text;
                    ToaThuoc.ThemDuLieu(MaPK, MaThuoc, SoLuong, CachDung);

                    lblThongBao.ForeColor = Color.Green;
                    lblThongBao.Text      = "Thêm thuốc thành công";
                    tb.stt(lblThongBao);

                    txtSoLuong.Text  = "";
                    txtCachDung.Text = "";
                }
                catch
                {
                    lblThongBao.ForeColor = Color.Red;
                    lblThongBao.Text      = "Thuốc đã tồn tại trong hoá đơn";
                    tb.stt(lblThongBao);
                }
            }
            else
            {
                lblThongBao.ForeColor = Color.Red;
                lblThongBao.Text      = "Chưa nhập đủ dữ liệu";
                tb.stt(lblThongBao);
                txtCachDung.Focus();
            }
        }
示例#7
0
 public string LuuToa([FromBody] ToaThuoc toathuoc)
 {
     return(ToaThuocRepository.NhapToaThuoc(toathuoc));
 }
        //Load dữ liệu
        private void LoadData()
        {
            MaBN = 0;
            try
            {
                cbxHoTen.DisplayMember = "TenBN";
                cbxHoTen.ValueMember   = "MaBN";
                cbxHoTen.DataSource    = BenhNhan.LayDSBenhNhan(dtpNgayKham.Text);//Lầy dữ liệu cho cbxHoTen theo ngày khám
                cbxHoTen.SelectedIndex = 0;
                MaBN = (int)cbxHoTen.SelectedValue;

                dgvToaThuoc.DataSource = ToaThuoc.LayChiTietDonThuoc(MaPK);

                dgvToaThuoc.Columns["STT"].HeaderText      = "STT";
                dgvToaThuoc.Columns["MaThuoc"].HeaderText  = "Mã Thuốc";
                dgvToaThuoc.Columns["TenThuoc"].HeaderText = "Tên thuốc";
                dgvToaThuoc.Columns["SoLuong"].HeaderText  = "Số lượng";
                dgvToaThuoc.Columns["DonVi"].HeaderText    = "Đơn vị";
                dgvToaThuoc.Columns["CachDung"].HeaderText = "Cách dùng";

                dgvToaThuoc.Columns["STT"].Width      = 50;
                dgvToaThuoc.Columns["MaThuoc"].Width  = 100;
                dgvToaThuoc.Columns["TenThuoc"].Width = 120;
                dgvToaThuoc.Columns["SoLuong"].Width  = 80;
                dgvToaThuoc.Columns["DonVi"].Width    = 100;
                dgvToaThuoc.Columns["CachDung"].Width = 250;

                MaPK = PhieuKham.TimPhieuKham(dtpNgayKham.Text, MaBN);//Lầy ra MaPk dựa vào Ngày khám và MABN
                List <ChiTietToaThuoc> toaThuoc = ToaThuoc.LayChiTietDonThuoc(MaPK);

                if (toaThuoc.Count > 0)
                {
                    dgvToaThuoc.DataSource = toaThuoc;//Lầy chi tiết toa thuốc của phiếu khám
                }
                else
                {
                    dgvToaThuoc.DataSource = null;
                }

                string TrieuChung;
                string LoaiBenh;
                PhieuKham.LayDuLieu(MaPK, out LoaiBenh, out TrieuChung);//Lấy ra triệu chứng và loại bệnh của bệnh nhân. nếu có
                txtTrieuChung.Text = TrieuChung;
                txtLoaiBenh.Text   = LoaiBenh;

                if (DateTime.Now.Day == dtpNgayKham.Value.Day && DateTime.Now.Month == dtpNgayKham.Value.Month && DateTime.Now.Year == dtpNgayKham.Value.Year)
                {
                    btnXemHD.Enabled     = true;
                    btnThemThuoc.Enabled = true;
                    btnCapNhapTT.Enabled = true;
                    if (ToaThuoc.LayChiTietDonThuoc(MaPK).Count > 0)
                    {
                        btnXoaThuoc.Enabled = true;
                    }
                    else
                    {
                        btnXoaThuoc.Enabled = false;
                    }
                }
                else
                {
                    btnXemHD.Enabled     = false;
                    btnThemThuoc.Enabled = false;
                    btnCapNhapTT.Enabled = false;
                    btnXoaThuoc.Enabled  = false;
                }
            }
            catch//Không có bệnh nhân nào
            {
                cbxHoTen.Text        = "";
                btnXemHD.Enabled     = false;
                btnThemThuoc.Enabled = false;
                btnCapNhapTT.Enabled = false;
                btnXoaThuoc.Enabled  = false;

                txtLoaiBenh.Text   = "";
                txtTrieuChung.Text = "";
            }
        }
示例#9
0
        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   toaThuocGUID = row["ToaThuocGUID"].ToString();
                        ToaThuoc toaThuoc     = (from s in db.ToaThuocs
                                                 where s.ToaThuocGUID.ToString() == toaThuocGUID
                                                 select s).FirstOrDefault();

                        if (toaThuoc == null)
                        {
                            continue;
                        }

                        //Tracking
                        string desc = string.Format("- ToaThuocGUID: '{0}': PatientGUID: '{1}' ==> '{2}' (ToaThuoc)",
                                                    toaThuocGUID, toaThuoc.BenhNhan.ToString(), patientGUID);

                        toaThuoc.BenhNhan = 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);
        }
示例#10
0
        public static Result InsertToaThuoc(ToaThuoc toaThuoc, List <ChiTietToaThuoc> addedList, List <string> deletedKeys)
        {
            Result     result = new Result();
            MMOverride db     = null;

            try
            {
                db = new MMOverride();
                string desc = string.Empty;
                using (TransactionScope tnx = new TransactionScope(TransactionScopeOption.RequiresNew))
                {
                    //Insert
                    if (toaThuoc.ToaThuocGUID == null || toaThuoc.ToaThuocGUID == Guid.Empty)
                    {
                        toaThuoc.ToaThuocGUID = Guid.NewGuid();
                        toaThuoc.IsWarning    = true;
                        db.ToaThuocs.InsertOnSubmit(toaThuoc);
                        db.SubmitChanges();

                        string ngayTaiKhamStr = string.Empty;
                        if (toaThuoc.NgayTaiKham != null && toaThuoc.NgayTaiKham.HasValue)
                        {
                            ngayTaiKhamStr = toaThuoc.NgayTaiKham.Value.ToString("dd/MM/yyyy HH:mm:ss");
                        }

                        desc += string.Format("- Toa thuốc: GUID: '{0}', Mã toa thuốc: '{1}', Ngày khám: '{2}', Ngày tái khám: '{3}', Bác sĩ kê toa: '{4}', Bệnh nhân: '{5}', Chẩn đoán: '{6}', Lời dặn: '{7}'\n",
                                              toaThuoc.ToaThuocGUID.ToString(), toaThuoc.MaToaThuoc, toaThuoc.NgayKham.Value.ToString("dd/MM/yyyy HH:mm:ss"), ngayTaiKhamStr,
                                              toaThuoc.DocStaff.Contact.FullName, toaThuoc.Patient.Contact.FullName, toaThuoc.ChanDoan, toaThuoc.Note);

                        if (addedList != null && addedList.Count > 0)
                        {
                            desc += "- Chi tiết toa thuốc được thêm:\n";

                            //Chi tiet toa thuoc
                            foreach (ChiTietToaThuoc cttt in addedList)
                            {
                                cttt.ChiTietToaThuocGUID = Guid.NewGuid();
                                cttt.ToaThuocGUID        = toaThuoc.ToaThuocGUID;
                                db.ChiTietToaThuocs.InsertOnSubmit(cttt);
                                db.SubmitChanges();

                                string tenThuoc = string.Empty;
                                if (cttt.Thuoc != null)
                                {
                                    tenThuoc = cttt.Thuoc.TenThuoc;
                                }
                                else
                                {
                                    tenThuoc = cttt.TenThuocNgoai;
                                }

                                desc += string.Format("  + GUID: '{0}', Thuốc: '{1}', Số lượng: '{2}'\n", cttt.ChiTietToaThuocGUID.ToString(),
                                                      tenThuoc, cttt.SoLuong);
                            }
                        }

                        //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 toa thuốc";
                        tk.Description  = desc;
                        tk.TrackingType = (byte)TrackingType.None;
                        tk.ComputerName = Utility.GetDNSHostName();
                        db.Trackings.InsertOnSubmit(tk);

                        db.SubmitChanges();
                    }
                    else //Update
                    {
                        ToaThuoc tt = db.ToaThuocs.SingleOrDefault <ToaThuoc>(o => o.ToaThuocGUID.ToString() == toaThuoc.ToaThuocGUID.ToString());
                        if (tt != null)
                        {
                            tt.MaToaThuoc  = toaThuoc.MaToaThuoc;
                            tt.NgayKeToa   = toaThuoc.NgayKeToa;
                            tt.NgayKham    = toaThuoc.NgayKham;
                            tt.NgayTaiKham = toaThuoc.NgayTaiKham;
                            tt.BacSiKeToa  = toaThuoc.BacSiKeToa;
                            tt.BenhNhan    = toaThuoc.BenhNhan;
                            tt.ChanDoan    = toaThuoc.ChanDoan;
                            tt.Note        = toaThuoc.Note;
                            tt.Loai        = toaThuoc.Loai;
                            tt.CreatedDate = toaThuoc.CreatedDate;
                            tt.CreatedBy   = toaThuoc.CreatedBy;
                            tt.UpdatedDate = toaThuoc.UpdatedDate;
                            tt.UpdatedBy   = toaThuoc.UpdatedBy;
                            tt.DeletedDate = toaThuoc.DeletedDate;
                            tt.DeletedBy   = toaThuoc.DeletedBy;
                            tt.Status      = toaThuoc.Status;
                            db.SubmitChanges();

                            string ngayTaiKhamStr = string.Empty;
                            if (tt.NgayTaiKham != null && tt.NgayTaiKham.HasValue)
                            {
                                ngayTaiKhamStr = tt.NgayTaiKham.Value.ToString("dd/MM/yyyy HH:mm:ss");
                            }

                            desc += string.Format("- Toa thuốc: GUID: '{0}', Mã toa thuốc: '{1}', Ngày khám: '{2}', Ngày tái khám: '{3}', Bác sĩ kê toa: '{4}', Bệnh nhân: '{5}', Chẩn đoán: '{6}', Lời dặn: '{7}'\n",
                                                  tt.ToaThuocGUID.ToString(), tt.MaToaThuoc, tt.NgayKham.Value.ToString("dd/MM/yyyy HH:mm:ss"), ngayTaiKhamStr,
                                                  tt.DocStaff.Contact.FullName, tt.Patient.Contact.FullName, tt.ChanDoan, toaThuoc.Note);

                            //Delete chi tiet toa thuoc
                            if (deletedKeys != null && deletedKeys.Count > 0)
                            {
                                desc += "- Chi tiết toa thuốc được xóa:\n";
                                foreach (string key in deletedKeys)
                                {
                                    ChiTietToaThuoc cttt = db.ChiTietToaThuocs.SingleOrDefault <ChiTietToaThuoc>(c => c.ChiTietToaThuocGUID.ToString() == key);
                                    if (cttt != null)
                                    {
                                        cttt.DeletedDate = DateTime.Now;
                                        cttt.DeletedBy   = Guid.Parse(Global.UserGUID);
                                        cttt.Status      = (byte)Status.Deactived;

                                        string tenThuoc = string.Empty;
                                        if (cttt.Thuoc != null)
                                        {
                                            tenThuoc = cttt.Thuoc.TenThuoc;
                                        }
                                        else
                                        {
                                            tenThuoc = cttt.TenThuocNgoai;
                                        }

                                        desc += string.Format("  + GUID: '{0}', Thuốc: '{1}', Số lượng: '{2}'\n", cttt.ChiTietToaThuocGUID.ToString(),
                                                              tenThuoc, cttt.SoLuong);
                                    }
                                }

                                db.SubmitChanges();
                            }


                            //Add chi tiet toa thuoc
                            if (addedList != null && addedList.Count > 0)
                            {
                                desc += "- Chi tiết toa thuốc được thêm:\n";
                                foreach (ChiTietToaThuoc cttt in addedList)
                                {
                                    cttt.ToaThuocGUID = tt.ToaThuocGUID;
                                    if (cttt.ChiTietToaThuocGUID == Guid.Empty)
                                    {
                                        cttt.ChiTietToaThuocGUID = Guid.NewGuid();
                                        db.ChiTietToaThuocs.InsertOnSubmit(cttt);
                                        db.SubmitChanges();

                                        string tenThuoc = string.Empty;
                                        if (cttt.Thuoc != null)
                                        {
                                            tenThuoc = cttt.Thuoc.TenThuoc;
                                        }
                                        else
                                        {
                                            tenThuoc = cttt.TenThuocNgoai;
                                        }

                                        desc += string.Format("  + GUID: '{0}', Thuốc: '{1}', Số lượng: '{2}'\n", cttt.ChiTietToaThuocGUID.ToString(),
                                                              tenThuoc, cttt.SoLuong);
                                    }
                                    else
                                    {
                                        ChiTietToaThuoc chiTietToaThuoc = db.ChiTietToaThuocs.SingleOrDefault <ChiTietToaThuoc>(c => c.ChiTietToaThuocGUID == cttt.ChiTietToaThuocGUID);
                                        if (chiTietToaThuoc != null)
                                        {
                                            chiTietToaThuoc.ThuocGUID           = cttt.ThuocGUID;
                                            chiTietToaThuoc.TenThuocNgoai       = cttt.TenThuocNgoai;
                                            chiTietToaThuoc.SoLuong             = cttt.SoLuong;
                                            chiTietToaThuoc.LieuDung            = cttt.LieuDung;
                                            chiTietToaThuoc.Note                = cttt.Note;
                                            chiTietToaThuoc.Sang                = cttt.Sang;
                                            chiTietToaThuoc.Trua                = cttt.Trua;
                                            chiTietToaThuoc.Chieu               = cttt.Chieu;
                                            chiTietToaThuoc.Toi                 = cttt.Toi;
                                            chiTietToaThuoc.TruocAn             = cttt.TruocAn;
                                            chiTietToaThuoc.SauAn               = cttt.SauAn;
                                            chiTietToaThuoc.Khac_TruocSauAn     = cttt.Khac_TruocSauAn;
                                            chiTietToaThuoc.Uong                = cttt.Uong;
                                            chiTietToaThuoc.Boi                 = cttt.Boi;
                                            chiTietToaThuoc.Dat                 = cttt.Dat;
                                            chiTietToaThuoc.Khac_CachDung       = cttt.Khac_CachDung;
                                            chiTietToaThuoc.SangNote            = cttt.SangNote;
                                            chiTietToaThuoc.TruaNote            = cttt.TruaNote;
                                            chiTietToaThuoc.ChieuNote           = cttt.ChieuNote;
                                            chiTietToaThuoc.ToiNote             = cttt.ToiNote;
                                            chiTietToaThuoc.TruocAnNote         = cttt.TruocAnNote;
                                            chiTietToaThuoc.SauAnNote           = cttt.SauAnNote;
                                            chiTietToaThuoc.Khac_TruocSauAnNote = cttt.Khac_TruocSauAnNote;
                                            chiTietToaThuoc.UongNote            = cttt.UongNote;
                                            chiTietToaThuoc.BoiNote             = cttt.BoiNote;
                                            chiTietToaThuoc.DatNote             = cttt.DatNote;
                                            chiTietToaThuoc.Khac_CachDungNote   = cttt.Khac_CachDungNote;
                                            chiTietToaThuoc.Status              = (byte)Status.Actived;
                                            chiTietToaThuoc.UpdatedDate         = cttt.UpdatedDate;
                                            chiTietToaThuoc.UpdatedBy           = cttt.UpdatedBy;
                                            db.SubmitChanges();

                                            string tenThuoc = string.Empty;
                                            if (cttt.Thuoc != null)
                                            {
                                                tenThuoc = cttt.Thuoc.TenThuoc;
                                            }
                                            else
                                            {
                                                tenThuoc = cttt.TenThuocNgoai;
                                            }

                                            desc += string.Format("  + GUID: '{0}', Thuốc: '{1}', Số lượng: '{2}'\n",
                                                                  chiTietToaThuoc.ChiTietToaThuocGUID.ToString(), tenThuoc, chiTietToaThuoc.SoLuong);
                                        }
                                    }
                                }
                            }

                            //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 toa thuốc";
                            tk.Description  = desc;
                            tk.TrackingType = (byte)TrackingType.None;
                            tk.ComputerName = Utility.GetDNSHostName();
                            db.Trackings.InsertOnSubmit(tk);

                            db.SubmitChanges();
                        }
                    }

                    tnx.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);
        }
示例#11
0
        public static Result TatCanhBaoToaThuoc(List <string> toaThuocKeys)
        {
            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 toaThuocKeys)
                    {
                        ToaThuoc toaThuoc = db.ToaThuocs.SingleOrDefault <ToaThuoc>(tt => tt.ToaThuocGUID.ToString() == key);
                        if (toaThuoc != null)
                        {
                            toaThuoc.UpdatedDate = DateTime.Now;
                            toaThuoc.UpdatedBy   = Guid.Parse(Global.UserGUID);
                            toaThuoc.IsWarning   = false;

                            string ngayTaiKhamStr = string.Empty;
                            if (toaThuoc.NgayTaiKham != null && toaThuoc.NgayTaiKham.HasValue)
                            {
                                ngayTaiKhamStr = toaThuoc.NgayTaiKham.Value.ToString("dd/MM/yyyy HH:mm:ss");
                            }

                            desc += string.Format("- GUID: '{0}', Mã toa thuốc: '{1}', Ngày khám: '{2}', Ngày tái khám: '{3}', Bác sĩ kê toa: '{4}', Bệnh nhân: '{5}', Chẩn đoán: '{6}', Lời dặn: '{7}'\n",
                                                  toaThuoc.ToaThuocGUID.ToString(), toaThuoc.MaToaThuoc, toaThuoc.NgayKham.Value.ToString("dd/MM/yyyy HH:mm:ss"), ngayTaiKhamStr,
                                                  toaThuoc.DocStaff.Contact.FullName, toaThuoc.Patient.Contact.FullName, toaThuoc.ChanDoan, toaThuoc.Note);
                        }
                    }

                    //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       = "Tắt cảnh báo toa thuốc";
                    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);
        }