public async Task <IActionResult> Create([Bind(properties)] PaymentView c)
        {
            if (!ModelState.IsValid)
            {
                return(View(c));
            }
            c.ID = c.ID ?? Guid.NewGuid().ToString();
            var o = PaymentViewFactory.Create(c);
            await payments.AddObject(o);

            return(RedirectToAction("Index"));
        }
        [TestMethod] public void CreateTest()
        {
            var r = GetRandom.Object <PaymentData>();

            r.ValidTo         = GetRandom.DateTime(r.ValidFrom);
            r.PaymentMethod   = getRandomPaymentMethod();
            r.PaymentMethodID = r.PaymentMethod.ID;
            var o = new Payment(r);
            var v = PaymentViewFactory.Create(o);

            Assert.AreEqual(v.ID, o.Data.ID);
            Assert.AreEqual(v.Amount, o.Data.Amount);
            Assert.AreEqual(v.PaymentMethodID, o.Data.PaymentMethodID);
            Assert.AreEqual(v.CurrencyID, o.Data.CurrencyID);
            Assert.AreEqual(v.DateDue, o.Data.DateDue);
            Assert.AreEqual(v.DateMade, o.Data.DateMade);
            Assert.AreEqual(v.ValidFrom, o.Data.ValidFrom);
            Assert.AreEqual(v.ValidTo, o.Data.ValidTo);
        }
        public async Task <IActionResult> Delete(string id)
        {
            var c = await payments.GetObject(id);

            return(View(PaymentViewFactory.Create(c)));
        }