public async Task <ActionResult> ProceedToBilling([Bind("UserCards,AddCard")] PayBillModel model) { if (ModelState.IsValid) { var cart = HttpContext.Session.GetObjectFromJson <Game>("cart"); for (int i = 0; i < cart.Count; i++) { Order order = new Order(); order.UserId = model.AddCard.UserId; order.GameId = cart[i].GameId; order.Date = DateTime.Now; try { _context.Update(order); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException e) { Console.WriteLine(e.Message); } } return(RedirectToAction("OrderConfirmation")); } ViewData["ProvinceList"] = new SelectList(_context.LookupProvince.OrderBy(p => p.Id), "Id", "Province"); ViewData["CountryList"] = new SelectList(_context.LookupCountry.OrderBy(p => p.Id), "Id", "Country"); return(View(model)); }
/// <summary> /// 更新付款单信息 /// </summary> /// <param name="model">实体</param> /// <param name="DiffAmount">本次输入的付款金额与修改前的付款金额之差</param> /// <returns></returns> public static bool UpdatePayBill(PayBillModel model, decimal DiffAmount) { StringBuilder sql = new StringBuilder(); sql.AppendLine("update officedba.PayBill set "); sql.AppendLine("PayNo=@PayNo,CustName=@CustName,PayAmount=@PayAmount,PayDate=@PayDate,AcceWay=@AcceWay, "); sql.AppendLine("Executor=@Executor,BankName=@BankName,BankNo=@BankNo,Remark=@Remark,ModifiedDate=@ModifiedDate,ModifiedUserID=@ModifiedUserID,BlendingType=@BlendingType,CurrencyType=@CurrencyType,CurrencyRate=@CurrencyRate,CustID=@CustID,FromTBName=@FromTBName,FileName=@FileName,ProjectID=@ProjectID "); sql.AppendLine(" where ID=@ID"); SqlCommand comm = new SqlCommand(); comm.CommandText = sql.ToString(); comm.Parameters.AddWithValue("@PayNo", SqlDbType.VarChar).Value = model.PayNo; comm.Parameters.AddWithValue("@CustName", SqlDbType.VarChar).Value = model.CustName; comm.Parameters.AddWithValue("@PayAmount", SqlDbType.Decimal).Value = model.PayAmount; comm.Parameters.AddWithValue("@PayDate", SqlDbType.DateTime).Value = model.PayDate; comm.Parameters.AddWithValue("@AcceWay", SqlDbType.Char).Value = model.AcceWay; comm.Parameters.AddWithValue("@Executor", SqlDbType.Int).Value = model.Executor; comm.Parameters.AddWithValue("@BankName", SqlDbType.VarChar).Value = model.BankName; comm.Parameters.AddWithValue("@BankNo", SqlDbType.VarChar).Value = model.BankNo; comm.Parameters.AddWithValue("@Remark", SqlDbType.VarChar).Value = model.Remark; comm.Parameters.AddWithValue("@ModifiedDate", SqlDbType.DateTime).Value = model.ModifiedDate; comm.Parameters.AddWithValue("@ModifiedUserID", SqlDbType.Int).Value = model.ModifiedUserID; comm.Parameters.AddWithValue("@BlendingType", SqlDbType.Char).Value = model.BlendingType; comm.Parameters.AddWithValue("@CurrencyType", SqlDbType.Int).Value = model.CurrencyType; comm.Parameters.AddWithValue("@CurrencyRate", SqlDbType.Decimal).Value = model.CurrencyRate; comm.Parameters.AddWithValue("@CustID", SqlDbType.Int).Value = model.CustID; comm.Parameters.AddWithValue("@FromTBName", SqlDbType.VarChar).Value = model.FromTBName; comm.Parameters.AddWithValue("@FileName", SqlDbType.VarChar).Value = model.FileName; comm.Parameters.AddWithValue("@ProjectID", SqlDbType.Int).Value = model.ProjectID; comm.Parameters.AddWithValue("@ID", SqlDbType.Int).Value = model.ID; ArrayList listCmd = new ArrayList(); listCmd.Add(comm); if (model.BillingID > 0) { updateUpBillingStatus(listCmd, model.BillingID.ToString(), DiffAmount); } bool result = SqlHelper.ExecuteTransWithArrayList(listCmd); return(result); }
/// <summary> /// 更新付款单信息 /// </summary> /// <param name="model">实体</param> /// <param name="DiffAmount">本次输入的付款金额与修改前的付款金额之差</param> /// <returns></returns> public static bool UpdatePayBill(PayBillModel model, decimal DiffAmount) { UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; try { bool suuc = PayBillDBHelper.UpdatePayBill(model, DiffAmount); string loginUserID = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).UserID; LogInfoModel logModel = InitLogInfo(model.ID.ToString()); logModel.Element = ConstUtil.LOG_PROCESS_UPDATE; //设置操作日志类型 修改 logModel.ObjectName = ConstUtil.CODING_RULE_TABLE_PAYBILL; if (suuc) { logModel.Remark = ConstUtil.LOG_PROCESS_SUCCESS; } else { logModel.Remark = ConstUtil.LOG_PROCESS_FAILED; } LogDBHelper.InsertLog(logModel); LogInfoModel logModell = InitLogInfo(model.BillingID.ToString()); logModell.Element = ConstUtil.LOG_PROCESS_UPDATE; logModell.ObjectName = ConstUtil.CODING_RULE_TABLE_BILLING; if (suuc) { logModell.Remark = ConstUtil.LOG_PROCESS_SUCCESS; } else { logModell.Remark = ConstUtil.LOG_PROCESS_FAILED; } LogDBHelper.InsertLog(logModell); return(suuc); } catch (Exception ex) { WriteSystemLog(userInfo, ex); throw ex; } }
public async Task PayBillAsync(PayBillModel model) { var bill = await unitOfWork.Bills.GetFirstWhereAsync(b => b.Id == model.BillId); if (bill != null) { bill.Value = model.Value; bill.PaymentType = model.PaymentType; bill.Comment = model.Comment; bill.Status = BillStatus.Paid; bill.UpdatedAt = DateTime.UtcNow; bill.PaidAt = model.PaidAt; await unitOfWork.Bills.UpdateAsync(bill); } }
public async Task <IActionResult> PayBill(Guid billId, PayBillPayload payload) { try { var model = new PayBillModel { BillId = billId, Value = payload.Value, Comment = payload.Comment, PaymentType = payload.PaymentType, PaidAt = payload.PaidAt }; await billService.PayBillAsync(model); return(Ok()); } catch (Exception e) { return(ExceptionResult(e)); } }
/// <summary> /// 添加付款单信息 /// </summary> /// <param name="Model"></param> /// <param name="ID"></param> /// <returns></returns> public static bool InSertIntoPayBillInfo(PayBillModel model, out int IntID) { StringBuilder sql = new StringBuilder(); sql.AppendLine("insert into Officedba.PayBill ( "); sql.AppendLine(" BillingID,CompanyCD,CreatDate,PayNo, "); sql.AppendLine("CustName,PayAmount,PayDate,AcceWay,Executor, "); sql.AppendLine(" BankName,BankNo,ConfirmStatus,IsAccount,Remark,BlendingType,CurrencyType,CurrencyRate,CustID,FromTBName,FileName,ProjectID ) "); sql.AppendLine(" values ( @BillingID,@CompanyCD,@CreatDate,@PayNo,"); sql.AppendLine("@CustName,@PayAmount,@PayDate,@AcceWay,@Executor, "); sql.AppendLine(" @BankName,@BankNo,@ConfirmStatus,@IsAccout,@Remark,@BlendingType,@CurrencyType,@CurrencyRate,@CustID,@FromTBName,@FileName,@ProjectID ) "); sql.AppendLine("set @IntID= @@IDENTITY"); SqlCommand comm = new SqlCommand(); comm.CommandText = sql.ToString(); comm.Parameters.AddWithValue("@BillingID", SqlDbType.Int).Value = model.BillingID; comm.Parameters.AddWithValue("@CompanyCD", SqlDbType.VarChar).Value = model.CompanyCD; comm.Parameters.AddWithValue("@CreatDate", SqlDbType.DateTime).Value = model.CreatDate; comm.Parameters.AddWithValue("@PayNo", SqlDbType.VarChar).Value = model.PayNo; comm.Parameters.AddWithValue("@CustName", SqlDbType.VarChar).Value = model.CustName; comm.Parameters.AddWithValue("@PayAmount", SqlDbType.Decimal).Value = model.PayAmount; comm.Parameters.AddWithValue("@PayDate", SqlDbType.DateTime).Value = model.PayDate; comm.Parameters.AddWithValue("@AcceWay", SqlDbType.Char).Value = model.AcceWay; comm.Parameters.AddWithValue("@Executor", SqlDbType.Int).Value = model.Executor; comm.Parameters.AddWithValue("@BankName", SqlDbType.VarChar).Value = model.BankName; comm.Parameters.AddWithValue("@BankNo", SqlDbType.VarChar).Value = model.BankNo; comm.Parameters.AddWithValue("@ConfirmStatus", SqlDbType.Char).Value = model.ConfirmStatus; comm.Parameters.AddWithValue("@IsAccout", SqlDbType.Char).Value = model.IsAccout; comm.Parameters.AddWithValue("@Remark", SqlDbType.VarChar).Value = model.Remark; comm.Parameters.AddWithValue("@BlendingType", SqlDbType.Char).Value = model.BlendingType; comm.Parameters.AddWithValue("@CurrencyType", SqlDbType.Int).Value = model.CurrencyType; comm.Parameters.AddWithValue("@CurrencyRate", SqlDbType.Decimal).Value = model.CurrencyRate; comm.Parameters.AddWithValue("@CustID", SqlDbType.Int).Value = model.CustID; comm.Parameters.AddWithValue("@FromTBName", SqlDbType.VarChar).Value = model.FromTBName; comm.Parameters.AddWithValue("@FileName", SqlDbType.VarChar).Value = model.FileName; comm.Parameters.AddWithValue("@ProjectID", SqlDbType.Int).Value = model.ProjectID; SqlParameter Ret = new SqlParameter("@IntID", SqlDbType.Int); //定义返回值参数 Ret.Direction = ParameterDirection.Output; comm.Parameters.Add(Ret); ArrayList listCmd = new ArrayList(); listCmd.Add(comm); if (model.BillingID > 0) { UpdateInsertBillingPrice(listCmd, model.BillingID, model.PayAmount); } bool result = SqlHelper.ExecuteTransWithArrayList(listCmd); IntID = Convert.ToInt32(Ret.Value); //bool updateResult=false; //if (result) //{ // updateResult = UpdateStauts(model.BillingID); //} //return (result&&updateResult); return(result); }
public async Task <ActionResult> ProceedToBilling(int?userId) { if (userId != null) { HttpContext.Session.SetString(nameof(userId), userId.ToString()); } else if (HttpContext.Session.GetString(nameof(userId)) != null) { userId = Convert.ToInt32(HttpContext.Session.GetString(nameof(userId))); } else { TempData["message"] = "Please log in."; return(Redirect("/Home/Index")); } var userCreditCards = await _context.UserCreditCard.Where(a => a.UserId == userId).ToListAsync(); List <CreditCardModel> userCards = new List <CreditCardModel>(); for (int i = 0; i < userCreditCards.Count; i++) { CreditCardModel cardModel = new CreditCardModel(); cardModel.Id = userCreditCards[i].Id; cardModel.UserId = userCreditCards[i].UserId; cardModel.CreditCardType = userCreditCards[i].CreditCardType; cardModel.CreditCardNumber = userCreditCards[i].CreditCardNumber; cardModel.SecurityCode = userCreditCards[i].SecurityCode; cardModel.Month = userCreditCards[i].ExpirationDate.Month; cardModel.Year = userCreditCards[i].ExpirationDate.Year; cardModel.NameOnCard = userCreditCards[i].NameOnCard; cardModel.Address1 = userCreditCards[i].Address1; cardModel.Address2 = userCreditCards[i].Address2; cardModel.City = userCreditCards[i].City; cardModel.ProvinceId = userCreditCards[i].ProvinceId; cardModel.CountryId = userCreditCards[i].CountryId; cardModel.PostalZipCode = userCreditCards[i].PostalZipCode; userCards.Add(cardModel); } CreditCardModel blankModel = new CreditCardModel(); blankModel.Id = null; blankModel.UserId = userId; blankModel.CreditCardType = null; blankModel.CreditCardNumber = null; blankModel.SecurityCode = null; blankModel.Month = DateTime.Now.Month; blankModel.Year = DateTime.Now.Year; blankModel.NameOnCard = null; blankModel.Address1 = null; blankModel.Address2 = null; blankModel.City = null; blankModel.ProvinceId = null; blankModel.CountryId = null; blankModel.PostalZipCode = null; PayBillModel model = new PayBillModel(); model.UserCards = userCards; model.AddCard = blankModel; List <SelectListItem> items = new List <SelectListItem>(); items.Add(new SelectListItem { Text = "VISA", Value = "VISA" }); items.Add(new SelectListItem { Text = "Mastercard", Value = "Mastercard" }); items.Add(new SelectListItem { Text = "American Express", Value = "American Express" }); ViewData["CardTypeList"] = new SelectList(items); ViewData["ProvinceList"] = new SelectList(_context.LookupProvince.OrderBy(p => p.Id), "Id", "Province"); ViewData["CountryList"] = new SelectList(_context.LookupCountry.OrderBy(p => p.Id), "Id", "Country"); return(View(model)); }