public static void SetAuthenticationTicket(this HttpContextBase httpContext, User user, string[] roles, bool isPersistent) { var ticket = new UserTicket { Name = user.Username, UserId = user.UserId, Roles = roles != null && roles.Length > 0 ? roles.Aggregate((c, n) => c + "," + n) : string.Empty, }; var jsonSerializer = new JavaScriptSerializer(); var userData = jsonSerializer.Serialize(ticket); var authTicket = new FormsAuthenticationTicket(1, user.Username, DateTime.Now, DateTime.Now.AddHours(8), isPersistent, userData); var encryptedTicket = FormsAuthentication.Encrypt(authTicket); var authCookie = new HttpCookie(FormsCookieName, encryptedTicket) { Expires = isPersistent ? authTicket.Expiration : DateTime.MinValue }; httpContext.Response.Cookies.Add(authCookie); }
public void Default() { uid = 0; profile = new UserProfile(); profile.nm = string.Empty; profile.lv = 1; profile.xp = 1; profile.tt = 10; money = new UserMoney(); money.gld = 500000; ticket = new UserTicket(); ticket.val = 1000; ticket.date = 10000; }
private async Task <UsersWechat> GetUserMsg(string url, UserTicket tiket) { //序列化将要传输的对象 string obj = JsonConvert.SerializeObject(tiket); using (HttpClient client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var result = await client.PostAsync(url, new StringContent(obj)); if (result.IsSuccessStatusCode) { string re = await result.Content.ReadAsStringAsync(); var jo = JObject.Parse(re); if (jo.IsValid(schema)) { var m = JsonConvert.DeserializeObject <UsersWechat>(re); return(m); } } } return(null); }
public async Task <ActionResult> Register(RegisterTicketEditModel model) { try { var ticket = await UnitOfWork.TicketRepository.GetTicketAsync(model.TicketId); if (ticket == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } if (ticket.Quantity - ticket.UserTickets.Count == 0 || ticket.Type != TicketType.Free) { return(new HttpStatusCodeResult(HttpStatusCode.Forbidden)); } var userTicket = new UserTicket { TicketId = model.TicketId, UserId = GetGuid(User.Identity.GetUserId()), OwnerName = string.Format("{0} {1}", model.FirstName, model.LastName), OwnerEmail = model.Email, OwnerAddress = model.Address, OrderNumber = Guid.NewGuid().ToString("N"), OrderDate = DateTime.UtcNow }; UnitOfWork.UserTicketRepository.Add(userTicket); await UnitOfWork.SaveChangesAsync(); } catch { //TODO: Log error } return(RedirectToAction("MyTickets", "Ticket")); }
public ActionResult SubmitTransaction([Bind(Include = "TransactionID,Payment,TransactionDate, UserTickets, User, PopcornPointsSpent, OtherPayment")] Transaction transaction, string SearchGiftee, Payment Payment, String OtherPayment) { Transaction t = db.Transactions.Find(transaction.TransactionID); t.Payment = Payment; AppUser AU = t.User; // Dan - I changed the code here from OtherPayment == null to what's below // TODO: Test to see if it's working completely if (t.Payment != Payment.OtherCreditCard || ((t.Payment == Payment.OtherCreditCard && OtherPayment == "") || (t.Payment == Payment.OtherCreditCard && CreditCard.GetCreditCardType(OtherPayment) != "Invalid"))) { Debug.WriteLine(Utilities.TransactionValidation.TicketValidation(t)); if (Utilities.TransactionValidation.TicketValidation(t) == true) { if (ModelState.IsValid) { if (SearchGiftee != null && SearchGiftee != "") { var roles = db.Roles.Where(r => r.Name == "Customer"); var roleId = roles.First().Id; var dbCustomers = from user in db.Users where user.Roles.Any(r => r.RoleId == roleId) select user; var Giftee = dbCustomers.Where(u => u.Email == SearchGiftee); AppUser RGiftee = Giftee.FirstOrDefault(); if (RGiftee == null) { ViewBag.ErrorMessage = "The user can't be found"; ViewBag.PaymentOptions = GetAllPayments(AU.Id); return(View(t)); } foreach (UserTicket item in t.UserTickets) { if (item.Showing.Movie.MPAA_Rating == MPAA.NC17 || item.Showing.Movie.MPAA_Rating == MPAA.R) { if (Utilities.TransactionValidation.AgeCalc(RGiftee.Birthday) < 18) { ViewBag.PaymentOptions = GetAllPayments(AU.Id); ViewBag.ErrorMessage = "You can't gift a NC-17 or R rated movie to a minor"; return(View(t)); } } } t.Giftee = RGiftee; } if (Payment == Payment.CreditCardNumber1) { String ccType = (CreditCard.GetCreditCardType(AU.CreditCardNumber1)); t.PaymentUsed = String.Format("{0}{1}{2}", "**** **** **** ", (AU.CreditCardNumber1.Substring(AU.CreditCardNumber1.Length - 4, 4)), " " + ccType); } if (Payment == Payment.CreditCardNumber2) { String ccType = (CreditCard.GetCreditCardType(AU.CreditCardNumber2)); t.PaymentUsed = String.Format("{0}{1}{2}", "**** **** **** ", (AU.CreditCardNumber2.Substring(AU.CreditCardNumber2.Length - 4, 4)), " " + ccType); } if (Payment == Payment.OtherCreditCard) { String ccType = (CreditCard.GetCreditCardType(OtherPayment)); t.PaymentUsed = String.Format("{0}{1}{2}", "**** **** **** ", (OtherPayment.Substring(OtherPayment.Length - 4, 4)), " " + ccType); } // checks if any showing has a special showing Boolean showingSpecial = false; foreach (UserTicket ticket in t.UserTickets) { if (ticket.Showing.Special == true) { showingSpecial = true; break; } } if (transaction.Payment == Payment.PopcornPoints) { t.PaymentUsed = "Popcorn Points"; if (Utilities.TransactionValidation.PPCalc(t) == false) { ViewBag.ErrorMessage = "You don't have enough Popcorn Points to purchase these tickets"; ViewBag.PaymentOptions = GetAllPayments(AU.Id); return(View(t)); } else if (showingSpecial) { ViewBag.ErrorMessage = "One or more showing is special. Popcorn points are not allowed."; return(View(t)); } else { Int32 CurPopPoints = t.User.PopcornPoints; Int32 intTickets = t.UserTickets.Count(); Int32 PPTickets = intTickets * 100; t.User.PopcornPoints = CurPopPoints - PPTickets; t.PopcornPointsSpent = PPTickets; foreach (UserTicket ut in t.UserTickets) { UserTicket userTicket = db.UserTickets.Find(ut.UserTicketID); userTicket.CurrentPrice = 0; // what is this entitystate.modified?? db.Entry(userTicket).State = EntityState.Modified; db.SaveChanges(); } } } db.Entry(t).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("ConfirmTransaction", new { id = t.TransactionID })); } } else { ViewBag.ErrorMessage = "Transaction may not contain overlapping showings or different showings for the same movie."; ViewBag.PaymentOptions = GetAllPayments(t.User.Id); return(View(t)); } } ViewBag.ErrorMessage = "Invalid card number"; ViewBag.PaymentOptions = GetAllPayments(t.User.Id); return(View(t)); }
public static string UpdateTicket(dynamic obj) { try { using (var db = new MSEsystemEntities1()) { int id = Convert.ToInt32(obj["Id"]); var b = db.Ticket.Where(i => i.Id == id).FirstOrDefault(); var oldStatus = b.Status; b.Id = id; b.LocationID = Convert.ToInt32(obj["LocationID"]); b.Priority = Convert.ToBoolean(obj["Priority"]); b.Description = Convert.ToString(obj["Description"]); DateTime dateValue; string s = Convert.ToString(obj["Date"]); var formats = new[] { "dd-MM-yyyy", "dd/MM/yyyy", "yyyy-MM-dd HH:mm:ss", "dd-MM-yyyy HH:mm:ss", "dd-MM-yyyy HH:mm" }; if (DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue)) { b.TimeClose = dateValue; } else { b.TimeClose = DateTime.Now; } b.Status = Convert.ToInt32(obj["Status"]); if (b.Status == 1) { var z = db.UserTicket.Where(i => i.TicketID == id).ToArray(); foreach (UserTicket ut in z) { db.UserTicket.Remove(ut); } } if (b.Status == 2 && oldStatus == 1) { var z = db.UserTicket.Where(i => i.TicketID == id).ToArray(); foreach (UserTicket ut in z) { db.UserTicket.Remove(ut); } var user = Convert.ToInt32(obj["CurrUser"]); var nut = new UserTicket(); nut.UserID = user; nut.TicketID = b.Id; nut.MainUser = true; db.UserTicket.Add(nut); } //foreach (var t in obj["tasks"]) //{ // int tid = Convert.ToInt32(t["TaskID"]); // var k = db.Task.Where(i => i.Id == tid).FirstOrDefault(); // k.Done = Convert.ToBoolean(t["Done"]); //} db.SaveChanges(); if (Convert.ToInt32(obj["AnotherAsignee"]) > 0) { var isNew = false; var z = db.UserTicket.Where(i => i.TicketID == id && i.MainUser == false).FirstOrDefault(); if (z == null) { isNew = true; z = new UserTicket(); } z.TicketID = id; z.UserID = Convert.ToInt32(obj["AnotherAsignee"]); z.MainUser = false; if (isNew) { db.UserTicket.Add(z); } db.SaveChanges(); } db.SaveChanges(); return("ok"); } } catch (Exception e) { throw e; } }
public void EditUserTicket(UserTicket userTicket) { _utRepository.Edit(userTicket); }
public void DeleteTicket(UserTicket userTicket) { _utRepository.Delete(userTicket); }
public void AddUserTicket(UserTicket userTicket) { _utRepository.Add(userTicket); ConnectToSheet(); TicketToSheet(userTicket); }
public void Delete(UserTicket userTicket) { _context.UserTickets.Remove(userTicket); _context.SaveChanges(); }
public void OpenUserTicketsTest() { AuthorizationService = MockRepository.GenerateStub <IAuthorizationService>(); StationRepository = MockRepository.GenerateStub <IStationRepository>(); LanguageRepository = MockRepository.GenerateStub <ILanguageRepository>(); LineProvider = MockRepository.GenerateStub <ILineProvider>(); BusinessPropsHelper = MockRepository.GenerateStub <IBusinessPropsHelper>(); DataBinding = MockRepository.GenerateStub <IDataBinding>(); ConfidenceFactor = MockRepository.GenerateStub <IConfidenceFactor>(); IoCContainer.Kernel.Bind <IDataBinding>().ToConstant <IDataBinding>(DataBinding).InSingletonScope(); IoCContainer.Kernel.Bind <IAuthorizationService>().ToConstant <IAuthorizationService>(AuthorizationService).InSingletonScope(); IoCContainer.Kernel.Bind <IStationRepository>().ToConstant <IStationRepository>(StationRepository).InSingletonScope(); IoCContainer.Kernel.Bind <ILanguageRepository>().ToConstant <ILanguageRepository>(LanguageRepository).InSingletonScope(); IoCContainer.Kernel.Bind <ILineProvider>().ToConstant <ILineProvider>(LineProvider).InSingletonScope(); IoCContainer.Kernel.Bind <IBusinessPropsHelper>().ToConstant <IBusinessPropsHelper>(BusinessPropsHelper).InSingletonScope(); IoCContainer.Kernel.Bind <IConfidenceFactor>().ToConstant <IConfidenceFactor>(ConfidenceFactor).InSingletonScope(); ConfidenceFactor.Expect(x => x.CalculateFactor(new Ticket())).Return(1000000).IgnoreArguments(); StationRepository.TurnOffCashInInit = true; StationRepository.Expect(x => x.AllowAnonymousBetting).Return(true); StationRepository.Expect(x => x.IsReady).Return(true); StationRepository.Expect(x => x.StationNumber).Return("0024"); StationRepository.Expect(x => x.HubSettings).Return(new Dictionary <string, string>()); StationRepository.Currency = "EUR"; ChangeTracker = IoCContainer.Kernel.Get <IChangeTracker>(); ChangeTracker.CurrentUser = new AnonymousUser("1", 1); ChangeTracker.CurrentUser.Cashpool = 100000; ChangeTracker.CurrentUser.AvailableCash = 100000; Dispatcher.Invoke(() => { Window = MyRegionManager.FindWindowByViewModel <MainViewModel>(); Window.Show(); }); Thread.Sleep(1000); ChangeTracker.CurrentUser = new LoggedInUser(1, "111", 1000) { Username = "******" }; var header = MyRegionManager.CurrentViewModelInRegion(RegionNames.HeaderRegion) as HeaderViewModel; header.OpenAuthorizationCommand.Execute(""); Thread.Sleep(1000); var userProfileMenuViewModel = MyRegionManager.CurrentViewModelInRegion(RegionNames.UserProfileMenuRegion) as UserProfileMenuViewModel; var ticket = new UserTicket() { checkSum = "1234", createdAt = DateTime.Now, ticketNumber = "1241252352346" }; string total; WsdlRepository.Expect(x => x.GetUserTickets("1", (ticketCategory)1, new AccountTicketSorting() { field = AccountTicketSortingFields.DateCreated, value = AccountTicketSortingValues.Desc }, 0, 20, out total)).Return(new UserTicket[] { ticket }).OutRef("1000").IgnoreArguments(); userProfileMenuViewModel.ShowTicketsCommand.Execute(""); Thread.Sleep(1000); Assert.AreEqual(1, ChangeTracker.Tickets.Count); var userTicketsViewModel = MyRegionManager.CurrentViewModelInRegion(RegionNames.UserProfileContentRegion) as UserTicketsViewModel; Assert.AreEqual(1, userTicketsViewModel.TicketsStartPage); Dispatcher.Invoke(() => { userTicketsViewModel.SelectedType = userTicketsViewModel.TicketType[3]; }); Dispatcher.Invoke(() => { userTicketsViewModel.NextPage.Execute(""); }); Assert.AreEqual(2, userTicketsViewModel.TicketsStartPage); Assert.AreEqual(1, userTicketsViewModel.Tickets.Count); if (1000 % userTicketsViewModel.Pagesize > 0) { Assert.AreEqual(1000 / userTicketsViewModel.Pagesize + 1, userTicketsViewModel.AllPages); } if (1000 % userTicketsViewModel.Pagesize == 0) { Assert.AreEqual(1000 / userTicketsViewModel.Pagesize, userTicketsViewModel.AllPages); } Assert.AreEqual(2, userTicketsViewModel.TicketsStartPage); Assert.AreEqual(3, userTicketsViewModel.SelectedType.Id); userTicketsViewModel.ShowTicketCommand.Execute(userTicketsViewModel.Tickets[0]); var nextModel = MyRegionManager.CurrentViewModelType(RegionNames.UserProfileContentRegion); Assert.AreEqual(typeof(TicketDetailsViewModel), nextModel); UserProfileViewModel userprofileWindow = null; Dispatcher.Invoke(() => { userprofileWindow = ChangeTracker.UserProfileWindow.DataContext as UserProfileViewModel; }); WsdlRepository.BackToRecord(); WsdlRepository.Expect(x => x.GetUserTickets("1", (ticketCategory)1, new AccountTicketSorting() { field = AccountTicketSortingFields.DateCreated, value = AccountTicketSortingValues.Desc }, 0, 20, out total)).Return(new UserTicket[] { ticket, ticket, ticket, ticket }).OutRef("1000").IgnoreArguments(); WsdlRepository.Replay(); Dispatcher.Invoke(() => { userprofileWindow.BackCommand.Execute(""); }); var prevModel = MyRegionManager.CurrentViewModelInRegion(RegionNames.UserProfileContentRegion); Thread.Sleep(1000); Assert.AreEqual(4, ((UserTicketsViewModel)prevModel).Tickets.Count); Assert.IsTrue(((UserTicketsViewModel)prevModel).AllPages > 0); Assert.AreEqual(2, userTicketsViewModel.TicketsStartPage); Assert.AreEqual(3, userTicketsViewModel.SelectedType.Id); userProfileMenuViewModel.LogoutCommand.Execute(""); Thread.Sleep(1000); WsdlRepository.BackToRecord(); Dispatcher.Invoke(() => { Window.Close(); }); }
//TODO: Removing tickets public ActionResult DeleteConfirmed(int id) { UserTicket userTicket = db.UserTickets.Find(id); if (userTicket.Status == Status.Pending) { // delete ticket Transaction t = userTicket.Transaction; t.UserTickets.Remove(userTicket); db.UserTickets.Remove(userTicket); db.SaveChanges(); // recaculate prices for all tickets in transaction foreach (UserTicket ticket in t.UserTickets) { ticket.CurrentPrice = DiscountPrice.GetTicketPrice(ticket); db.Entry(ticket).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("PendingDetails", "Transactions", new { id = t.TransactionID })); } else { Transaction t = userTicket.Transaction; if (userTicket.Showing.ShowDate > DateTime.Now.AddHours(1)) { userTicket.CurrentPrice = 0; userTicket.Status = Status.Returned; userTicket.SeatNumber = Seat.Seat; db.SaveChanges(); if (t.Payment == Payment.PopcornPoints) { t.User.PopcornPoints += 100; t.PopcornPointsSpent -= 100; db.SaveChanges(); } if (t.Payment != Payment.PopcornPoints) { Int32 intPopPoints = Convert.ToInt32(userTicket.CurrentPrice - (userTicket.CurrentPrice % 1)); t.User.PopcornPoints -= intPopPoints; db.SaveChanges(); String Message = "Hello " + userTicket.Transaction.User.FirstName + ",\n\n" + "The ticket for " + userTicket.Showing.ShowDate + userTicket.Showing.Movie.Title + " has been canceled.\n\n" + "Love,\n" + "Dan"; Emailing.SendEmail(userTicket.Transaction.User.Email, "Ticket Canceled", Message); } return(RedirectToAction("Details", "Transactions", new { id = t.TransactionID })); } else { ViewBag.Error = "Tickets for movies less than one hour from the current time may not be cancelled"; } return(View(userTicket)); } }
public static Decimal GetTicketPrice(UserTicket ticket) { AppDbContext db = new AppDbContext(); Decimal ticketPrice = ticket.Showing.ShowingPrice; // assign price for each ticket Boolean weekend = (int)ticket.Showing.ShowDate.DayOfWeek == 6 || (int)ticket.Showing.ShowDate.DayOfWeek == 0; Debug.WriteLine(weekend); // checks if showing is matinee if (ticket.Showing.StartHour < 12 && weekend == false) { var query = from c in db.Discounts where c.DiscountName == "matinee" select c; foreach (var result in query) { // sets Current Price property // $5.00 ticket.AppliedDiscounts = result.DiscountName; //ticketPrice = ticket.Showing.ShowingPrice - result.DiscountValue; } } // checks if showing day is weekday and afternoon else if (ticket.Showing.StartHour >= 12 && ((int)ticket.Showing.ShowDate.DayOfWeek >= 1 && (int)ticket.Showing.ShowDate.DayOfWeek <= 4)) { var query = from c in db.Discounts where c.DiscountName == "weekday" select c; foreach (var result in query) { // sets Current Price property // $10.00 ticket.AppliedDiscounts = result.DiscountName; //ticketPrice = ticket.Showing.ShowingPrice - result.DiscountValue; } } // checks if showing day is after friday noontime else { var query = from c in db.Discounts where c.DiscountName == "weekend" select c; foreach (var result in query) { // sets Current Price property // $12.00 ticket.AppliedDiscounts = result.DiscountName; //ticketPrice = ticket.Showing.ShowingPrice - result.DiscountValue; } } // additional discounts for Non-special showings if (ticket.Showing.Special == false) { // tuesday discount if ((int)ticket.Showing.ShowDate.DayOfWeek == 2 && (ticket.Showing.StartHour >= 12 && ticket.Showing.StartHour < 17)) { var query = from c in db.Discounts where c.DiscountName == "tuesday" select c; foreach (var result in query) { // sets Current Price property // $8.00 ticket.AppliedDiscounts += ", " + result.DiscountName; ticketPrice = result.DiscountValue; } } //senior citizen discounts for 2 tickets in transcation var querySenior = (from u in db.UserTickets where u.Transaction.TransactionID == ticket.Transaction.TransactionID && u.AppliedDiscounts.Contains("senior") select u).Count(); if (ticket.Transaction.User.Birthday.AddYears(60) <= ticket.Transaction.TransactionDate && querySenior < 2) { var query = from c in db.Discounts where c.DiscountName == "senior" select c; foreach (var result in query) { ticket.AppliedDiscounts += ", " + result.DiscountName; //ticketPrice = ticket.Showing.ShowingPrice - result.DiscountValue; ticketPrice -= result.DiscountValue; } } // early bird discount if ((ticket.Showing.ShowDate - ticket.Transaction.TransactionDate).TotalDays > 2) { var query = from c in db.Discounts where c.DiscountName == "earlybird" select c; foreach (var result in query) { ticket.AppliedDiscounts += ", " + result.DiscountName; //ticketPrice = ticket.Showing.ShowingPrice - result.DiscountValue; ticketPrice -= result.DiscountValue; } } return(ticketPrice); } else { return(ticketPrice); } }
public void Edit(UserTicket userTicket) { _context.Entry(userTicket).State = EntityState.Modified; _context.SaveChanges(); }
public void DeletingTicket_DeletesUserTicket() { var ticketId = Guid.NewGuid(); var userId = Guid.NewGuid(); var options = GetInMemoryDbContextOptions(); using (var context = new TrackilyContext(options)) { context.Database.EnsureCreated(); var user = new TrackilyUser() { Id = userId, CreatedTickets = new List <Ticket>(), AssignedTo = new List <UserTicket>() }; context.Users.Add(user); // User must exist in the database before creating a Ticket/UserTicket due to FK constraint. context.SaveChanges(); } using (var context = new TrackilyContext(options)) { var userSaved = context.Users.Find(userId); Assert.NotNull(userSaved); var ticket = new Ticket() { Project = new Project(), Creator = userSaved, TicketId = ticketId, Assigned = new List <UserTicket>() }; var userTicket = new UserTicket() { Id = userId, TicketId = ticketId, Ticket = ticket, User = userSaved }; ticket.Assigned.Add(userTicket); context.Tickets.Add(ticket); context.SaveChanges(); } using (var context = new TrackilyContext(options)) { var ticketSaved = context.Tickets.Find(ticketId); Assert.NotNull(ticketSaved); var userTicketSaved = context.UserTickets.Find(userId, ticketId); Assert.NotNull(userTicketSaved); context.Tickets.Remove(ticketSaved); context.SaveChanges(); } using (var context = new TrackilyContext(options)) { var tickets = context.Tickets.ToList(); Assert.Empty(tickets); var userTickets = context.UserTickets.ToList(); Assert.Empty(userTickets); } }
/// <summary> /// 我应该在0库 /// </summary> /// <param name="msg"></param> /// <returns></returns> public async Task TestRedis0(string msg = "我应该在0库") { UserTicket userTicket = new UserTicket() { ID = 1, Name = "dylan", UID = "unid", ExpDate = DateTime.Now.AddDays(1) }; //我是写入 var setAsync = await redisRepository.SetAsync("string", "我是内容", DateTime.Now.AddDays(1)); setAsync = await redisRepository.SetAsync("string1", "我是内容1", DateTime.Now.AddDays(1) - DateTime.Now); setAsync = await redisRepository.SetAsync("json", userTicket.SerializeObject(), DateTime.Now.AddDays(1) - DateTime.Now); //我是获取 var getValueAsync = await redisRepository.GetValueAsync("string"); getValueAsync = await redisRepository.GetValueAsync("string1"); var json = await redisRepository.GetValueAsync <UserTicket>("json"); //我是判断是否存在 var existAsync = await redisRepository.ExistAsync("string"); existAsync = await redisRepository.ExistAsync("string1"); existAsync = await redisRepository.ExistAsync("json"); //我是删除 var removeAsync = await redisRepository.RemoveAsync("string"); removeAsync = await redisRepository.RemoveAsync("string1"); removeAsync = await redisRepository.RemoveAsync("json"); //我在0库 setAsync = await redisRepository.SetAsync("string0", msg, DateTime.Now.AddDays(1)); #region HashExistsAsync /* * user_1: * ID:1,Key:vis_1,Value:{"ID":1,"Name":"dylan","ExpDate":"2021-09-08 17:22:54","Msg":"我是消息","Code":2,"UnionID":"unid"} * ID:2,Key:vis_2,Value:{"ID":2,"Name":"dylan","ExpDate":"2021-09-08 17:22:54","Msg":"我是消息","Code":2,"UnionID":"unid"} * ID:3,Key:vis_3,Value:{"ID":3,"Name":"dylan","ExpDate":"2021-09-08 17:22:54","Msg":"我是消息","Code":2,"UnionID":"unid"} */ //我是hash值存储 for (int i = 0; i < 10; i++) { string visid = "vis_" + i; bool flag = await redisRepository.HashExistsAsync("user_1", visid); if (!flag) { flag = await redisRepository.HashSetAsync("user_1", visid, userTicket); } flag = await redisRepository.HashDeleteAsync("user_1", visid); } #endregion #region List var listLength = await redisRepository.ListLengthAsync("list"); if (listLength < 10) { //获取指KEY的集合 List <UserTicket> list = await redisRepository.ListRangeAsync <UserTicket>("list"); //入栈 listLength = await redisRepository.ListLeftPushAsync <UserTicket>("list", userTicket); //出栈 var str = await redisRepository.ListLeftPopAsync <UserTicket>("list"); //入队 listLength = await redisRepository.ListRightPushAsync <string>("list", "aaaaaaaaaaa"); //出队 var str2 = await redisRepository.ListRightPopAsync <string>("list"); } #endregion }
public void Add(UserTicket userTicket) { _context.UserTickets.Add(userTicket); _context.SaveChanges(); }