Пример #1
0
 //public void SaveInfos(List<TPatientInfo> lstPatientInfo, List<TPatientExam> lstPatientExam, List<TAssignInfo> lstAssignInfo, List<TAssignDetail> lstAssignDetail, DateTime dtNgayNgayThucHien, string sMaDonVi,ref decimal decFailed)
 //{
 //    TPatientExam objPatietnExam = null;
 //    TAssignInfo objAssignInfo = null;
 //    Logger log = LogManager.GetCurrentClassLogger();
 //    string errMsg = "";
 //    try
 //    {
 //        for (int i = 0; i < lstPatientInfo.Count; i++)
 //        {
 //            objPatietnExam = lstPatientExam.Where(e => e.PatientCode.Equals(lstPatientInfo[i].IdentifyNum)).FirstOrDefault();
 //            objAssignInfo = lstAssignInfo.Where(e => e.PatientCode.Equals(lstPatientInfo[i].IdentifyNum)).FirstOrDefault();
 //            if (objPatietnExam == null || objAssignInfo == null) decFailed = decFailed + 1;
 //            else
 //            {
 //                if (!Save(lstPatientInfo[i], objPatietnExam, objAssignInfo, lstAssignDetail, dtNgayNgayThucHien, sMaDonVi, ref errMsg)) decFailed = decFailed + 1;
 //            }                    
 //        }
 //    }
 //    catch (Exception ex) { }
 //}
 public bool DeleteData(List<int> lstID,bool checkassignstatus)
 {
     Logger log = LogManager.GetCurrentClassLogger();
     string PatientID = "";
     string PatientCode = "";
     string _AssignCode = "";
     SqlQuery query = null;
     try
     {
         int value=0;
         using (TransactionScope trans = new TransactionScope())
         {
             using (SharedDbConnectionScope shs = new SubSonic.SharedDbConnectionScope())
             {
                 foreach (int _id in lstID)
                 {
                     bool allowdeleted = true;
                     if (checkassignstatus)
                     {
                         TAssignDetailCollection lst = new Select().From(TAssignDetail.Schema).Where(TAssignDetail.Columns.AssignDetailStatus).IsGreaterThan(1).And(TAssignDetail.Columns.AssignId).In(new Select(TAssignInfo.Columns.AssignId).From(TAssignInfo.Schema).Where(TAssignInfo.Columns.PatientId).IsEqualTo(_id)).ExecuteAsCollection<TAssignDetailCollection>();
                         allowdeleted = lst.Count <= 0;
                     }
                     if (allowdeleted)
                     {
                     //    new Delete().From(TAssignDetail.Schema).Where(TAssignDetail.Columns.AssignId).In(new Select(TAssignInfo.Columns.AssignId).From(TAssignInfo.Schema).Where(TAssignInfo.Columns.PatientId).IsEqualTo(_id)).Execute();
                     //    new Delete().From(TAssignInfo.Schema).Where(TAssignInfo.Columns.PatientId).IsEqualTo(_id).Execute();
                     //    new Delete().From(TPatientExam.Schema).Where(TPatientExam.Columns.PatientId).IsEqualTo(_id).Execute();
                     //    new Delete().From(TPatientInfo.Schema).Where(TPatientInfo.Columns.PatientId).IsEqualTo(_id).Execute();
                     //}
                     value+=1;
                     _OnDoing(value);
                 }
             }
             trans.Complete();
         }
     }
     catch (Exception ex)
     {
         log.Error(ex.Message);
         return false;
     }
     return true;
 }
Пример #2
0
 public int SaveOrderForClient(DataTable dtOrder, int userID, string userPwd, out string message)
 {
     message = string.Empty;
     if (dtOrder == null || userID < 1)
     {
         message = "结算数据包错误,请重试!";
         return -1;
     }
     if (AppContext.Context.CompanyType.Value != CompanyType.UnionCompany &&
         AppContext.Context.CompanyType.Value != CompanyType.SpecialCompany)
     {
         message = "您暂无权限使用该功能";
         return -1;
     }
     SysMember orderUser = SysMember.FetchByID(userID);
     if (orderUser == null)
     {
         message = "结算会员不存在!";
         return -1;
     }
     Order orderData = SubSonic.Utilities.EntityFormat.TableToEntity<Order>(dtOrder);
     if (orderData.OrderPayCash > 0 || orderData.OrderPayPoint > 0)
     {
         if (!UserBLL.CheckUserPwd(orderUser, userPwd) && !UserBLL.CheckUserFinger(orderUser, userPwd))
         {
             message = "会员密码或者指纹错误!";
             return 2;
         }
     }
     //orderData.OrderPoint = orderData.OrderSumOk * orderData.OrderRate;
     if (orderData.OrderRateSale.HasValue)
         orderData.OrderRateSale = orderData.OrderRateSale.Value / 100M;
     if (AppContext.Context.CompanyType.Value != CompanyType.UnionCompany)
         orderData.OrderRate = 0;
     orderData.MarkNew();
     orderData.IsNew = true;
     orderData.IsLoaded = false;
     orderData.OrderCode = OrderBLL.GetOrderCode(AppContext.Context.Company);
     orderData.OrderCard = string.Empty;
     orderData.OrderDate = DateTime.Now;
     orderData.OrderDateDeliver = DateTime.Now;
     orderData.OrderDateUpload = DateTime.Now;
     orderData.OrderMemberID = orderUser.Id;
     orderData.OrderSellerID = AppContext.Context.Company.Id;
     orderData.OrderStatus = 1;
     orderData.OrderType = 1;
     orderData.OrderQty = 0;
     try
     {
         using (TransactionScope ts = new TransactionScope())
         {
             using (SubSonic.SharedDbConnectionScope ss = new SubSonic.SharedDbConnectionScope())
             {
                 orderData.ValidateWhenSaving = false;
                 //orderData.Save( );
                 if (!OrderBLL.SaveSaleRate(orderData, orderUser, out message))
                     return 1;
                 OrderBLL.UpdateBalance();
                 ts.Complete();
                 message = "结算成功!";
                 return 0;
             }
         }
     }
     catch (Exception ex)
     {
         Logging.Log("WebRestService->SaveOrderForClient", ex, true);
         message = ex.Message;
         return 1;
     }
 }
Пример #3
0
        public int SaveCashForClient(DataTable dtCash, int userID, out string message)
        {
            message = string.Empty;
            if (dtCash == null || userID < 1 || dtCash.Rows.Count == 0)
            {
                message = "储值数据包错误,请重试!";
                return -1;
            }
            SysMember user = SysMember.FetchByID(userID);
            if (user == null)
            {
                message = "储值会员不存在!";
                return -1;
            }
            SysMemberCash cashData = SubSonic.Utilities.EntityFormat.TableToEntity<SysMemberCash>(dtCash);
            if (cashData.CashRate.HasValue && cashData.CashRate.Value >= 0)
                cashData.CashRate = cashData.CashRate.Value / 100M;
            else
                cashData.CashRate = 0;
            if (AppContext.Context.CompanyType.Value != CompanyType.UnionCompany)
            {
                cashData.CashPoint = 0;
                cashData.CashRateSale = null;
            }
            cashData.MarkNew();
            cashData.CashDate = DateTime.Now;
            cashData.CashCompanyID = AppContext.Context.Company.Id;
            cashData.CashMemberID = userID;
            cashData.CashOrderID = 0;
            cashData.ValidateWhenSaving = false;
            if (cashData.CashPoint == null)
                cashData.CashPoint = 0;
            if (cashData.CashRate == null)
                cashData.CashRate = 0;
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    using (SubSonic.SharedDbConnectionScope ss = new SubSonic.SharedDbConnectionScope())
                    {
                        //int gradeID = string.IsNullOrEmpty(cashData.CashMemo) ? 0 : Convert.ToInt32(cashData.CashMemo);
                        //SysCompanyMemberGrade grade = SysCompanyMemberGrade.FetchByID(gradeID);
                        //if (grade != null)
                        //{
                        //    user.MemberGrade = grade.Id;
                        //    cashData.CashMemo = grade.GradeName;
                        //    user.Save( );
                        //}
                        //cashData.Save( );
                        if (!OrderBLL.SaveMemberCash(cashData, user, out message))
                            return 1;
                        OrderBLL.UpdateBalance();
                        ts.Complete();

                        message = string.Format("{0}储值{1}元成功,现储值余额为{2}元", user.MemberFullname, cashData.CashSum, UserBLL.GetUserBalanceCash(userID, AppContext.Context.Company.Id));
                        return 0;
                    }
                }
            }
            catch (Exception ex)
            {
                Logging.Log("WebRestService->SaveCashForClient", ex, true);
                message = ex.Message;
                return 1;
            }
        }
