public static VoucherSpendLog PostVoucher(VoucherSpendLog voucherSpendLog, ApplicationDbContext db, IIdentity currentUser)
        {
            try
            {
                var userId = int.Parse(currentUser.GetUserId());
                voucherSpendLog.User_Id   = userId;
                voucherSpendLog.CreatedOn = DateTime.UtcNow;
                db.VoucherSpendLogs.Add(voucherSpendLog);
                db.SaveChanges();

                VoucherSpend VoucherSpend = JsonConvert.DeserializeObject <List <VoucherSpend> >(voucherSpendLog.Content).ElementAt(0);

                var merchant = db.Merchants.Where(m => m.Guid == VoucherSpend.MerchantStaff.MerchantGuid).First();
                foreach (var vc in VoucherSpend.VoucherList)
                {
                    var voucher = db.Vouchers.Where(v => v.Id == vc.Id && v.Receiver_Id == userId && v.SpendFlag == false).First();
                    voucher.SpendFlag       = true;
                    voucher.Merchant_Id     = merchant.Id;
                    voucher.UpdatedOn       = DateTime.UtcNow;
                    voucher.VoucherSpend_Id = voucherSpendLog.Id;
                    db.Entry(voucher).State = EntityState.Modified;
                    db.SaveChanges();
                }

                voucherSpendLog.Result          = ResultTypes.Success;
                db.Entry(voucherSpendLog).State = EntityState.Modified;
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                voucherSpendLog.Result          = ResultTypes.Failed;
                db.Entry(voucherSpendLog).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(voucherSpendLog);
        }
示例#2
0
        public static string GenerateVCObject()
        {
            VoucherSpend vc = new VoucherSpend();

            Entities.MerchantStaff ms = new Entities.MerchantStaff();

            ms.MerchantGuid = "043e7e84-a1a4-4c85-bece-c0d8ad8f2ca6";
            ms.MerchantName = "Fair price";
            ms.StaffGuid    = "lkjsadoi098";

            VoucherType vt = new VoucherType();

            vt.Id          = 1;
            vt.Name        = "MyRewards";
            vt.Description = "$10 Party now";
            vt.Amount      = 10;

            VoucherType vt2 = new VoucherType();

            vt2.Id          = 2;
            vt2.Name        = "MyRewards";
            vt2.Description = "$20 Party now";
            vt2.Amount      = 20;

            Guid guid    = Guid.NewGuid();
            var  voucher = new Voucher
            {
                Id            = 1,
                VoucherType   = vt,
                Guid          = guid.ToString(),
                Sender_Id     = 1,
                Receiver_Id   = 1,
                ActionType_Id = 0,
                SpendFlag     = false,
                CreatedOn     = DateTime.UtcNow,
                UpdatedOn     = DateTime.UtcNow
            };

            Guid guid2    = Guid.NewGuid();
            var  voucher2 = new Voucher
            {
                Id            = 2,
                VoucherType   = vt,
                Guid          = guid2.ToString(),
                Sender_Id     = 1,
                Receiver_Id   = 1,
                ActionType_Id = 0,
                SpendFlag     = false,
                CreatedOn     = DateTime.UtcNow,
                UpdatedOn     = DateTime.UtcNow
            };

            vc.MerchantStaff = ms;
            vc.VoucherList.Add(voucher);
            vc.VoucherList.Add(voucher2);

            List <VoucherSpend> list = new List <VoucherSpend>();

            list.Add(vc);
            var content = JsonConvert.SerializeObject(list);

            return(content);
        }