public static void ClearTicketDiscounts(YearId ticketPrimaryKey) { IEnumerable <TicketDiscount> discounts = TicketDiscount.GetAll(ticketPrimaryKey); foreach (TicketDiscount discount in discounts) { TicketDiscount.Delete(discount.PrimaryKey); } }
private void InitializeAppliedDiscounts() { List <int> addedIds = new List <int>(); listBoxApplied.Items.Clear(); foreach (Discount coupon in TicketDiscount.GetAll(SelectedTicket.PrimaryKey) .Select(ticketDiscount => Discount.Get(ticketDiscount.DiscountId)) .Where(coupon => !addedIds.Contains(coupon.Id))) { addedIds.Add(coupon.Id); AddApplied(coupon); } }
private void ApplyDiscount() { TicketDiscount result = null; FormattedListBoxItem selectedItem = (FormattedListBoxItem)listBoxAvailable.SelectedItem; Discount discount = (Discount)selectedItem.ReferenceObject; bool hasPermission = (!discount.RequiresPermission || SessionManager.ActiveEmployee.HasPermission(Permissions.RegisterDiscounts)); if (!hasPermission && (PosHelper.GetPermission(Permissions.RegisterDiscounts) == null)) { PosDialogWindow.ShowDialog( Types.Strings.YouDoNotHavePermissionToApplyThisDiscount, Types.Strings.PermissionDenied); return; } if (discount.Amount == null) { double?amount = discount.AmountIsPercentage ? PosDialogWindow.PromptPercentage(this, Types.Strings.EnterDiscountPercentage, null) : PosDialogWindow.PromptNumber(Types.Strings.EnterDiscountAmount, (double?)null); if (amount != null) { result = TicketDiscount.Add(discount.Id, SelectedTicket.PrimaryKey, amount.Value, SessionManager.PseudoEmployeeId); } } else { result = TicketDiscount.Add(discount.Id, SelectedTicket.PrimaryKey, null, SessionManager.PseudoEmployeeId); } if (result != null) { listBoxAvailable.SelectedItem = null; listBoxAvailable.Items.Remove(selectedItem); listBoxApplied.Items.Add(selectedItem); listBoxApplied.SelectedItem = selectedItem; } }
public static void AddDB(TiqueteDescuentoModel modelo) { using (efooddatabaseEntities db = new efooddatabaseEntities()) { try { //Entidades de la base de datos TicketDiscount newTicketDiscount = new TicketDiscount { TicketCode = ConsecutivoModel.GetConsecutivo("Tiquetes de descuento"), TicketDescription = modelo.TicketDescription, TicketDiscountPercentage = modelo.TicketDiscountPercentage, RemainingTickets = modelo.RemainingTickets }; db.TicketDiscounts.Add(newTicketDiscount); db.SaveChanges(); BitacoraModel.AddLogBook("a", "Anadir", Admin.ObtenerIdUsuario()); } catch (Exception e) { ErrorLogModel.AddError(e); } } }
public ActionResult AjaxHomeShow() { string ticketID = System.Web.HttpContext.Current.Request.Form["TicketID"]; TicketDiscount model = db.TicketDiscount.Where(t => t.TicketID == Convert.ToInt32(ticketID)).FirstOrDefault(); try { UpdateModel(model);//修改模型必须在此之后 model.AuditorName = "CCCCCCC"; db.SaveChanges(); return(Json(new { Tips = "操作成功", Status = 1 })); } catch (Exception ex) { return(Json(new { Tips = "操作失败", Status = 0 })); } return(null); }
public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e) { MVCxUploadControl upControl = sender as MVCxUploadControl; int ticketId = Convert.ToInt32(upControl.Request.Params["ticketID"]); if (e.UploadedFile.IsValid) { tcpjw3.oa.Models.tcpjwEntities db = new tcpjw3.oa.Models.tcpjwEntities(); TicketDiscount ticketDiscount = db.TicketDiscount.Where(t => t.TicketID == ticketId).FirstOrDefault(); string filePath = ticketDiscount.TicketBackImg; Uri uri = new Uri(filePath); //var fileName = Path.Combine(upControl.Request.MapPath("~/"), uri.AbsolutePath); //var fileName = upControl.Request.MapPath("~/")+uri.AbsolutePath; var fileName = "E:\\TCPJW_Developer\\Code\\TCPJW.OA" + uri.AbsolutePath;//路径先这样写 e.UploadedFile.SaveAs(fileName); //e.UploadedFile.SaveAs(Server.MapPath("~/") + uri.AbsolutePath); e.CallbackData = ticketDiscount.TicketBackImg; } }
private void RemoveDiscount() { FormattedListBoxItem selectedItem = (FormattedListBoxItem)listBoxApplied.SelectedItem; listBoxApplied.SelectedItem = null; listBoxApplied.Items.Remove(selectedItem); Discount discount = (Discount)selectedItem.ReferenceObject; IEnumerable <TicketDiscount> allDiscounts = TicketDiscount.GetAll(SelectedTicket.PrimaryKey); foreach (TicketDiscount ticketDiscount in allDiscounts) { if (ticketDiscount.DiscountId == discount.Id) { TicketDiscount.Delete(ticketDiscount.PrimaryKey); } } InitializeAvailableDiscounts(); }
public ActionResult AjaxCalRate() { string ticketID = System.Web.HttpContext.Current.Request.Form["TicketID"]; string TicketEndTime = System.Web.HttpContext.Current.Request.Form["TicketEndTime"]; TicketEndTime = Convert.ToDateTime(TicketEndTime).ToString("yyyy-MM-dd 23:59:59"); TicketDiscount model = db.TicketDiscount.Where(t => t.TicketID == Convert.ToInt32(ticketID)).FirstOrDefault(); try { //票面金额-成交价格=票面金额*((年息/100)/360)*实际天数 Decimal interest = (Decimal)(model.TicketPrice - model.BidPrice); //利息 int resDayca = RestDays(Convert.ToDateTime(TicketEndTime)); //实际天数 Decimal ratca = resDayca <= 0 ? 0 : interest * 360 * 100 / (model.TicketPrice * resDayca); //例如3.17% string tips = ratca.ToString("N2").Replace(",", ""); return(Json(new { Tips = tips, Status = 1 })); } catch (Exception ex) { return(Json(new { Tips = "操作失败", Status = 0 })); } return(null); }
private static void ResetTransactionalTables() { SettingManager.SetStoreSetting("DailyIdOffset", 0); DayOfOperation.Reset(typeof(DayOfOperation)); EmployeeTimesheet.Reset(typeof(EmployeeTimesheet)); EmployeeTimesheetChangeLog.Reset(typeof(EmployeeTimesheetChangeLog)); Lock.Reset(typeof(Lock)); Party.Reset(typeof(Party)); PartyInvite.Reset(typeof(PartyInvite)); RegisterDeposit.Reset(typeof(RegisterDeposit)); RegisterDrawer.Reset(typeof(RegisterDrawer)); RegisterDrop.Reset(typeof(RegisterDrop)); RegisterNoSale.Reset(typeof(RegisterNoSale)); RegisterPayout.Reset(typeof(RegisterPayout)); Ticket.Reset(typeof(Ticket)); TicketCoupon.Reset(typeof(TicketCoupon)); TicketDiscount.Reset(typeof(TicketDiscount)); TicketItem.Reset(typeof(TicketItem)); TicketItemOption.Reset(typeof(TicketItemOption)); TicketItemReturn.Reset(typeof(TicketItemReturn)); TicketPayment.Reset(typeof(TicketPayment)); TicketRefund.Reset(typeof(TicketRefund)); TicketVoid.Reset(typeof(TicketVoid)); }
public static void ClearDiscounts(TicketItem ticketItem) { TicketDiscount.DeleteForTicketItem(ticketItem.PrimaryKey); }
public ActionResult AjaxUpdateOrder() { #region Form参数 string ticketID = System.Web.HttpContext.Current.Request.Form["TicketID"]; string followID = System.Web.HttpContext.Current.Request.Form["FollowID"]; string BankName = System.Web.HttpContext.Current.Request.Form["BankName"]; string ProvinceID = System.Web.HttpContext.Current.Request.Form["ProvinceID"]; string CityID = System.Web.HttpContext.Current.Request.Form["CityID"]; string TicketType = System.Web.HttpContext.Current.Request.Form["TicketType"]; string BankTyp = System.Web.HttpContext.Current.Request.Form["BankTyp"]; string TicketEndTime = System.Web.HttpContext.Current.Request.Form["TicketEndTime"]; string auditState = System.Web.HttpContext.Current.Request.Form["AuditState"]; string AuditNote = System.Web.HttpContext.Current.Request.Form["AuditNote"]; string UserNote = System.Web.HttpContext.Current.Request.Form["UserNote"]; #endregion try { TicketDiscount model = db.TicketDiscount.Where(t => t.TicketID == Convert.ToInt32(ticketID)).FirstOrDefault(); UpdateModel(model);//修改模型必须在此之后 #region 编辑信息 model.TicketCategory = StaticDictiory.getCategory(Convert.ToInt32(TicketType), model.TicketPrice); model.TermType = StaticDictiory.getTerm(Convert.ToInt32(TicketType), (int)model.TicketCategory, Convert.ToDateTime(Convert.ToDateTime(model.PublishTime).ToString("yyyy-MM-dd 23:59:59"))); model.TicketEndTime = Convert.ToDateTime(Convert.ToDateTime(TicketEndTime).ToString("yyyy-MM-dd 23:59:59")); model.AuditTime = DateTime.Now; model.AuditorID = 0; model.BankName = BankName; model.ProvinceID = ProvinceID; model.CityID = CityID; model.TicketType = Convert.ToInt32(TicketType); model.BankType = Convert.ToInt32(BankTyp); model.AuditState = Convert.ToInt32(auditState); model.AuditNote = AuditNote; model.UserNote = UserNote; #endregion if (auditState == AuditState.审核通过.ToString()) { #region 通过 #region MyRegion model.AuditorName = "BBBBBBB"; model.TradeState = (int)TradeState.交易完成; Random ran = new Random(); model.YykbTime = DateTime.Now; model.JjzTime = DateTime.Now; model.QryyTime = DateTime.Now.AddMinutes(ran.Next(5, 8)).AddSeconds(ran.Next(0, 59)); model.ZfdjTime = DateTime.Now.AddMinutes(ran.Next(9, 11)).AddSeconds(ran.Next(0, 59)); model.CprbsTime = DateTime.Now.AddMinutes(ran.Next(12, 14)).AddSeconds(ran.Next(0, 59)); model.QsjdTime = DateTime.Now.AddMinutes(ran.Next(15, 17)).AddSeconds(ran.Next(0, 59)); model.WcjyTime = DateTime.Now.AddMinutes(ran.Next(18, 22)).AddSeconds(ran.Next(0, 59)); #endregion #region MyRegion var bidmodel = db.DiscountBidding; DiscountBidding biding = new DiscountBidding(); biding.TicketID = model.TicketID; biding.BidUserID = (Int32)model.BidId; biding.BidTime = DateTime.Now.AddMinutes(ran.Next(2, 8)); biding.BidResult = 1; biding.BidRelateResult = 1; biding.LoginMode = 1; biding.TotalPrice = model.BidPrice; //(price - parseFloat(inputQuote.val().replace(/,/ig, ''))) * 100000 / price, //biding.BidPrice = (decimal)((model.TicketPrice - model.BidPrice) * 100000 / model.TicketPrice); biding.BidPrice = (decimal)((model.TicketPrice - model.BidPrice) / model.TicketPrice); //(30 * per10 / days / 100) * 10 / 12; Decimal mony = (Decimal)(model.TicketPrice - model.BidPrice); //利息 int sjdays = RestDays(model.TicketEndTime); //实际天数 Decimal bidrate = sjdays <= 0 ? 0 : mony * 360 * 100 / (model.TicketPrice * sjdays); //例如3.17% biding.BidRate = bidrate; bidmodel.Add(biding); #endregion #region MyRegion //ClientUser client=db.ClientUser.Where(u=>u.ID== model.UserID) var client = (from cu in db.ClientUser join uc in db.UserCenter on cu.ID equals uc.ID join pro in db.SysStatic on cu.ProvinceID equals pro.Value.ToString() join city in db.SysStatic on cu.CityID equals city.Value.ToString() where uc.ID.Equals(model.UserID) select new { #region MyRegion CityName = pro.Text, ProvinceName = city.Text, uc.ID, cu.Avatar, cu.FullName, cu.Name, cu.NameOfPIC, cu.Address, uc.RegisterTime, uc.LastLoginTime, uc.Phone #endregion }).FirstOrDefault(); //创建交易请求 TradingRequest tr = new TradingRequest(); tr.BZ = null; tr.CPRBH = client.ID; //持票企业编号 tr.CPRDH = client.Phone; //持票企业电话 tr.CPRMC = null; tr.EndTime = null; tr.FQR = client.ID; //发起人默认为持票企业 tr.FQSJ = DateTime.Now; //交易发起时间 tr.JYSHR = null; tr.JYSHSJ = null; tr.JYSHZT = "1"; tr.JYZT = ((int)TradeState.交易完成).ToString(); tr.SPRBH = (int)model.BidId; //贴现机构编号 tr.SPRDH = ""; //贴现机构电话 tr.SPRMC = null; tr.YWBH = followID; //创建票面信息 ParValueInfo pv = new ParValueInfo(); pv.CDHQC = model.BankName; Double cjjg = (Convert.ToDouble((model.BidPrice.ToString().Substring(0, model.BidPrice.ToString().LastIndexOf(".") + 3)))); pv.CJJG = (decimal)cjjg; pv.CJMSWJG = biding.BidPrice; pv.CJYLL = biding.BidRate; pv.DQR = (DateTime)model.TicketEndTime; //pv.JYQQBH = followID; pv.PMJE = model.TicketPrice; int imagesCount = 0; List <TicketImage> imageOrigin = db.TicketImage.Where(p => p.TicketID == model.TicketID).ToList(); if (imagesCount > 0) { pv.PMJT = imageOrigin[0].OriginImg; } else { pv.PMJT = model.TicketFaceImg; } pv.Pvid = model.TicketID; //交易记录 TCPJW_BATradingSystemCore.Trading.Trading.AddTradingDetail(tr, pv, client.ID, (int)model.BidId); CapitalDealInfo.UpdateJYCGCS((int)model.BidId); CapitalDealInfo.UpdatePJJYHS((int)model.BidId, (DateTime)model.ZfdjTime, (DateTime)model.WcjyTime); #endregion db.SaveChanges(); #endregion } else if (auditState == AuditState.审核不通过.ToString()) { #region 通过 model.TradeState = (int)TradeState.竞价中; db.SaveChanges(); #endregion } else { } return(Json(new { Tips = "操作成功", Status = 1 })); } catch (Exception ex) { return(Json(new { Tips = "操作失败", Status = 0 })); } return(null); }
public ActionResult AjaxQueryBalance() { string ticketID = System.Web.HttpContext.Current.Request.Form["TicketID"]; TicketDiscount model = db.TicketDiscount.Where(t => t.TicketID == Convert.ToInt32(ticketID)).FirstOrDefault(); #region MyRegion List <GoldAccount> goldAccountList = new List <GoldAccount>(); goldAccountList = GoldAccount.GetUserGoldAccountByUsercjrecvaccno(model.UserID, model.ToAccount); if (goldAccountList.Count == 0) { return(Json(new { success = false, Message = "请确保出金信息无误", Tips = "", Status = 0 })); } EndorseInfo.UserAccountInfo uif = new EndorseInfo.UserAccountInfo(model.UserID.ToString()); //持票人的虚拟账户信息 EndorseInfo.UserAccountInfo zf = new EndorseInfo.UserAccountInfo(model.BidId.ToString()); //资金方的虚拟账户信息 //string queryString = e.Parameters;//button按钮参数 string subaccno = zf.Account; //"3110510001051004035";//资方 zf.Account string srecvaccnm = zf.ComName; //"银承互联网金融信息服务(南京)有限公司";//zf.ComName string recvaccno = uif.Account; //"3110510001051004033";//持票人uif.Account string recvaccnm = uif.ComName; //"南京赛旭投资管理有限公司";//uif.ComName string cjrecvaccno = goldAccountList[0].CjrecvAccNo; // "8110501013300082823";//出金账号 goldAccountList[0].CjrecvAccNo string cjrecvaccnm = goldAccountList[0].RecvAccNm; //"银承互联网金融信息服务(南京)有限公司";//出金账号名称 string tranamt = Convert.ToDecimal(model.BidPrice).ToString("N2").Replace(",", "");; //"0.01"; //string zzmemo = followID; string cjsamebank = goldAccountList[0].CjsameBank == true ? "1" : "0"; string cjrecvtgfi = goldAccountList[0].CjrecvTgfi; string cjrecvbanknm = goldAccountList[0].CjrecvBankNm; string cjmemo = ""; string cjpreflg = "0"; string cjpredate = ""; string cjpretime = ""; #endregion #region MyRegion try { string cxcid = TCPJW_CITICPROJECT.Common.GetCiticPlatformOfGoldByTid(Convert.ToInt32(ticketID)).Pf_clientid.ToString(); if (string.IsNullOrEmpty(cxcid)) { //if (log.IsInfoEnabled) log.InfoFormat("您还没有执行打款,没有交易状态,出金流水编号:{0}", cxcid); return(Json(new { Tips = "您还没有执行打款,没有交易状态" })); } } catch (Exception ex) { //if (log.IsFatalEnabled) log.FatalFormat("打款未成功,无法查询最新余额,异常错误:{0}", ex.Message); return(Json(new { Tips = "打款未成功,无法查询最新余额" })); } try { List <TCPJW_BATradingSystemCITIC.AccountBalance> fablist = new List <AccountBalance>(); fablist = TCPJW_BATradingSystemCITIC.CITICYQZL.GetAccountBalance(subaccno); string alertsel = string.Empty; if (fablist == null || fablist.Count == 0) { //grid.JSProperties["cpScript"] = "alert('付款账号【" + subaccno + "】无余额信息');"; return(Json(new { Tips = "付款账号【" + subaccno + "】无余额信息" })); } List <TCPJW_BATradingSystemCITIC.AccountBalance> sablist = new List <AccountBalance>(); sablist = TCPJW_BATradingSystemCITIC.CITICYQZL.GetAccountBalance(recvaccno); if (sablist == null || sablist.Count == 0) { //grid.JSProperties["cpScript"] = "alert('收款账号【" + subaccno + "】无余额信息');"; return(Json(new { Tips = "收款账号【" + subaccno + "】无余额信息" })); } foreach (var item in fablist) { alertsel += "付款账号【" + subaccno + "】, 可用余额:" + item.Kyamt + "元 \r\n"; } foreach (var item in sablist) { alertsel += "收款账号【" + recvaccno + "】, 可用余额:" + item.Kyamt + "元 \r\n"; } return(Json(new { Tips = alertsel })); } catch (Exception ex) { // if (log.IsFatalEnabled) log.FatalFormat("查询最新余额出现异常,付款账号:{0},收款账号:{1},异常错误:{2}", subaccno, recvaccno, ex.Message); return(Json(new { Tips = "查询最新余额出现异常" })); } #endregion return(Json(new { Tips = "" })); }
public ActionResult AjaxUotGold() { string ticketID = System.Web.HttpContext.Current.Request.Form["TicketID"]; string followID = System.Web.HttpContext.Current.Request.Form["FollowID"]; TicketDiscount model = db.TicketDiscount.Where(t => t.TicketID == Convert.ToInt32(ticketID)).FirstOrDefault(); #region MyRegion string dkstatus = string.Empty; List <GoldAccount> goldAccountList = GoldAccount.GetUserGoldAccountByUsercjrecvaccno(model.UserID, model.ToAccount); if (goldAccountList.Count == 0) { return(Json(new { success = false, Message = "请确保出金信息无误", Tips = "", Status = 0 })); } EndorseInfo.UserAccountInfo uif = new EndorseInfo.UserAccountInfo(model.UserID.ToString()); //持票人的虚拟账户信息 EndorseInfo.UserAccountInfo zf = new EndorseInfo.UserAccountInfo(model.BidId.ToString()); //资金方的虚拟账户信息 //string queryString = e.Parameters;//button按钮参数 string subaccno = zf.Account; //"3110510001051004035";//资方 zf.Account string srecvaccnm = zf.ComName; //"银承互联网金融信息服务(南京)有限公司";//zf.ComName string recvaccno = uif.Account; //"3110510001051004033";//持票人uif.Account string recvaccnm = uif.ComName; //"南京赛旭投资管理有限公司";//uif.ComName string cjrecvaccno = goldAccountList[0].CjrecvAccNo; // "8110501013300082823";//出金账号 goldAccountList[0].CjrecvAccNo string cjrecvaccnm = goldAccountList[0].RecvAccNm; //"银承互联网金融信息服务(南京)有限公司";//出金账号名称 string tranamt = Convert.ToDecimal(model.BidPrice).ToString("N2").Replace(",", "");; //"0.01"; string zzmemo = followID; string cjsamebank = goldAccountList[0].CjsameBank == true ? "1" : "0"; string cjrecvtgfi = goldAccountList[0].CjrecvTgfi; string cjrecvbanknm = goldAccountList[0].CjrecvBankNm; string cjmemo = ""; string cjpreflg = "0"; string cjpredate = ""; string cjpretime = ""; #endregion //判断出金账户是否存在 if (goldAccountList.Count > 0) { //判断虚拟账户里面的企业名称跟出金账户的企业名称是否一致 if (uif.ComName != goldAccountList[0].RecvAccNm) { return(Json(new { Tips = "出金账户与虚拟账户中的企业名称不一致", Status = 0 })); } } else { return(Json(new { Tips = "出金账户不存在", Status = 0 })); } #region 解冻出金 CiticPlatformOfGold cpogmodel = new CiticPlatformOfGold(); cpogmodel = TCPJW_CITICPROJECT.Common.GetCiticPlatformOfGoldByTid(model.TicketID); if (cpogmodel != null) { if (cpogmodel.Pf_id > 0) { this.UpdateModel(model);//修改模型必须在此之后 model.AuditorName = "AAAAAAA"; db.SaveChanges(); //yybutton.Enabled = false; //cjbutton.Enabled = false; return(Json(new { Tips = "汇票编号【" + model.TicketID + "】已进行资金打款,无法重复打款!", Status = 1 })); } } //返回格式:状态$$$$状态值 string clientid = "PCJ" + GetRandomNm(); //DateTime.Now.ToString("yyyyMMddHHmmssfff"); //wy:平台出金的客户流水号主要为了后面查询交易状态 string cid = clientid; string[] citicstatus = TCPJW_BATradingSystemCITIC.CITICYQZL.OpThrawoutthegold(subaccno, srecvaccnm, recvaccno, recvaccnm, new Encrypt_TCPJW().Encrypto(cjrecvaccno), new Encrypt_TCPJW().Encrypto(cjrecvaccnm), tranamt, zzmemo, cjsamebank, cjrecvtgfi, cjrecvbanknm, cjmemo, cjpreflg, cjpredate, cjpretime, clientid, model.TicketID).Split(new string[] { "$$$$" }, StringSplitOptions.None); #endregion if (citicstatus.Count() > 1) { dkstatus = citicstatus[0]; if (dkstatus == "AAAAAAE" || dkstatus == "AAAAAAA" || dkstatus == "AAAAAAB" || dkstatus == "AAAAAAC" || dkstatus == "AAAAAAD") { UpdateModel(model);//修改模型必须在此之后 model.AuditorName = "AAAAAAA"; db.SaveChanges(); //yybutton.Enabled = false; //cjbutton.Enabled = false; //cjbutton.Visible = true; //cxbutton.Enabled = true; return(Json(new { Tips = citicstatus[1], Status = 2 })); } return(Json(new { Tips = citicstatus[1], Status = 0 })); } return(Json(new { Tips = "", Status = 0 })); }