public static string GenerateVTObject() { VoucherTransfer vc = new VoucherTransfer(); VoucherType vt = new VoucherType(); vt.Id = 1; vt.Name = "MyRewards"; vt.Description = "$10 Party now"; vt.Amount = 10; Guid guid = Guid.NewGuid(); var voucher = new Voucher { 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 { VoucherType = vt, Guid = guid2.ToString(), Sender_Id = 1, Receiver_Id = 1, ActionType_Id = 0, SpendFlag = false, CreatedOn = DateTime.UtcNow, UpdatedOn = DateTime.UtcNow }; vc.ReceiverUserName = "******"; vc.VoucherList.Add(voucher); vc.VoucherList.Add(voucher2); List <VoucherTransfer> list = new List <VoucherTransfer>(); list.Add(vc); var content = JsonConvert.SerializeObject(list); return(content); }
public static VoucherTransferLog PostVoucher(VoucherTransferLog voucherTransferLog, ApplicationDbContext db, NopCommerceContext ndb, IIdentity currentUser) { try { var userId = int.Parse(currentUser.GetUserId()); voucherTransferLog.User_Id = userId; voucherTransferLog.CreatedOn = DateTime.UtcNow; db.VoucherTransferLogs.Add(voucherTransferLog); db.SaveChanges(); VoucherTransfer voucherTransfer = JsonConvert.DeserializeObject <List <VoucherTransfer> >(voucherTransferLog.Content).ElementAt(0); //NopCommerceUser receiver = ndb.Database.SqlQuery<NopCommerceUser>("SELECT CU.Id AS Customer_Id, Username, Email, null AS Password, null AS PasswordSalt FROM [Customer] CU WHERE CU.Username = '******'").First(); //FOR STUB PURPOSE ONLY var aspUser = db.Users.Where(u => u.UserName == voucherTransfer.ReceiverUserName).First(); var receiver = new { Customer_Id = aspUser.Id }; foreach (var vc in voucherTransfer.VoucherList) { var voucher = db.Vouchers.Where(v => v.Id == vc.Id && v.Receiver_Id == userId && v.SpendFlag == false).First(); voucher.Receiver_Id = receiver.Customer_Id; voucher.Sender_Id = userId; voucher.UpdatedOn = DateTime.UtcNow; db.Entry(voucher).State = EntityState.Modified; db.SaveChanges(); } voucherTransferLog.Result = ResultTypes.Success; db.Entry(voucherTransferLog).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { voucherTransferLog.Result = ResultTypes.Failed; db.Entry(voucherTransferLog).State = EntityState.Modified; db.SaveChanges(); } return(voucherTransferLog); }