public static VendorPayoutModel ToModel(this VendorPayout Payout, IOrderService _orderService) { var model = new VendorPayoutModel() { CommissionPercentage = Payout.CommissionPercentage, Id = Payout.Id, OrderId = Payout.OrderId, PayoutDate = Payout.PayoutDate, PayoutStatus = Payout.PayoutStatus, Remarks = Payout.Remarks, VendorId = Payout.VendorId, VendorOrderTotal = Payout.VendorOrderTotal, ShippingCharge = Payout.ShippingCharge, PayoutStatusName = Payout.PayoutStatus.ToString(), }; if (Payout.PayoutStatus == PayoutStatus.Cancelled) { model.CommissionAmount = 0; model.PayoutAmount = 0; model.VendorOrderTotal = 0; } else if (_orderService != null) { var order = _orderService.GetOrderById(Payout.OrderId); model.OrderDate = order.CreatedOnUtc; /* * var vendorItemTotalExShipping = Payout.VendorOrderTotal - model.ShippingCharge; * var vendorItemTotalOriginal = (vendorItemTotalExShipping * 100) / (100 + Payout.CommissionPercentage); * decimal commission = vendorItemTotalExShipping - vendorItemTotalOriginal; * model.CommissionAmount = commission; * model.PayoutAmount = vendorItemTotalOriginal;*/ model.PayoutAmount = GetPayoutAmount(Payout.VendorOrderTotal, Payout.CommissionPercentage); model.CommissionAmount = model.VendorOrderTotal - model.PayoutAmount; } return(model); }
public ActionResult UpdatePayout(VendorPayoutModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageVendors)) { return(Content("Access denied")); } var payout = _extendedVendorService.GetVendorPayout(model.Id); if (payout != null) { payout.CommissionPercentage = model.CommissionPercentage; payout.PayoutDate = model.PayoutDate; payout.PayoutStatus = model.PayoutStatus; payout.Remarks = model.Remarks; payout.VendorOrderTotal = model.VendorOrderTotal; payout.ShippingCharge = model.ShippingCharge; _extendedVendorService.SaveVendorPayout(payout); } return(new NullJsonResult()); }