private void btnCalculate_Click(object sender, RoutedEventArgs e) { if (ValidationManager.Validate(this.LayoutRoot)) { RefundVM vm = this.DataContext as RefundVM; refundFacade.Calculate(vm, (obj, args) => { vm.SOCashPointRate = args.Result.SOCashPointRate; vm.DeductPointFromAccount = args.Result.DeductPointFromAccount; vm.DeductPointFromCurrentCash = args.Result.DeductPointFromCurrentCash; vm.OrgPointAmt = args.Result.OrgPointAmt; vm.PointAmt = args.Result.PointAmt; vm.OrgCashAmt = args.Result.OrgCashAmt; vm.CashAmt = args.Result.CashAmt; vm.OrgGiftCardAmt = args.Result.OrgGiftCardAmt; vm.GiftCardAmt = args.Result.GiftCardAmt; vm.PriceprotectPoint = args.Result.PriceprotectPoint; //刷新界面的初算退款金额 vm.RefundItems.ForEach(item => { RefundItemInfo tmpInfo = args.Result.RefundItems.FirstOrDefault(x => x.RegisterSysNo == item.RegisterSysNo); if (tmpInfo != null) { item.RefundCash = tmpInfo.RefundCash; } }); Window.Alert(ResRefundMaintain.Info_OperateSuccessfully); }); } }
public IActionResult RefundReebux(RefundVM refund) { try { var user = userManager.GetUserAsync(HttpContext.User).Result; var userwallet = walletService.GetWallets().Where(s => s.UserID == user.Id).FirstOrDefault(); var product = reebuxService.GetReebux(refund.ReebuxID.Value); Refund rf = new Refund(); rf.Amount = product.Amount; rf.Description = refund.Description; rf.UserID = user.Id; rf.WalletID = userwallet.Id; rf.AddDate = DateTime.Now; rf.Status = 1; rf.IsGranted = true; rf.ReebuxID = refund.ReebuxID; userwallet.Balance = product.Balance; refundService.InsertRefund(rf); userwallet.Balance -= rf.Amount; walletService.UpdateWallet(userwallet); return(Ok(new TransactionResponse { Message = "Successfully recieved, We'll verify your request. We will notify you.", IsSuccess = true })); } catch (Exception ex) { return(Ok(new TransactionResponse { Message = "Something went wrong", IsSuccess = false })); } }
public void CreateRefund(RefundVM refundVM) { var postRefund = new Fusebill.ApiWrapper.Dto.Post.Refund(); postRefund.Amount = refundVM.RefundAmount; postRefund.OriginalPaymentId = refundVM.Id; ApiClient.PostRefund(postRefund); }
private void cmbRefundPayType_SelectionChanged(object sender, SelectionChangedEventArgs e) { RefundVM vm = this.DataContext as RefundVM; if (vm.RefundPayType == null) { return; } vm.ValidationErrors.Clear(); switch (vm.RefundPayType) { case RefundPayType.BankRefund: txtBankName.IsReadOnly = false; txtBranchBankName.IsReadOnly = false; txtCardNo.IsReadOnly = false; txtCardOwnerName.IsReadOnly = false; txtPostAddress.IsReadOnly = true; txtPostCode.IsReadOnly = true; txtReceiverName.IsReadOnly = true; break; case RefundPayType.PostRefund: txtPostAddress.IsReadOnly = false; txtPostCode.IsReadOnly = false; txtReceiverName.IsReadOnly = false; txtBankName.IsReadOnly = true; txtBranchBankName.IsReadOnly = true; txtCardNo.IsReadOnly = true; txtCardOwnerName.IsReadOnly = true; break; case RefundPayType.NetWorkRefund: txtBankName.IsReadOnly = false; txtBranchBankName.IsReadOnly = true; txtCardNo.IsReadOnly = true; txtCardOwnerName.IsReadOnly = true; txtPostAddress.IsReadOnly = true; txtPostCode.IsReadOnly = true; txtReceiverName.IsReadOnly = true; break; default: txtBankName.IsReadOnly = true; txtBranchBankName.IsReadOnly = true; txtCardNo.IsReadOnly = true; txtCardOwnerName.IsReadOnly = true; txtPostAddress.IsReadOnly = true; txtPostCode.IsReadOnly = true; txtReceiverName.IsReadOnly = true; break; } }
private void btnUpdate_Click(object sender, RoutedEventArgs e) { if (ValidationManager.Validate(this.LayoutRoot)) { RefundVM vm = this.DataContext as RefundVM; refundFacade.Update(vm, (obj, args) => { Window.Alert(ResRefundMaintain.Info_OperateSuccessfully); }); } }
private void btnGetShipFee_Click(object sender, RoutedEventArgs e) { RefundVM vm = this.DataContext as RefundVM; new RefundFacade(CPApplication.Current.CurrentPage).GetShipFee(vm, (obj, args) => { UCShipFeeDetail uc = new UCShipFeeDetail(); uc.DataContext = args.Result; IDialog dialog = CPApplication.Current.CurrentPage.Context.Window.ShowDialog(ResRefundMaintain.PopTitle_ShipFeeDetail, uc); uc.Dialog = dialog; }); }
private void LoadRefund() { if (this.sysNo > 0) { refundFacade.Load(this.sysNo, (obj, args) => { this.vm = args.Result; SetDataContext(); }); } }
private void btnCancelSubmitAudit_Click(object sender, RoutedEventArgs e) { RefundVM vm = this.DataContext as RefundVM; refundFacade.CancelSubmitAudit(vm, (obj, args) => { vm.Status = args.Result.Status; SetButtonStatus(); Window.Alert(ResRefundMaintain.Info_OperateSuccessfully); }); }
private void btnVoid_Click(object sender, RoutedEventArgs e) { RefundVM vm = this.DataContext as RefundVM; refundFacade.Abandon(vm.SysNo.Value, (obj, args) => { vm.Status = args.Result.Status; SetButtonStatus(); Window.Alert(ResRefundMaintain.Info_OperateSuccessfully); }); }
public void CancelSubmitAudit(RefundVM model, EventHandler <RestClientEventArgs <RefundInfo> > callback) { string relativeUrl = "/RMAService/Refund/CancelSubmitAudit"; RefundInfo msg = ConvertVM(model); restClient.Update <RefundInfo>(relativeUrl, msg, (obj, args) => { if (args.FaultsHandle()) { return; } callback(obj, args); }); }
public IActionResult AddRefund(long?Id) //orderId { RefundVM refundVM = new RefundVM(); string uNameId = ""; string uName = ""; uNameId = returnUserNameId(); uName = (_unitOfWork.ApplicationUser.GetAll().Where(q => q.UserName == User.Identity.Name).Select(q => q.Name)).FirstOrDefault(); if (Id == null) { refundVM = new RefundVM() { refund = new Refund(), OrdersList = _unitOfWork.Order.GetAll().Where(a => a.OrderStatus == SD.OrderStatusDone && !a.IsAdmin && !_unitOfWork.Refund.GetAll().Any(q => q.OrderId == a.Id)). Select(i => new SelectListItem { Text = i.CustName + "- Id: " + i.Id + " Quantity: " + i.Quantity, Value = i.Id.ToString() }) }; ViewBag.UName = uName; ViewBag.ShowMsg = 0; ViewBag.failed = false; return(View(refundVM)); } else { refundVM = new RefundVM() { refund = new Refund(), OrdersList = _unitOfWork.Order.GetAll().Where(a => a.Id == Id). Select(i => new SelectListItem { Text = i.CustName + "- Id: " + i.Id + " Quantity: " + i.Quantity, Value = i.Id.ToString() }) }; ReturnLabel returnLabel = _unitOfWork.ReturnLabel.GetAll().Where(a => a.OrderId == Id).FirstOrDefault(); if (returnLabel != null) { refundVM.refund.ReturnId = returnLabel.Id; } ViewBag.UName = uName; ViewBag.ShowMsg = 0; ViewBag.failed = false; return(View(refundVM)); } }
/// <summary> /// 控制按钮的是否可用状态 /// </summary> private void SetButtonStatus() { btnUpdate.IsEnabled = false; btnCalculate.IsEnabled = false; btnSubmitAudit.IsEnabled = false; btnCancelSubmitAudit.IsEnabled = false; btnVoid.IsEnabled = false; btnRefund.IsEnabled = false; btnRefundBalance.IsEnabled = false; btnPrint.IsEnabled = false; RefundVM vm = this.DataContext as RefundVM; if (vm.Status == RMARefundStatus.WaitingRefund) { btnUpdate.IsEnabled = AuthMgr.HasFunctionPoint(AuthKeyConst.RMA_Refund_Update); btnCalculate.IsEnabled = AuthMgr.HasFunctionPoint(AuthKeyConst.RMA_Refund_Calculate); btnSubmitAudit.IsEnabled = AuthMgr.HasFunctionPoint(AuthKeyConst.RMA_Refund_SubmitAudit); btnVoid.IsEnabled = AuthMgr.HasFunctionPoint(AuthKeyConst.RMA_Refund_Abandon); vm.RefundItems.ForEach(p => p.CanChangeRefundPriceType = true); } else if (vm.Status == RMARefundStatus.WaitingAudit) { btnSubmitAudit.IsEnabled = false; btnCancelSubmitAudit.IsEnabled = AuthMgr.HasFunctionPoint(AuthKeyConst.RMA_Refund_CancelAudit); btnRefund.IsEnabled = AuthMgr.HasFunctionPoint(AuthKeyConst.RMA_Refund_Refund); vm.RefundItems.ForEach(p => p.CanChangeRefundPriceType = false); } else if (vm.Status == RMARefundStatus.Refunded) { btnRefundBalance.IsEnabled = true; btnPrint.IsEnabled = AuthMgr.HasFunctionPoint(AuthKeyConst.RMA_Refund_Print); btnSetInvoiceNo.IsEnabled = true; vm.RefundItems.ForEach(p => p.CanChangeRefundPriceType = false); } else if (vm.Status == RMARefundStatus.Abandon) { btnUpdate.IsEnabled = false; btnCalculate.IsEnabled = false; btnSubmitAudit.IsEnabled = false; btnCancelSubmitAudit.IsEnabled = false; btnVoid.IsEnabled = false; btnRefund.IsEnabled = false; btnRefundBalance.IsEnabled = false; btnPrint.IsEnabled = false; btnSetInvoiceNo.IsEnabled = false; vm.RefundItems.ForEach(p => p.CanChangeRefundPriceType = false); } }
public void Calculate(RefundVM model, EventHandler <RestClientEventArgs <RefundInfo> > callback) { string relativeUrl = "/RMAService/Refund/Calculate"; RefundInfo msg = ConvertVM(model); msg.CompanyCode = CPApplication.Current.CompanyCode; restClient.Update <RefundInfo>(relativeUrl, msg, (obj, args) => { if (args.FaultsHandle()) { return; } callback(obj, args); }); }
private void btnSubmitAudit_Click(object sender, RoutedEventArgs e) { if (ValidationManager.Validate(this.LayoutRoot)) { RefundVM vm = this.DataContext as RefundVM; refundFacade.SubmitAudit(vm, (obj, args) => { vm.Status = args.Result.Status; SetButtonStatus(); Window.Alert(ResRefundMaintain.Info_OperateSuccessfully); }); } }
private RefundInfo ConvertVM(RefundVM vm) { RefundInfo refund = vm.ConvertVM <RefundVM, RefundInfo>((s, t) => { t.IncomeBankInfo.BankName = s.BankName; t.IncomeBankInfo.BranchBankName = s.BranchBankName; t.IncomeBankInfo.CardNumber = s.CardNumber; t.IncomeBankInfo.CardOwnerName = s.CardOwnerName; t.IncomeBankInfo.PostAddress = s.PostAddress; t.IncomeBankInfo.PostCode = s.PostCode; t.IncomeBankInfo.ReceiverName = s.ReceiverName; t.IncomeBankInfo.Note = s.IncomeNote; t.IncomeBankInfo.RefundReason = s.RefundReason; }); return(refund); }
public void GetShipFee(RefundVM vm, EventHandler <RestClientEventArgs <ShippingFeeRsp> > callback) { string relativeUrl = "/RMAService/Refund/GetShipFee"; var msg = ConvertVM(vm); restClient.Query <ShippingFeeRsp>(relativeUrl, msg, (obj, args) => { if (args.FaultsHandle()) { return; } RestClientEventArgs <ShippingFeeRsp> arg = new RestClientEventArgs <ShippingFeeRsp>(args.Result, viewPage); callback(obj, arg); }); }
private void btnCreate_Click(object sender, RoutedEventArgs e) { btnCreate.Visibility = Visibility.Collapsed; int?soSysNo = this.Registers[0].BasicInfo.SOSysNo; int?warehouseSysNo = this.Registers[0].BasicInfo.WarehouseSysNo; string msg = string.Empty; foreach (var item in this.Registers) { if (soSysNo == null || soSysNo != item.BasicInfo.SOSysNo) { msg = ResCreateRefund.Warning_RegisterMustSameSO; break; } if (warehouseSysNo == null || warehouseSysNo != item.BasicInfo.WarehouseSysNo) { msg = ResCreateRefund.Warning_RegisterMustSameShippedWarehouse; break; } } if (!string.IsNullOrEmpty(msg)) { CPApplication.Current.CurrentPage.Context.Window.Alert(msg, MessageType.Warning); return; } RefundVM vm = new RefundVM(); vm.SOSysNo = soSysNo; vm.CheckIncomeStatus = !chkNotCheckIncomeStatus.IsChecked.Value; this.Registers.ForEach(p => { vm.RefundItems.Add(new RefundItemVM { RegisterSysNo = p.BasicInfo.SysNo }); }); new RefundFacade(CPApplication.Current.CurrentPage).Create(vm, (obj, args) => { CPApplication.Current.CurrentPage.Context.Window.Alert(ResCreateRefund.Info_OperateSuccessfully); saved = true; btnCancel_Click(null, null); }); }
private void btnUpdateFinanceNote_Click(object sender, RoutedEventArgs e) { RefundVM vm = this.DataContext as RefundVM; if (string.IsNullOrEmpty(vm.FinanceNote)) { List <string> members = new List <string>() { "FinanceNote" }; vm.ValidationErrors.Add(new System.ComponentModel.DataAnnotations.ValidationResult(ResRefundMaintain.Validation_RequiredField, members)); txtFinanceNote.Focus(); return; } new RefundFacade(CPApplication.Current.CurrentPage).UpdateFinanceNote(vm, (obj, args) => { CPApplication.Current.CurrentPage.Context.Window.Alert(ResRefundMaintain.Info_OperateSuccessfully); }); }
public IActionResult AddRefund(RefundVM refundVM) { bool errAmount = false; if (ModelState.IsValid) { Order order = _unitOfWork.Order.GetAll().Where(a => a.Id == refundVM.refund.OrderId).FirstOrDefault(); if (refundVM.refund.FullRefund) { refundVM.refund.RefundQuantity = order.Quantity; } if (refundVM.refund.RefundQuantity > order.Quantity || refundVM.refund.RefundQuantity <= 0) { ViewBag.ErrAmount = true; errAmount = true; } else { ViewBag.ErrAmount = false; } if (!errAmount) { bool ownByWarehouse = _unitOfWork.Product.GetAll().Where(a => a.Id == order.ProductId).Select(a => a.OwnByWarehouse).FirstOrDefault(); PaymentBalance paymentBalance = _unitOfWork.PaymentBalance.GetAll().Where(a => a.UserNameId == order.UserNameId).FirstOrDefault(); // add refund amount to seller balance double costPerOne = order.Cost / order.Quantity; paymentBalance.Balance = paymentBalance.Balance + costPerOne * refundVM.refund.RefundQuantity; PaymentBalance warehousePaymentBalance = _unitOfWork.PaymentBalance.GetAll().Where(a => a.IsWarehouseBalance).FirstOrDefault(); //remove from warehouse if its his product if (ownByWarehouse) { double productCost = _unitOfWork.Product.GetAll().Where(a => a.Id == order.ProductId).Select(a => a.Cost).FirstOrDefault(); warehousePaymentBalance.Balance = warehousePaymentBalance.Balance + refundVM.refund.RefundQuantity * productCost; } //if charge warehouse for shipping if (refundVM.refund.ChargeWarehouse) { warehousePaymentBalance.Balance = warehousePaymentBalance.Balance + refundVM.refund.RefundQuantity * SD.shipping_cost; } if (refundVM.refund.RefundQuantity == order.Quantity) { order.OrderStatus = SD.OrderStatusFullRefund; } else { order.OrderStatus = SD.OrderStatusPartialRefund; } _unitOfWork.Order.update(order); _unitOfWork.Refund.Add(refundVM.refund); _unitOfWork.Save(); } ViewBag.ShowMsg = 1; //return RedirectToAction(nameof(Index)); } RefundVM refundVM2 = new RefundVM() { refund = new Refund(), OrdersList = _unitOfWork.Order.GetAll().Where(a => a.Id == refundVM.refund.OrderId). Select(i => new SelectListItem { Text = i.CustName + "- Id: " + i.Id + " Quantity: " + i.Quantity, Value = i.Id.ToString() }) }; return(View(refundVM2)); }