コード例 #1
0
        private void SaveRefundDetail(int rowHandle)
        {
            DataRow drDetail        = (gvRefund.GetRow(rowHandle) as DataRowView).Row;
            int     BRefundDetailID = new RefundRepository().SaveBRefundDetail(drDetail);

            drDetail["BREFUNDDETAILID"] = BRefundDetailID;
        }
コード例 #2
0
        private void InitialLoad()
        {
            DataSet dSInitialData = new RefundRepository().GetInitialLoad(Utility.logininfo.UserID, Utility.branchinfo.BranchID);

            if (dSInitialData != null && dSInitialData.Tables.Count > 0)
            {
                BRefundID           = dSInitialData.Tables[0].Rows[0]["BREFUNDID"];
                BRefundNumber       = dSInitialData.Tables[0].Rows[0]["BREFUNDNUMBER"];
                this.Text           = "Branch Refund" + "-" + BRefundNumber;
                dtRefund            = dSInitialData.Tables[1].Copy();
                gcRefund.DataSource = dtRefund;
                SNo = dtRefund.Rows.Count + 1;
            }
        }
コード例 #3
0
ファイル: OrderService.cs プロジェクト: sahvishal/matrix
        public Refund SaveRefundOrderItem(OrganizationRoleUser creatorOrganizationRoleUser, string notes,
                                          decimal amount)
        {
            var refundOrderItem = new Refund
            {
                DataRecorderMetaData =
                    new DataRecorderMetaData
                {
                    DataRecorderCreator  = creatorOrganizationRoleUser,
                    DateCreated          = DateTime.Now,
                    DataRecorderModifier = creatorOrganizationRoleUser,
                    DateModified         = DateTime.Now
                },
                Notes        = notes,
                Price        = amount,
                RefundReason = RefundReason.Other
            };
            IUniqueItemRepository <Refund> refundItemRepository = new RefundRepository();

            refundOrderItem = refundItemRepository.Save(refundOrderItem);
            return(refundOrderItem);
        }
コード例 #4
0
 private void txtBillNumber_Leave(object sender, EventArgs e)
 {
     if (txtBillNumber.EditValue == null)
     {
         return;
     }
     try
     {
         DataTable dt = new RefundRepository().GetBillByNumber(txtBillNumber.EditValue);
         if (dt.Rows.Count == 0)
         {
             return;
         }
         this.Text                = "Customer Refund - " + txtBillNumber.EditValue;
         txtBillDate.EditValue    = dt.Rows[0]["CREATEDDATE"];
         gcBillDetails.DataSource = dt;
     }
     catch (Exception ex)
     {
         XtraMessageBox.Show(ex.Message);
     }
 }
コード例 #5
0
ファイル: RefundService.cs プロジェクト: lguilhermef/cttmove
 public RefundService()
 {
     this._refundRepository = new RefundRepository();
 }
コード例 #6
0
        public void UndoManualRefundRequest(RefundRequest refundRequest)
        {
            var order = _orderRepository.GetOrder(refundRequest.OrderId);

            var cancelledOrderItemIds    = order.OrderDetails.Where(od => od.DetailType == OrderItemType.RefundItem && !od.IsCompleted).Select(od => od.OrderItemId).ToArray();
            var manualRefundOrderDetails = order.OrderDetails.Where(od => od.DetailType == OrderItemType.RefundItem && od.IsCompleted && !cancelledOrderItemIds.Contains(od.OrderItemId))
                                           .Select(od => od).OrderByDescending(od => od.Id).ToList();

            if (manualRefundOrderDetails.IsNullOrEmpty())
            {
                throw new Exception("No Manual Refund item found in the order.");
            }

            IUniqueItemRepository <Refund> refundItemRepository = new RefundRepository();

            var forOrganizationRoleUser     = new OrganizationRoleUser(manualRefundOrderDetails.First().ForOrganizationRoleUserId);
            var creatorOrganizationRoleUser = new OrganizationRoleUser(_sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId);

            if (manualRefundOrderDetails.Count() == 1)
            {
                var manualRefundOrderDetail = manualRefundOrderDetails.FirstOrDefault(mrod => mrod.Price == refundRequest.RequestedRefundAmount);

                if (manualRefundOrderDetail == null)
                {
                    throw new Exception("No Manual Refund item found for request amount.");
                }

                var refundItem = refundItemRepository.GetById(manualRefundOrderDetail.OrderItem.ItemId);
                refundItem.Price = -1 * refundItem.Price;
                _orderService.CancelRefundOrder(new[] { refundItem }, order, creatorOrganizationRoleUser, forOrganizationRoleUser);
            }
            else
            {
                decimal totalAmount = 0;

                var orderables = new List <IOrderable>();
                foreach (var manualRefundOrderDetail in manualRefundOrderDetails)
                {
                    var refundItem = refundItemRepository.GetById(manualRefundOrderDetail.OrderItem.ItemId);

                    if ((totalAmount + refundItem.Price) > refundRequest.RequestedRefundAmount)
                    {
                        break;
                    }

                    totalAmount     += refundItem.Price;
                    refundItem.Price = -1 * refundItem.Price;
                    orderables.Add(refundItem);
                }
                if (totalAmount != refundRequest.RequestedRefundAmount || orderables.IsNullOrEmpty())
                {
                    throw new Exception("No Manual Refund items found for request amount.");
                }

                _orderService.CancelRefundOrder(orderables, order, creatorOrganizationRoleUser, forOrganizationRoleUser);
            }

            var repository = ((IRepository <RefundRequest>)_refundRequestRepository);

            refundRequest.RequestStatus       = (long)RequestStatus.Reverted;
            refundRequest.RefundRequestResult = new RefundRequestResult
            {
                ProcessedOn = DateTime.Now,
                ProcessedByOrgRoleUserId = _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId
            };
            repository.Save(refundRequest);
        }