Ejemplo n.º 1
0
        public bool RemoveCode(string name)
        {
            var toRemove = Codes.FirstOrDefault(c => c.Name == name);

            if (toRemove == null)
            {
                return(false);
            }

            Codes.Remove(toRemove);

            //delete the code from all events
            foreach (var session in Sessions)
            {
                var eventsToRemove = session.Events
                                     .Where(ev => ev.Code == toRemove.Name)
                                     .ToArray();

                foreach (var ev in eventsToRemove)
                {
                    session.RemoveEvent(ev);
                }
            }

            return(true);
        }
    /// <summary>
    /// Add a new key to the manager
    /// </summary>
    /// <param name="key">The key to add</param>
    /// <returns>The task</returns>
    public static async Task AddKeyAsync(Key key)
    {
        // Lock the method
        using (await AsyncLock.LockAsync())
        {
            // Check if it's the following key in any of the available codes
            if (Codes.All(x => x.Key.Length <= CurrentInput.Count || x.Key[CurrentInput.Count] != key))
            {
                if (CurrentInput.Any())
                {
                    CurrentInput.Clear();
                    Logger.Debug("The secret code inputs were reset due to an invalid key being pressed");
                }

                return;
            }

            // Add the key to the list
            CurrentInput.Add(key);

            // Attempt to get a completed code
            var task = Codes.FirstOrDefault(x => x.Key.SequenceEqual(CurrentInput)).Value;

            if (task == null)
            {
                return;
            }

            CurrentInput.Clear();
            Logger.Debug("The secret code inputs were reset due to a valid code having been entered");

            // Run the task
            await task();
        }
    }
Ejemplo n.º 3
0
        public bool AddCode(string name)
        {
            if (Codes.FirstOrDefault(c => c.Name == name) != null)
            {
                return(false);
            }

            Codes.Add(new Code(name));
            return(true);
        }
Ejemplo n.º 4
0
 protected override void OnParametersSet()
 {
     if (Codes != null)
     {
         _hasCode    = true;
         _activeCode = Codes.FirstOrDefault().code;
     }
     else if (!String.IsNullOrWhiteSpace(Code))
     {
         _hasCode    = true;
         _activeCode = Code;
     }
 }
Ejemplo n.º 5
0
    protected virtual async void RunOnTryMudBlazor()
    {
        string firstFile = "";

        if (Codes != null)
        {
            firstFile = Codes.FirstOrDefault().code;
        }
        else
        {
            firstFile = Code;
        }

        // We use a separator that wont be in code so we can send 2 files later
        var codeFiles = "__Main.razor" + (char)31 + Snippets.GetCode(firstFile);

        // Add dialogs for dialog examples
        if (firstFile.StartsWith("Dialog"))
        {
            var regex          = new Regex(@"\Show<(Dialog.*?_Dialog)\>");
            var dialogCodeName = regex.Match(codeFiles).Groups[1].Value;
            if (dialogCodeName != string.Empty)
            {
                var dialogCodeFile = dialogCodeName + ".razor" + (char)31 + Snippets.GetCode(dialogCodeName);
                codeFiles = codeFiles + (char)31 + dialogCodeFile;
            }
        }

        // Data models
        if (codeFiles.Contains("MudBlazor.Examples.Data.Models"))
        {
            if (Regex.Match(codeFiles, @"\bElement\b").Success)
            {
                var elementCodeFile = "Element.cs" + (char)31 + Snippets.GetCode("Element");
                codeFiles = codeFiles + (char)31 + elementCodeFile;
            }

            if (Regex.Match(codeFiles, @"\bServer\b").Success)
            {
                var serverCodeFile = "Server.cs" + (char)31 + Snippets.GetCode("Server");
                codeFiles = codeFiles + (char)31 + serverCodeFile;
            }
        }

        var codeFileEncoded = codeFiles.ToCompressedEncodedUrl();
        // var tryMudBlazorLocation = "https://localhost:5001/";
        var tryMudBlazorLocation = "https://try.mudblazor.com/";
        var url = $"{tryMudBlazorLocation}snippet/{codeFileEncoded}";
        await JsApiService.OpenInNewTabAsync(url);
    }
Ejemplo n.º 6
0
        public IActionResult Post([FromBody] TransferDto transfer)
        {
            if (string.IsNullOrEmpty(transfer.UserCode))
            {
                return(StatusCode(500, "User code is required"));
            }

            var code = Codes.FirstOrDefault(x => x.GeneratedCode == transfer.UserCode && DateTime.Now < x.DateExpired);

            if (code == null)
            {
                return(StatusCode(500, "Code doesn't exist or its expired"));
            }

            if (code.UserId == transfer.UserId)
            {
                return(StatusCode(500, "You can't send coins to yourself"));
            }
            var t = new Transfer
            {
                Coins        = transfer.Coins,
                ReceiverId   = code.UserId,
                SenderId     = transfer.UserId,
                TransferDate = new DateTime()
            };
            var receiver = Users.FirstOrDefault(x => x.Id == code.UserId);
            var sender   = Users.FirstOrDefault(x => x.Id == transfer.UserId);

            if (sender.Coins < transfer.Coins)
            {
                return(StatusCode(500, "You don't have enough coins to send"));
            }
            receiver.Coins += transfer.Coins;
            sender.Coins   -= transfer.Coins;
            _db.Users.Update(receiver);
            _db.Users.Update(sender);
            _db.Transfers.Add(t);
            _db.SaveChanges();
            return(Ok());
        }
