public static BalanceDetailData ToViewData(this BalanceDetail node, CategoryDictionary suffix = CategoryDictionary.None) { if (node == null) { return(null); } var model = new BalanceDetailData() { Id = node.Id, BalanceId = node.BalanceId, EnergyCategory = node.EnergyCategory, Amount = node.Amount, Consumption = node.Consumption, Price = node.Price, EnergyCategoryDict = node.EnergyCategoryDict.ToViewData(), ConsumptionTotal = node.ConsumptionTotal, AmountTotal = node.AmountTotal }; return(model); }
public void TestBalanceCRUD() { // 删除无用的测试数据 List<Balance> list = Balance.Query("code = 'testcode'"); foreach (Balance acc in list) { acc.Destory(); } // 新增 Balance a = new Balance(); a.Code = "testcode"; a.Name = "Name"; a.CompanyDetailID = CompanyDetail.Query()[0].ID; a.Money = 1; a.BeginDate = DateTime.Now; a.EndDate = DateTime.Now; for (int i = 0; i < 10; i++) { BalanceDetail d = new BalanceDetail(); d.Money = i; d.PayDate = DateTime.Now; a.DetailList.Add(d); } Assert.IsTrue(a.Save()); Assert.IsTrue(a.ID > 0); // 查询 list = Balance.Query("code = 'testcode'"); Assert.IsTrue(list.Count == 1); Assert.IsTrue(list[0].ID == a.ID); Assert.IsTrue(list[0].DetailList.Count == 10); // 删除 Assert.IsTrue(list[0].Destory()); list = Balance.Query("code = 'testcode'"); Assert.IsTrue(list.Count == 0); }
//CardDetail cardDetailFull; //DateTime extractDate; public WindowTransactions(ItelUser u1, ItelUser u2) { InitializeComponent(); detail1 = new BalanceDetail(u1); detail2 = new BalanceDetail(u2); }
async Task prepareDetails(BalanceDetail detail, bool updateToday = false) { detail.TouchBalance = 0; detail.AlfaBalance = 0; detail.GoogleBalance = 0; detail.PsnBalance = 0; detail.FreeFireBalance = 0; detail.RazerBalance = 0; detail.OtherBalance = 0; //int i = 0; //bool begin = false; DateTime toDate = ToDatePicker.SelectedDate.Value; do { await detail.User.GetTransactions(toDate, updateToday); toDate = toDate.AddDays(-1); } while (toDate >= FromDatePicker.SelectedDate.Value); detail.User.SaveTransactions(); foreach (Transaction trnx in detail.User.Transactions) { DateTime date = DateTime.Parse(trnx.date.Substring(0, 10)); if (date <= ToDatePicker.SelectedDate && date >= FromDatePicker.SelectedDate) { foreach (MyLogInvoiceResponse invoice in trnx.myLogInvoiceResponses) { foreach (LogDetail log in invoice.logDetails) { double amountInDollar = double.Parse(log.amount); if (amountInDollar > 1000) { amountInDollar = Math.Round(amountInDollar / 15.15) / 100; } if (log.service == "TOUCH") { detail.TouchBalance += amountInDollar; } else if (log.service == "ALFA") { detail.AlfaBalance += amountInDollar; } else if (log.service == "GOOGLE PLAY") { detail.GoogleBalance += amountInDollar; } else if (log.service == "PLAY STATION NETWORK") { detail.PsnBalance += amountInDollar; } else if (log.service == "RAZER") { detail.RazerBalance += amountInDollar; } else if (log.service == "FREE FIRE") { detail.FreeFireBalance += amountInDollar; } else if (log.service == "WHISH COLLECT PAYMENT") { //detail.OtherBalance += double.Parse(log.amount.Remove(log.amount.Length-4)); } //else if (log.service == "TOUCH VALIDITY TRANSFER") // detail.OtherBalance += log.amount; else { detail.OtherBalance += amountInDollar; //if (cardDetailFull == null) //{ // cardDetailFull = CardDetail.Desirialize(File.ReadAllText("details.txt")); //} //foreach (Category category in cardDetailFull.data.categories) //{ // foreach (Service ser in category.services) // { // foreach (Denomination1 d1 in ser.denominations) // { // if (log.denomination == d1.name) // { // if (d1.price.StartsWith("USD")) // detail.OtherBalance += double.Parse(d1.price.Substring(4)); // else // detail.OtherBalance += double.Parse(d1.price, System.Globalization.NumberStyles.AllowCurrencySymbol | System.Globalization.NumberStyles.AllowDecimalPoint); // break; // } // } // } } } } } //} } //do //{ // if (begin || transactions[i].date != toDateString) // { // begin = true; // foreach (MyLogInvoiceResponse invoice in transactions[i].myLogInvoiceResponses) // { // foreach (LogDetail log in invoice.logDetails) // { // if (log.service == "TOUCH") // detail.TouchBalance += log.amount; // else if (log.service == "ALFA") // detail.AlfaBalance += log.amount; // else // detail.OtherBalance += log.amount; // } // } // } // i++; //} while (transactions[i].date != fromDateString); if (detail.User.UniversalAccount) { detail.TouchBalance -= detail1.TouchBalance; detail.AlfaBalance -= detail1.AlfaBalance; detail.GoogleBalance -= detail1.GoogleBalance; detail.RazerBalance -= detail1.RazerBalance; detail.FreeFireBalance -= detail1.FreeFireBalance; detail.PsnBalance -= detail1.PsnBalance; detail.OtherBalance -= detail1.OtherBalance; } }
public ActionResult ZYOrderBalance(Enums.Enums.OrderType body, string ordercode, string userID) { try { var ordermodel = db.zyorder.FirstOrDefault(s => s.OrderCode == ordercode);//查询订单信息 if (!db.tb_userinfos.Any(s => s.UserID == userID)) { return(Json(Comm.ToJsonResult("UserNotFind", "用户不存在"), JsonRequestBehavior.AllowGet)); } if (body != Enums.Enums.OrderType.Recharge && body != Enums.Enums.OrderType.OrderPay) { return(Json(Comm.ToJsonResult("Error", "请求参数错误"), JsonRequestBehavior.AllowGet)); } if (ordermodel == null) { return(Json(Comm.ToJsonResult("OrderNotFind", "订单不存在"), JsonRequestBehavior.AllowGet)); } var usmodel = db.tb_userinfos.FirstOrDefault(s => s.UserID == userID); if (usmodel.Balance < ordermodel.total_fee) { return(Json(Comm.ToJsonResult("BalanceShortage", "余额不足"), JsonRequestBehavior.AllowGet)); } usmodel.Balance = usmodel.Balance - ordermodel.total_fee; BalanceDetail model = new BalanceDetail(); model.MoverBalance = ordermodel.total_fee; model.MoverTime = DateTime.Now; model.MoverType = 1; model.Remark = "自营订单支付"; model.UserID = ordermodel.User_ID; model.CountBalance = usmodel.Balance - ordermodel.total_fee; db.BalanceDetail.Add(model); //保存下单信息到数据库 PayOrder paymodel = new PayOrder(); paymodel.OrderState = Enums.Enums.OrderState.Success; paymodel.out_trade_no = ""; paymodel.Paynoncestr = string.Empty; paymodel.PayPrepay_id = ""; paymodel.settlement_total_fee = ordermodel.total_fee; paymodel.CreateTime = DateTime.Now; paymodel.Sign = ""; paymodel.total_fee = ordermodel.total_fee; paymodel.User_ID = userID; paymodel.OrderType = body; paymodel.RelationID = ordermodel.ID; db.PayOrders.Add(paymodel); int resultrow = db.SaveChanges(); if (resultrow > 0) { return(Json(Comm.ToJsonResult("Success", "成功"), JsonRequestBehavior.AllowGet)); } else { return(Json(Comm.ToJsonResult("Error", "下单失败"), JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(Comm.ToJsonResult("Error", ex.Message), JsonRequestBehavior.AllowGet)); } }