Esempio n. 1
0
        /// <summary>
        /// called to convert every itemtemplate with a price to a refundable item
        /// </summary>
        private static void ItemTemplatetoRefundItem()
        {
            Hashtable list = new Hashtable();

            ItemTemplate[] items = (ItemTemplate[])GameServer.Database.SelectAllObjects(typeof(ItemTemplate));

            foreach (ItemTemplate item in items)
            {
                if (item.Copper > 0 || item.Silver > 0 || item.Gold > 0)
                {
                    RefundItem ritem = new RefundItem();

                    ritem.ItemName = item.Name;
                    ritem.ID_NB    = item.Id_nb;

                    int amount = 0;
                    amount += item.Copper;
                    amount += item.Silver * 100;
                    amount += item.Gold * 10000;

                    ritem.BPAmount = amount;

                    GameServer.Database.AddNewObject(ritem);
                }
            }
        }
        private Refund CreateRefund(Payment payment, CreateRefundInput input)
        {
            // Todo: other payment methods?
            var paymentMethod = payment.PaymentMethod;
            var currency      = payment.Currency;

            var refundAmount = input.RefundItems.Sum(x => x.RefundAmount);

            var refundItems = input.RefundItems.Select(createRefundItemEto =>
            {
                var refundItem = new RefundItem(GuidGenerator.Create(), createRefundItemEto.PaymentItemId,
                                                createRefundItemEto.RefundAmount, createRefundItemEto.CustomerRemark,
                                                createRefundItemEto.StaffRemark);
                createRefundItemEto.MapExtraPropertiesTo(refundItem, MappingPropertyDefinitionChecks.None);
                return(refundItem);
            }
                                                       ).ToList();

            var refund = new Refund(GuidGenerator.Create(), CurrentTenant.Id, payment.Id, paymentMethod, null, currency,
                                    refundAmount, input.DisplayReason, input.CustomerRemark, input.StaffRemark, refundItems);

            input.MapExtraPropertiesTo(refund, MappingPropertyDefinitionChecks.None);

            return(refund);
        }
Esempio n. 3
0
        public void RefundItemOrderItemIdGetsSetViaConstructorParameter()
        {
            const long expectedOrderItemId = 83;
            var        refundItem          = new RefundItem(expectedOrderItemId);

            long orderItemId = refundItem.Id;

            Assert.AreEqual(expectedOrderItemId, orderItemId, "RefundItem's OrderItemId was not set correctly.");
        }
Esempio n. 4
0
        public void RefundItemOrderItemTypeReturnsRefundItemOrderItemType()
        {
            const OrderItemType expectedOrderItemType = OrderItemType.RefundItem;
            var refundItem = new RefundItem();

            OrderItemType orderItemType = refundItem.OrderItemType;

            Assert.AreEqual(expectedOrderItemType, orderItemType, "RefundItem returned incorrect OrderItemType.");
        }
Esempio n. 5
0
        private List <RefundItem> DumpGridView()
        {
            List <RefundItem> refundList = new List <RefundItem>();
            Label             label;
            TextBox           textBox;
            CheckBox          checkBox;

            foreach (GridViewRow row in InvoiceGridView.Rows)
            {
                RefundItem temp = new RefundItem();

                label          = (Label)row.FindControl("ProductID");
                temp.ProductID = int.Parse(label.Text);

                label          = (Label)row.FindControl("InvoiceID");
                temp.InvoiceID = int.Parse(label.Text);

                label           = (Label)row.FindControl("CategoryID");
                temp.CategoryID = int.Parse(label.Text);

                label            = (Label)row.FindControl("ProductName");
                temp.ProductName = label.Text;

                label = (Label)row.FindControl("ProductQuantity");
                temp.ProductQuantity = int.Parse(label.Text);

                label             = (Label)row.FindControl("ProductPrice");
                temp.ProductPrice = Double.Parse(label.Text, System.Globalization.NumberStyles.Currency);

                label             = (Label)row.FindControl("ProductPrice");
                temp.ProductPrice = Double.Parse(label.Text, System.Globalization.NumberStyles.Currency);

                checkBox = (CheckBox)row.FindControl("HasRestockCharge");
                if (checkBox.Checked)
                {
                    label = (Label)row.FindControl("RestockCharge");
                    temp.RestockCharge = Double.Parse(label.Text, System.Globalization.NumberStyles.Currency);
                }
                else
                {
                    temp.RestockCharge = 0;
                }

                textBox     = (TextBox)row.FindControl("Reason");
                temp.Reason = textBox.Text;

                refundList.Add(temp);
            }
            return(refundList);
        }
