示例#1
0
       /// <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;
           }
       }
示例#2
0
 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);
 }
示例#3
0
 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;
 }