Пример #4
0
        public bool DeleteData(List <int> lstId, bool checkassignstatus, ref string eMessage)
        {
            Logger log = LogManager.GetCurrentClassLogger();

            try
            {
                int value = 0;
                using (TransactionScope trans = new TransactionScope())
                {
                    using (SharedDbConnectionScope shs = new SubSonic.SharedDbConnectionScope())
                    {
                        foreach (int _id in lstId)
                        {
                            bool allowdeleted = true;
                            if (checkassignstatus)
                            {
                                KcbChidinhclsChitietCollection lst =
                                    new Select().From(KcbChidinhclsChitiet.Schema).Where(
                                        KcbChidinhclsChitiet.Columns.TrangThai).IsGreaterThan(1).And(
                                        KcbChidinhclsChitiet.Columns.IdChidinh).In(
                                        new Select(KcbChidinhcl.Columns.IdChidinh).From(KcbChidinhcl.Schema).Where(
                                            KcbChidinhcl.Columns.IdBenhnhan).IsEqualTo(_id)).ExecuteAsCollection
                                    <KcbChidinhclsChitietCollection>();
                                allowdeleted = lst.Count <= 0;
                            }
                            if (allowdeleted)
                            {
                                new Delete().From(KcbChidinhclsChitiet.Schema).Where(KcbChidinhclsChitiet.Columns.IdChidinh)
                                .In(new Select(KcbChidinhcl.Columns.IdChidinh).From(KcbChidinhcl.Schema)
                                    .Where(KcbChidinhcl.Columns.IdBenhnhan).IsEqualTo(_id)).Execute();
                                new Delete().From(KcbChidinhcl.Schema)
                                .Where(KcbChidinhcl.Columns.IdBenhnhan)
                                .IsEqualTo(_id)
                                .Execute();
                                new Delete().From(KcbDangkyKcb.Schema)
                                .Where(KcbDangkyKcb.Columns.IdBenhnhan)
                                .IsEqualTo(_id)
                                .Execute();
                                new Delete().From(KcbLuotkham.Schema)
                                .Where(KcbLuotkham.Columns.IdBenhnhan)
                                .IsEqualTo(_id)
                                .Execute();
                                new Delete().From(KcbDanhsachBenhnhan.Schema)
                                .Where(KcbDanhsachBenhnhan.Columns.IdBenhnhan)
                                .IsEqualTo(_id)
                                .Execute();
                            }
                            value += 1;
                            _OnDoing(value);
                        }
                    }
                    trans.Complete();
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message);
                return(false);
            }
            return(true);
        }