Esempio n. 6
0
        public int OnCommand(GameClient client, string[] args)
        {
            if (args.Length == 1)
            {
                DisplaySyntax(client);
                return(0);
            }

            switch (args[1])
            {
            case "item":
            {
                if (args.Length < 5)
                {
                    DisplaySyntax(client);
                    return(0);
                }

                ItemTemplate temp = (ItemTemplate)(GameServer.Database.SelectObject(typeof(ItemTemplate), "Id_Nb = '" + args[3] + "'"));

                if (temp == null)
                {
                    DisplayMessage(client, "Itemtemplate not found");
                    return(0);
                }
                if (temp.Name != args[2])
                {
                    DisplayMessage(client, "Itemname does not match Templatename");
                    return(0);
                }

                RefundItem item = new RefundItem();

                item.ItemName = args[2];
                item.ID_NB    = args[3];
                try
                {
                    item.BPAmount = Convert.ToInt32(args[4]);
                }
                catch (Exception)
                {
                    DisplayMessage(client, "Please enter a valid number");
                    return(0);
                }

                DisplayMessage(client, "Refunditem added to database");
                GameServer.Database.SaveObject(item);
            }
            break;

            case "proc":
            {
                if (args.Length < 4)
                {
                    DisplaySyntax(client);
                    return(0);
                }

                RefundProcs proc = new RefundProcs();

                try
                {
                    proc.ProcID   = Convert.ToInt32(args[2]);
                    proc.BPAmount = Convert.ToInt32(args[3]);
                }
                catch (Exception)
                {
                    DisplayMessage(client, "Please enter a valid number");
                    return(0);
                }

                DisplayMessage(client, "Refundproc added to database");
                GameServer.Database.SaveObject(proc);
            }
            break;
            }

            return(0);
        }
Esempio n. 7
0
        public RefundResponse CreateRefund(RefundRequest req)
        {
            var response = new RefundResponse();

            try
            {
                using (var container = new TransactionModelContainer())
                {
                    var refund = new Refund()
                    {
                        CreatedBy                 = req.CreateBy,
                        CreatedDate               = DateTime.Now,
                        CustomerAddress           = req.CustomerAddress,
                        CustomerIdmPartyId        = req.CustomerIdmPartyId,
                        CustomerMobilePhoneNo     = req.CustomerMobilePhoneNo,
                        CustomerName              = req.CustomerName,
                        CustomerRefundAccountName = req.CustomerRefundAccountName,
                        CustomerRefundAccountNo   = req.CustomerRefundAccountNo,
                        CustomerRefundBankId      = req.CustomerRefundBankId,
                        IsVoid      = req.IsVoid,
                        PaymentCode = req.PaymentCode,
                        Ref1        = req.Ref1,
                        Ref2        = req.Ref2,
                        Ref3        = req.Ref3,
                        Remark      = req.Remark,
                        Status      = req.Status,
                        UpdatedBy   = req.UpdateBy,
                        UpdatedDate = DateTime.Now,
                    };

                    container.Refunds.AddObject(refund);

                    foreach (var r in req.Items)
                    {
                        var refundItem = new RefundItem()
                        {
                            GroupRef1       = r.GroupRef1,
                            GroupRef2       = r.GroupRef2,
                            ItemDescription = r.ItemDescription,
                            Qty             = r.Qty,
                            Remark          = r.Remark,
                            UnitAmount      = r.UnitAmount,
                        };

                        container.RefundItems.AddObject(refundItem);
                    }

                    container.SaveChanges();

                    //response.SetPaymentResponse(payment);
                    response.Succeed();
                }
            }
            catch (Exception ex)
            {
                response.Fail(ex);
                CreateLog(ex);
            }

            return(response);
        }