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); }
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); }