Пример #5
0
        public bool Save(TPatientInfo objPatientInfo, TPatientExam objPatientExam, TAssignInfo objAssignInfo, List<TAssignDetail> lstAssignDetail, DateTime dtNgayNhap, string MaDonVi,ref string errMsg)
        {
            Logger log = LogManager.GetCurrentClassLogger();    
            string PatientID = "";
            string PatientCode = "";
            string _AssignCode = "";
            SqlQuery query = null;
            try
            {
                using (TransactionScope trans = new TransactionScope())
                {
                    using (SharedDbConnectionScope shs = new SubSonic.SharedDbConnectionScope())
                    {
                        TAssignInfoCollection _lstAssign=new Select().From(TAssignInfo.Schema)
                            .Where(TAssignInfo.Columns.Barcode).IsEqualTo(objAssignInfo.Barcode)
                            .And(TAssignInfo.Columns.RegDate).IsEqualTo(objAssignInfo.RegDate.Date)
                            .ExecuteAsCollection<TAssignInfoCollection>();
                        if (_lstAssign.Count > 0)
                        {
                            Utility.ShowMsg("Barcode " + objAssignInfo.Barcode + " đã được một bệnh nhân khác sử dụng trong ngày " + objAssignInfo.RegDate.Date.ToString("dd/MM/yyyy") + "\nĐề nghị bạn kiểm tra lại");
                            return false;
                        }
                        //PatientID = this.GetPatientID(dtNgayNhap.ToString("yyyyMMdd"), MaDonVi);
                        //PatientCode = this.GetPatientCode();
                        //Barcode = this.GetBarcode();
                        PatientCode = BusinessHelper.GeneratePatientCode();
                        _AssignCode = BusinessHelper.NOITIET_KetNoi_SinhMaBarCode_CD(objPatientExam.MaKhoaThien);
                        #region Save PatientInfo
                        //query = new Select().From(KskTPatientInfo.Schema).Where(KskTPatientInfo.Columns.PatientId).IsEqualTo(PatientID);
                        //if (query.GetRecordCount() > 0)
                        //{
                        //    PatientID = this.GetPatientID(dtNgayNhap.ToString("yyyyMMdd"), MaDonVi);
                        //}
                        //objPatientInfo.PatientId = PatientID;
                        if (objPatientInfo.IdentifyNum.Contains("@")) objPatientInfo.IdentifyNum = "";
                        objPatientInfo.IsNew = true;                        
                        objPatientInfo.Save();
                        #endregion

                        #region Save PatientExam
                        objPatientExam.IsNew = true;
                        objPatientExam.PatientId = objPatientInfo.PatientId;
                        objPatientExam.PatientCode = PatientCode;
                        objPatientExam.Save();
                        query = new Select().From(TPatientExam.Schema)
                                    .Where(TPatientExam.Columns.PatientCode).IsEqualTo(PatientCode)
                                    .And(TPatientExam.Columns.PatientId).IsNotEqualTo(objPatientInfo.PatientId);
                        if (query.GetRecordCount() > 0)
                        {
                            //PatientCode = this.GetPatientCode();
                            PatientCode = BusinessHelper.GeneratePatientCode();
                            new Update(TPatientExam.Schema)
                                .Set(TPatientExam.Columns.PatientCode).EqualTo(PatientCode)
                                .Where(TPatientExam.Columns.PatientId).IsEqualTo(objPatientInfo.PatientId)
                                .And(TPatientExam.Columns.PatientCode).IsEqualTo(objPatientExam.PatientCode)
                                .Execute();
                        }
                        #endregion

                        #region Save AssignInfo
                        objAssignInfo.IsNew = true;
                        objAssignInfo.PatientCode = PatientCode;
                        objAssignInfo.PatientId = objPatientInfo.PatientId;
                        objAssignInfo.AssignCode = _AssignCode;
                        objAssignInfo.MaChidinh = _AssignCode;
                        objAssignInfo.Save();
                        query = new Select().From(TAssignInfo.Schema).Where(TAssignInfo.Columns.AssignCode).IsEqualTo(_AssignCode).And(TAssignInfo.Columns.PatientId).IsNotEqualTo(objPatientInfo.PatientId).And(TAssignInfo.Columns.PatientCode).IsNotEqualTo(PatientCode);
                        if (query.GetRecordCount() > 0)
                        {
                            //Barcode = this.GetBarcode();
                            _AssignCode = BusinessHelper.NOITIET_KetNoi_SinhMaBarCode_CD(objPatientExam.MaKhoaThien);
                            new Update(TAssignInfo.Schema)
                                .Set(TAssignInfo.Columns.AssignCode).EqualTo(_AssignCode)
                                .Set(TAssignInfo.Columns.MaChidinh).EqualTo(_AssignCode)
                                .Where(TAssignInfo.Columns.PatientCode).IsEqualTo(PatientCode)
                                .And(TAssignInfo.Columns.PatientId).IsNotEqualTo(objPatientInfo.PatientId)
                                .Execute();
                        }
                        #endregion

                        #region Save AssignDetail
                        for (int i = 0; i < lstAssignDetail.Count; i++)
                        {
                           
                            lstAssignDetail[i].IsNew = true;
                            lstAssignDetail[i].DaGuiCls=1;
                            lstAssignDetail[i].ModifyDate = BusinessHelper.GetSysDateTime();
                            lstAssignDetail[i].ModifyBy = globalVariables.UserName;
                            lstAssignDetail[i].NguoiGuiCls = globalVariables.UserName;
                            lstAssignDetail[i].NgayGuiCls = BusinessHelper.GetSysDateTime();
                            lstAssignDetail[i].AssignId = objAssignInfo.AssignId;
                            lstAssignDetail[i].Save();
                        }
                        #endregion
                    }
                    trans.Complete();
                }
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                log.Error(ex.Message);                    
                return false;
            }
            return true;
        }