/// <summary> /// hàm thực hiện việc thêm mới thôn tin của phiéu điều trị /// </summary> /// <param name="objPhieuCdinh"></param> /// <param name="arrPhieuChiTiet"></param> /// <param name="IDPhieu"></param> /// <returns></returns> public ActionResult InsertPhieuChiDinh(RisPhieuCdinh objPhieuCdinh, RisPhieuCdinhCtiet[] arrPhieuChiTiet, ref int IDPhieu,ref string SoPhieu) { Query _Query = RisPhieuCdinh.CreateQuery(); try { using (var scope = new TransactionScope()) { using (var sh = new SharedDbConnectionScope()) { objPhieuCdinh.MaPhieu = BusinessHelper.LayMaPhieu(); objPhieuCdinh.IsNew = true; objPhieuCdinh.Save(); objPhieuCdinh.IdPhieu = Utility.Int32Dbnull(_Query.GetMax(RisPhieuCdinh.Columns.IdPhieu), -1); log.Info("Lay thong tin cua so phieu lon nhat co trong db voi id_phieu=" + objPhieuCdinh.IdPhieu); SqlQuery sqlQuery = new Select(SubSonic.Aggregate.Max(RisPhieuCdinh.Columns.IdPhieu)).From(RisPhieuCdinh.Schema) .Where(RisPhieuCdinh.Columns.IdBnhan).IsEqualTo(objPhieuCdinh.IdBnhan) .And(RisPhieuCdinh.Columns.Pid).IsEqualTo(objPhieuCdinh.Pid); int MaxPhieu = Utility.Int32Dbnull(sqlQuery.ExecuteScalar(),-1); log.Info("Bat dau kiem tra so phieu xem co dung cua benh nhan do khong"); if (MaxPhieu != objPhieuCdinh.IdPhieu) { VietBaIT.CommonLibrary.ErrorLog.InsertInfolog("Mã phiếu khác nhau, thì thực hiện gán cái vừa lấy được cho cái cũ", Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); objPhieuCdinh.IdPhieu = MaxPhieu; log.Info("Thuc hien viec kiem tra xem so phieu da ton tai chua,neu co rui thi lay id =" + objPhieuCdinh.IdPhieu); } sqlQuery = new Select().From(RisPhieuCdinh.Schema) .Where(RisPhieuCdinh.Columns.MaPhieu).IsEqualTo(objPhieuCdinh.MaPhieu) .And(RisPhieuCdinh.Columns.IdPhieu).IsNotEqualTo(objPhieuCdinh.IdPhieu); VietBaIT.CommonLibrary.ErrorLog.InsertInfolog("Kiểm tra xem có trùng mã phiếu không, nếu trùng thì thực hiện cập nhập lại số phiếu khác", Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); log.Info("Kiem tra xem so phieu da ton tai chua"); if (sqlQuery.GetRecordCount() > 0) { objPhieuCdinh.MaPhieu = BusinessHelper.LayMaPhieu(); new Update(RisPhieuCdinh.Schema) .Set(RisPhieuCdinh.Columns.MaPhieu).EqualTo(objPhieuCdinh.MaPhieu) .Where(RisPhieuCdinh.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu).Execute(); log.Info("Neu ton tai rui thi cap lai thong tin cua so phieu, voi so phieu moi la=" + objPhieuCdinh.MaPhieu); } log.Info("Bat dau insert thon tin chi tiet"); foreach (RisPhieuCdinhCtiet objPhieuCdinhCtiet in arrPhieuChiTiet) { log.Info("Insert thong tin voi IDPhieu=" + objPhieuCdinh.IdPhieu+" va iddich vu="+objPhieuCdinhCtiet.IdDvu); objPhieuCdinhCtiet.IdPhieu = objPhieuCdinh.IdPhieu; objPhieuCdinhCtiet.IsNew = true; objPhieuCdinhCtiet.Save(); } } log.Info("Hoan thanh viec them moi so phieu"); scope.Complete(); IDPhieu = objPhieuCdinh.IdPhieu; SoPhieu = objPhieuCdinh.MaPhieu; return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them moi benh nhan {0}", exception.ToString()); VietBaIT.CommonLibrary.ErrorLog.InsertErrorlog(exception.ToString(), Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); return ActionResult.Error; } }
private void SinhMaLanKham() { txtSolankham.Text = string.Empty; if (m_enAction == action.Insert) { txtMaBN.Text = "Tự sinh"; } txtMaLankham.Text = THU_VIEN_CHUNG.KCB_SINH_MALANKHAM(); m_strMaluotkham = txtMaLankham.Text; //Tạm bỏ //LaySoThuTuDoiTuong(); SqlQuery sqlQuery = new Select(Aggregate.Max(KcbLuotkham.Columns.SolanKham)).From(KcbLuotkham.Schema) .Where(KcbLuotkham.Columns.IdBenhnhan).IsEqualTo(Utility.Int32Dbnull(txtMaBN.Text, -1)); var SoThuTuKham = sqlQuery.ExecuteScalar<Int32>(); txtSolankham.Text = Utility.sDbnull(SoThuTuKham + 1); }
private int sokham(int idkhoa) { SqlQuery sqlQuery = new Select(SubSonic.Aggregate.Max(ViewKham.Columns.SoKham)).From<ViewKham>() .Where(ViewKham.Columns.NgayKham) .IsEqualTo(DateTime.Now.Date) .And(ViewKham.Columns.IdKhoa).IsEqualTo(idkhoa); int sokham = Utility.Int32Dbnull(sqlQuery.ExecuteScalar<Int32>()); return sokham + 1; }