Ejemplo n.º 7
0
        public async Task <string> SetPrivacy(Privacies privacy)
        {
            Privacy = privacy;
            string str = "도깨비방망이";

            if (string.IsNullOrEmpty(privacy.Account) == false)
            {
                switch (privacy.Account)
                {
                case "F":
                    if (comboCommission.Items.Count == 0 && comboStrategics.Items.Count == 0)
                    {
                        foreach (var commission in commissionFutures)
                        {
                            comboCommission.Items.Add(commission.ToString("P4"));
                        }

                        comboStrategics.Items.AddRange(new object[] { tf });
                    }
                    str    = "선물옵션";
                    Length = 8;
                    comboCommission.SelectedIndex = Array.FindIndex(commissionFutures, o => o == privacy.Commission);
                    break;

                case "S":
                    if (comboCommission.Items.Count == 0 && comboStrategics.Items.Count == 0)
                    {
                        foreach (var commission in commissionStocks)
                        {
                            comboCommission.Items.Add(commission.ToString("P3"));
                        }

                        comboStrategics.Items.AddRange(new object[] { st, ts });
                    }
                    str    = "위탁종합";
                    Length = 6;
                    comboCommission.SelectedIndex = Array.FindIndex(commissionStocks, o => o == privacy.Commission);
                    break;
                }
                if (await client.GetContext(new Codes {
                }, Length) is List <Codes> list)
                {
                    var stack = new Stack <Codes>();

                    foreach (var item in list)
                    {
                        if (FilteringItems(item))
                        {
                            stack.Push(item);
                        }
                    }

                    string[] codes = new string[stack.Count], names = new string[stack.Count];

                    while (stack.Count > 0)
                    {
                        var temp = stack.Pop();

                        if (Codes.Add(temp))
                        {
                            codes[stack.Count] = temp.Code;
                            names[stack.Count] = temp.Name;
                        }
                    }
                    var source = new AutoCompleteStringCollection();
                    source.AddRange(codes);
                    source.AddRange(names);
                    textCode.AutoCompleteCustomSource = source;
                    textCode.AutoCompleteMode         = AutoCompleteMode.Append;
                    textCode.AutoCompleteSource       = AutoCompleteSource.CustomSource;
                }
                if (string.IsNullOrEmpty(privacy.CodeStrategics) == false)
                {
                    SuspendLayout();

                    foreach (var strategics in privacy.CodeStrategics.Split(';'))
                    {
                        var color  = Color.FromArgb(0x79, 0x85, 0x82);
                        var select = Codes.FirstOrDefault(o => o.Code.Equals(strategics.Substring(2, Length)));
                        tab.Controls.Add(new TabPage
                        {
                            BackColor   = Color.Transparent,
                            BorderStyle = BorderStyle.FixedSingle,
                            ForeColor   = Color.Black,
                            Location    = new Point(4, 0x22),
                            Margin      = new Padding(0),
                            Name        = strategics.Substring(2, Length),
                            TabIndex    = Index++,
                            Text        = strategics.Substring(2, Length),
                            ToolTipText = strategics.Substring(0, 2)
                        });
                        switch (strategics.Substring(0, 2))
                        {
                        case string tf when tf.Equals("TF") && Length == 8:
                            if (select.MarginRate > 0 && string.IsNullOrEmpty(select.Price) == false)
                            {
                                var view = new TrendFollowingBasicFutures(select);

                                tab.TabPages[tab.TabPages.Count - 1].Controls.Add(view);
                                view.Dock = DockStyle.Fill;
                                view.TransmuteStrategics(strategics.Substring(10, 1).Equals("1"), strategics.Substring(11).Split('.'));
                                panel.RowStyles[0].Height = 0x83 + 0x23;
                            }

                            break;

                        case string ts when ts.Equals("TS") && Length == 6:
                            if (string.IsNullOrEmpty(select.MaturityMarketCap) == false && string.IsNullOrEmpty(select.Price) == false)
                            {
                                var view = new TrendsInStockPrices(select);

                                tab.TabPages[tab.TabPages.Count - 1].Controls.Add(view);
                                view.Dock = DockStyle.Fill;
                                view.TransmuteStrategics(strategics.Substring(8).Split('.'));
                                panel.RowStyles[0].Height = 0xCD + 0x23;
                            }

                            break;
                        }
                        var lasttabrect = tab.GetTabRect(tab.TabPages.Count - 1);
                        tab.TabPages[tab.TabPages.Count - 1].BackColor = color;
                        tab.SelectTab(tab.TabPages.Count - 1);
                        tab.CreateGraphics().FillRectangle(new SolidBrush(color), new RectangleF(lasttabrect.X + lasttabrect.Width + tab.Left, tab.Top + lasttabrect.Y, tab.Width - (lasttabrect.X + lasttabrect.Width), lasttabrect.Height));
                    }
                    ResumeLayout();
                }
            }
            return(str);
        }
Ejemplo n.º 8
0
 public Code GetCode(string name)
 {
     return(Codes.FirstOrDefault(s => s.Name == name));
 }