//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; }
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; } }
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; } }
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); }
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; }