public override Task Execute(MessageData data) { var con = (data as SocketMessageData).Connection; Flipper.FlipperEngine.Instance.RemoveNonConnection(con); return(data.Ok()); }
public override Task Execute(MessageData data) { var args = data.GetAs <Arguments>(); using (var context = new HypixelContext()) { var user = data.User; var subscriptions = context.SubscribeItem.Where(s => s.UserId == user.Id); if (!user.HasPremium && subscriptions.Count() >= 3) { throw new NoPremiumException("Nonpremium users can only have 3 subscriptions"); } SubscribeEngine.Instance.AddNew(new SubscribeItem() { GeneratedAt = DateTime.Now, Price = args.Price, TopicId = args.Topic, Type = args.Type, UserId = user.Id }); } return(data.Ok()); }
public override Task Execute(MessageData data) { var args = data.GetAs <Params>(); OrdersGetRequest request = new OrdersGetRequest(args.OrderId); if (string.IsNullOrEmpty(clientId)) { throw new CoflnetException("unavailable", "checkout via paypal has not yet been enabled, please contact an admin"); } var client = new PayPalHttpClient(new LiveEnvironment(clientId, clientSecret)); //3. Call PayPal to get the transaction PayPalHttp.HttpResponse response; try { response = client.Execute(request).Result; } catch (Exception e) { dev.Logger.Instance.Error(e, "payPalPayment"); throw new CoflnetException("payment_failed", "The provided orderId has not vaid payment asociated"); } //4. Save the transaction in your database. Implement logic to save transaction to your database for future reference. var result = response.Result <Order>(); Console.WriteLine(JSON.Stringify(result)); Console.WriteLine("Retrieved Order Status"); Console.WriteLine("Status: {0}", result.Status); Console.WriteLine("Order Id: {0}", result.Id); AmountWithBreakdown amount = result.PurchaseUnits[0].AmountWithBreakdown; Console.WriteLine("Total Amount: {0} {1}", amount.CurrencyCode, amount.Value); if (result.Status != "COMPLETED") { throw new CoflnetException("order_incomplete", "The order is not yet completed"); } if (UsedIds.Contains(args.OrderId)) { throw new CoflnetException("payment_timeout", "the provied order id was already used"); } if (DateTime.Parse(result.PurchaseUnits[0].Payments.Captures[0].UpdateTime) < DateTime.Now.Subtract(TimeSpan.FromHours(1))) { throw new CoflnetException("payment_timeout", "the provied order id is too old, please contact support for manual review"); } var user = data.User; var days = args.Days; var transactionId = result.Id; UserService.Instance.SavePurchase(user, days, transactionId); UsedIds.Add(args.OrderId); FileController.AppendLineAs("purchases", JSON.Stringify(result)); return(data.Ok()); }
public override Task Execute(MessageData data) { var token = ValidateToken(data.GetAs <string>()); var id = UserService.Instance.GetOrCreateUser(token.Subject, token.Email); data.UserId = id.Id; return(data.Ok()); }
public override Task Execute(MessageData data) { var socketData = data as SocketMessageData; if (socketData == null) { throw new CoflnetException("invalid_command", "this command can only be called by a socket connection"); } socketData.Connection.SetConnectionId(data.GetAs <string>()); return(data.Ok()); }
public async override Task Execute(MessageData data) { using (var context = new HypixelContext()) { var name = data.GetAs <string>(); var device = data.User.Devices.Where(d => d.Name == name).FirstOrDefault(); if (device != null) { context.Remove(device); } await context.SaveChangesAsync(); await data.Ok(); } }
public override Task Execute(MessageData data) { var hit = data.GetAs <Request>(); if (hit.Type == "player" && hit.Id.Length == 32) { PlayerSearch.Instance.AddHitFor(hit.Id); } else { ItemDetails.Instance.AddHitFor(hit.Id); } SearchService.Instance.AddPopularSite(hit.Type, hit.Id); return(data.Ok()); TrackingService.Instance.TrackPage($"http://sky.coflnet.com/{hit.Type}/{hit.Id}", $"{hit.Type}/{hit.Id}", data); return(Task.CompletedTask); }
public override Task Execute(MessageData data) { var con = (data as SocketMessageData).Connection; try { if (!data.User.HasPremium) { Flipper.FlipperEngine.Instance.AddNonConnection(con, (int)data.mId); } else { Flipper.FlipperEngine.Instance.AddConnection(con, (int)data.mId); Flipper.FlipperEngine.Instance.RemoveNonConnection(con); } } catch (CoflnetException) { Flipper.FlipperEngine.Instance.AddNonConnection(con, (int)data.mId); } return(data.Ok()); }
public override Task Execute(MessageData data) { ReferalService.Instance.WasReferedBy(data.User, data.GetAs <string>()); return(data.Ok()); }