コード例 #1
0
ファイル: CartController.cs プロジェクト: Gan0ndwarf/CVGS
        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));
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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;
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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));
            }
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
ファイル: CartController.cs プロジェクト: Gan0ndwarf/CVGS
        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));
        }