コード例 #1
0
 internal static KeyResult ErrorServer(TextBase TB)
 {
     return(new KeyResult
     {
         Message = "Error handling your request.. you could contact us todo abc"
     });
 }
コード例 #2
0
 internal static KeyResult Error(TextBase TB, string message)
 {
     return(new KeyResult
     {
         Message = message
     });
 }
コード例 #3
0
        /// <summary>
        /// Constructs a TextEdit given a parent control and text node.
        /// </summary>
        /// <param name="parentControl">Parent control</param>
        /// <param name="textObj">Text node to edit</param>
        public TextEdit(Control parentControl, TextBase textObj)
        {
            // This call is required by the Windows.Forms Form Designer.
            InitializeComponent();

            this.textObj = textObj;
            this.Parent  = parentControl;
        }
コード例 #4
0
        void applyTextBaseStyle(Paragraph paragraph, TextBase txtBase)
        {
            if (!string.IsNullOrEmpty(txtBase.Style.Color))
            {
                paragraph.Font.Color = new BaseColor(System.Drawing.ColorTranslator.FromHtml(txtBase.Style.Color));
            }
            paragraph.Font.Size = (float)txtBase.Style.FontSize;
            paragraph.Font.SetFamily(txtBase.Style.FontFamily);
            var style = "normal";

            if (txtBase.Style.Bold)
            {
                style = "bold";
            }
            paragraph.Font.SetStyle(style);
        }
コード例 #5
0
ファイル: TagField.cs プロジェクト: CyberFoxHax/UnityGuiFx
 private void NameOnChanged(TextBase sender, string s)
 {
     if (string.IsNullOrEmpty(_name.Text) || string.IsNullOrEmpty(_chineseName.Text))
     {
         return;
     }
     if (Changed != null)
     {
         Changed(this);
     }
     if (_tag == null)
     {
         return;
     }
     _tag.Name        = _name.Text;
     _tag.ChineseName = _chineseName.Text;
 }
コード例 #6
0
 internal static KeyResult Create(TextBase TB, string response)
 {
     if (!string.IsNullOrWhiteSpace(response))
     {
         return(new KeyResult
         {
             Message = response
         });
     }
     else
     {
         return(new KeyResult
         {
             Message = $"Error communicating with TESLA"
         });
     }
 }
コード例 #7
0
 internal static KeyResult Code(TextBase TB, string access_token, string refresh_token)
 {
     if (!string.IsNullOrWhiteSpace(access_token))
     {
         return(new KeyResult
         {
             Token = access_token,
             RefreshToken = refresh_token,
         });
     }
     else
     {
         return(new KeyResult
         {
             Message = $"Error communicating with TESLA"
         });
     }
 }
コード例 #8
0
        protected override void CreateChildren()
        {
            base.CreateChildren();

            _rect = new RectShape();
            //{
            //    Left = 0, Right = 0, Top = 0, Bottom = 0
            //};
            AddChild(_rect);

            if (null == LabelDisplay)
            {
                LabelDisplay = new Label();
                AddChild(LabelDisplay);
                if (_text != string.Empty)
                {
                    LabelDisplay.Text = _text;
                }
            }
        }
コード例 #9
0
        protected override void CreateChildren()
        {
            base.CreateChildren();

            _rect = new RectShape();
            //{
            //    Left = 0, Right = 0, Top = 0, Bottom = 0
            //};
            AddChild(_rect);

            _hgroup = new HGroup {
                VerticalAlign = VerticalAlign.Middle, PaddingLeft = 10, PaddingRight = 10, PaddingTop = 10, PaddingBottom = 10
            };
            AddChild(_hgroup);

            if (null == LabelDisplay)
            {
                LabelDisplay = new Label
                {
                    PercentWidth = 100
                };
                _hgroup.AddChild(LabelDisplay);
                if (_text != string.Empty)
                {
                    LabelDisplay.Text = _text;
                }
            }

            _hgroup.AddChild(new Spacer {
                PercentWidth = 100
            });

            if (null == _buttonAdd)
            {
                _buttonAdd = new Button {
                    Text         = "Info",
                    FocusEnabled = false,
                    SkinClass    = typeof(ImageButtonSkin),
                    Icon         = ImageLoader.Instance.Load("Icons/information")
                };
                _buttonAdd.ButtonDown += delegate
                {
                    DispatchEvent(new Event(ADD_BUTTON_CLICKED, true)); // bubbles
                };
                _hgroup.AddChild(_buttonAdd);
            }

            if (null == _buttonRemove)
            {
                _buttonRemove = new Button
                {
                    Text         = "Remove",
                    FocusEnabled = false,
                    SkinClass    = typeof(ImageButtonSkin),
                    Icon         = ImageLoader.Instance.Load("Icons/cancel")
                };
                _buttonRemove.ButtonDown += delegate
                {
                    var parentList = Owner as List;
                    if (null != parentList)
                    {
                        //Debug.Log("Removing at " + parentList.DataProvider.GetItemIndex(Data));
                        parentList.DataProvider.RemoveItemAt(parentList.DataProvider.GetItemIndex(Data));
                    }
                    else
                    {
                        Debug.LogError("Owner of item renderer is not a list");
                    }
                };
                _hgroup.AddChild(_buttonRemove);
            }
        }
コード例 #10
0
        protected override void CreateChildren()
        {
            base.CreateChildren();

            _rect = new RectShape();
            AddChild(_rect);

            _hgroup = new HGroup {
                VerticalAlign = VerticalAlign.Middle, PaddingLeft = 10, PaddingRight = 10, PaddingTop = 10, PaddingBottom = 10
            };
            AddChild(_hgroup);

            if (null == FirstNameLabel)
            {
                FirstNameLabel = new Label
                {
                    Width = 80
                };
                _hgroup.AddChild(FirstNameLabel);
            }

            if (null == LastNameLabel)
            {
                LastNameLabel = new Label
                {
                    Width = 80
                };
                _hgroup.AddChild(LastNameLabel);
            }

            if (null == AgeLabel)
            {
                AgeLabel = new Label
                {
                    Width = 20
                };
                _hgroup.AddChild(AgeLabel);
            }

            if (null == NsAge)
            {
                NsAge = new NumericStepper {
                    Width = 60, FocusEnabled = false
                };
                NsAge.ValueCommit += delegate
                {
                    // update item
                    ExampleItem item = (ExampleItem)Data;
                    item.Age = (int)NsAge.Value;
                };
                _hgroup.AddChild(NsAge);
            }

            if (null == ChkDrivingLicense)
            {
                ChkDrivingLicense = new CheckBox {
                    FocusEnabled = false
                };
                ChkDrivingLicense.Change += delegate
                {
                    // update item
                    ExampleItem item = (ExampleItem)Data;
                    item.DrivingLicense = ChkDrivingLicense.Selected;
                };
                _hgroup.AddChild(ChkDrivingLicense);
            }

            _hgroup.AddChild(new Spacer {
                PercentWidth = 100
            });

            if (null == _buttonInfo)
            {
                _buttonInfo = new Button {
                    Text         = "Info",
                    FocusEnabled = false,
                    SkinClass    = typeof(ImageButtonSkin),
                    Icon         = ImageLoader.Instance.Load("Icons/information")
                };
                _buttonInfo.Click += delegate
                {
                    DispatchEvent(new Event(ADD_BUTTON_CLICKED, true)); // bubbles
                };
                _hgroup.AddChild(_buttonInfo);
            }

            if (null == _buttonEdit)
            {
                _buttonEdit = new Button
                {
                    Text         = "Edit",
                    FocusEnabled = false,
                    SkinClass    = typeof(ImageButtonSkin),
                    Icon         = ImageLoader.Instance.Load("Icons/edit")
                };
                _buttonEdit.Click += delegate
                {
                    DispatchEvent(new Event(EDIT_BUTTON_CLICKED, true)); // bubbles
                };
                _hgroup.AddChild(_buttonEdit);
            }

            if (null == _buttonRemove)
            {
                _buttonRemove = new Button
                {
                    Text         = "Remove",
                    FocusEnabled = false,
                    SkinClass    = typeof(ImageButtonSkin),
                    Icon         = ImageLoader.Instance.Load("Icons/cancel")
                };
                _buttonRemove.ButtonDown += delegate
                {
                    var parentList = Owner as List;
                    if (null != parentList)
                    {
                        //Debug.Log("Removing at " + parentList.DataProvider.GetItemIndex(Data));
                        parentList.DataProvider.RemoveItemAt(parentList.DataProvider.GetItemIndex(Data));
                    }
                    else
                    {
                        Debug.LogError("Owner of item renderer is not a list");
                    }
                };
                _hgroup.AddChild(_buttonRemove);
            }
        }
コード例 #11
0
        public async Task <KeyResult> Post([FromForm] Request request, string language)
        {
            var TB = TextBase.Get(HttpContext, language);

            try
            {
                if (string.IsNullOrWhiteSpace(request.Email) || string.IsNullOrWhiteSpace(request.Password))
                {
                    return(KeyResult.Error(TB, TB.MsgRequireLogin));
                }

                if (this._lockout.LockedOut("ip", this.HttpContext.Connection.RemoteIpAddress.ToString()))
                {
                    return(KeyResult.Error(TB, TB.MsgLockedOut));
                }
                if (this._lockout.LockedOut("email", request.Email.ToLower()))
                {
                    return(KeyResult.Error(TB, TB.MsgLockedOut));
                }
                using (HttpClient client = new HttpClient(handler_client, false))
                    using (HttpClient client_noredirect = new HttpClient(handler_client_noredirect, false))
                    {
                        // randomizer
                        var rnd = new Random(DateTime.Now.Millisecond);

                        //state,code_verifier en base64
                        var state         = new string(Enumerable.Range(0, 10).Select(_n => (char)('0' + rnd.Next(10))).ToArray());
                        var code_verifier = new string(Enumerable.Range(0, 86).Select(_n => (char)('A' + rnd.Next(26))).ToArray());
                        //get hash
                        byte[] hashmessage = SHA256.Create().ComputeHash(new ASCIIEncoding().GetBytes(code_verifier));
                        //hash to hexhash
                        var hash = String.Concat(Array.ConvertAll(hashmessage, x => x.ToString("x2")));
                        //url save base64-encode
                        var base64 = Convert.ToBase64String(new ASCIIEncoding().GetBytes((hash)));
                        base64 = base64.Replace("+", "-").Replace("/", "_").Replace("=", "");

                        // formulier url opbouwen
                        var sb = new StringBuilder();
                        sb.Append(add("client_id", "ownerapi"));
                        sb.Append(add("code_challenge", base64));
                        sb.Append(add("code_challenge_method", "S256"));
                        sb.Append(add("redirect_uri", "https://auth.tesla.com/void/callback"));
                        sb.Append(add("response_type", "code"));
                        sb.Append(add("scope", "openid email offline_access"));
                        sb.Append(add("state", state));

                        var formurl = "https://auth.tesla.com/oauth2/v3/authorize?" + sb.ToString().Substring(0, sb.Length - 1);

                        // step1 get the form-www-page
                        var response = await client.GetAsync(formurl);

                        if (response.IsSuccessStatusCode)
                        {
                            var htmlbody = await response.Content.ReadAsStringAsync();

                            // get cookie
                            response.Headers.TryGetValues("Set-cookie", out IEnumerable <string> cs);
                            var c = cs.Single().Split(";")[0];

                            // load html
                            HtmlWeb      web      = new HtmlWeb();
                            HtmlDocument document = new HtmlDocument();
                            document.LoadHtml(htmlbody);

                            //parse html
                            var main   = document.DocumentNode.Descendants("form").Single();
                            var inputs = main.Descendants("input").ToArray();

                            //build up post-data
                            var dict = new Dictionary <string, string>();
                            // hidden inputs
                            foreach (var input in inputs.Where(_i => _i.Attributes["type"].Value == "hidden"))
                            {
                                dict.Add(input.Attributes["name"].Value, input.Attributes["value"].Value);
                            }
                            // credentials
                            dict.Add("identity", request.Email);
                            dict.Add("credential", request.Password);

                            //step 2 post the form
                            var webrequest = new HttpRequestMessage(HttpMethod.Post, formurl);
                            webrequest.Content = new FormUrlEncodedContent(dict);
                            webrequest.Headers.Add("cookie", c);

                            response = await client_noredirect.SendAsync(webrequest);

                            //redirect status
                            if ((int)response.StatusCode == 302)
                            {
                                // get redirect-location
                                if (response.Headers.TryGetValues("Location", out IEnumerable <string> newurl))
                                {
                                    var url = newurl.Single();
                                    //get code from url
                                    int ind  = url.IndexOf("code=");
                                    var code = url.Substring(ind + 5).Split('&')[0];

                                    //step 3
                                    var postdata = new
                                    {
                                        grant_type    = "authorization_code",
                                        client_id     = "ownerapi",
                                        code          = code,
                                        code_verifier = code_verifier,
                                        redirect_uri  = "https://auth.tesla.com/void/callback"
                                    };

                                    webrequest         = new HttpRequestMessage(HttpMethod.Post, "https://auth.tesla.com/oauth2/v3/token");
                                    webrequest.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(postdata), Encoding.UTF8, "application/json");

                                    response = await client.SendAsync(webrequest);

                                    ///STEP 3 !!!
                                    if (response.IsSuccessStatusCode)
                                    {
                                        var txt = await response.Content.ReadAsStringAsync();

                                        dynamic data         = JObject.Parse(txt);
                                        var     access_token = (string)data.access_token;

                                        //step 4 get tokens for jwt-bearer
                                        var postdata2 = new
                                        {
                                            grant_type    = "urn:ietf:params:oauth:grant-type:jwt-bearer",
                                            client_id     = client_id,
                                            client_secret = client_secret
                                        };
                                        webrequest         = new HttpRequestMessage(HttpMethod.Post, "https://owner-api.teslamotors.com/oauth/token");
                                        webrequest.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(postdata2), Encoding.UTF8, "application/json");
                                        webrequest.Headers.Add("Authorization", $"Bearer {access_token}");
                                        response = await client.SendAsync(webrequest);

                                        if (response.IsSuccessStatusCode)
                                        {
                                            txt = await response.Content.ReadAsStringAsync();

                                            data = JObject.Parse(txt);
                                            return(KeyResult.Code(TB, (string)data.access_token, (string)data.refresh_token));
                                        }
                                    }
                                }
                            }
                            else if (response.StatusCode == HttpStatusCode.Unauthorized)
                            {
                                return(KeyResult.Create(TB, TB.MsgInvalidLogin));
                            }
                        }
                    }
                return(KeyResult.Create(TB, TB.ServerError));
            }
            catch (Exception e)
            {
                return(KeyResult.ErrorServer(TB));
            }
        }
コード例 #12
0
 /// <summary>Register service method with a service binder with or without implementation. Useful when customizing the  service binding logic.
 /// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
 /// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
 /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
 public static void BindService(grpc::ServiceBinderBase serviceBinder, TextBase serviceImpl)
 {
     serviceBinder.AddMethod(__Method_GetText, serviceImpl == null ? null : new grpc::UnaryServerMethod <global::GrpcServer.TextId, global::GrpcServer.TextModel>(serviceImpl.GetText));
     serviceBinder.AddMethod(__Method_GetAllTexts, serviceImpl == null ? null : new grpc::ServerStreamingServerMethod <global::GrpcServer.EmptyRequest, global::GrpcServer.TextModel>(serviceImpl.GetAllTexts));
 }
コード例 #13
0
 /// <summary>Creates service definition that can be registered with a server</summary>
 /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
 public static grpc::ServerServiceDefinition BindService(TextBase serviceImpl)
 {
     return(grpc::ServerServiceDefinition.CreateBuilder()
            .AddMethod(__Method_GetText, serviceImpl.GetText)
            .AddMethod(__Method_GetAllTexts, serviceImpl.GetAllTexts).Build());
 }
コード例 #14
0
        protected override void CreateChildren()
        {
            base.CreateChildren();

            _rect = new RectShape(); //{ Left = 0, Right = 0, Top = 0, Bottom = 0 //};
            AddChild(_rect);

            _hGroup = new HGroup
            {
                PaddingLeft = 10, PaddingRight = 10, PaddingTop = 10, PaddingBottom = 10, Gap = 10
            };
            AddChild(_hGroup);

            // left group
            VGroup vGroup = new VGroup
            {
                VerticalAlign = VerticalAlign.Middle,
                Gap           = 10,
                PercentWidth  = 100,
                PercentHeight = 100
            };

            _hGroup.AddChild(vGroup);

            _image = new Image
            {
                Styles = ButtonStyles
            };
            _image.MouseDown += delegate
            {
                DispatchEvent(new Event("showImage", true)); // bubbling event
            };
            vGroup.AddChild(_image);

            LabelDisplay = new Label
            {
                Width = 150
            };
            //vGroup.AddChild(LabelDisplay);
            if (_text != string.Empty)
            {
                LabelDisplay.Text = _text;
            }

            // right group
            vGroup = new VGroup
            {
                VerticalAlign = VerticalAlign.Middle, Gap = 10, PercentWidth = 100, PercentHeight = 100
            };
            _hGroup.AddChild(vGroup);

            if (null == _buttonShow)
            {
                _buttonShow = new Button {
                    Text         = "Show",
                    PercentWidth = 100,
                    FocusEnabled = false,
                    SkinClass    = typeof(ImageButtonSkin),
                    Styles       = ButtonStyles,
                    Icon         = ImageLoader.Instance.Load("Icons/accept")
                };
                _buttonShow.ButtonDown += delegate
                {
                    DispatchEvent(new Event("showImage", true)); // bubbling!
                };
                vGroup.AddChild(_buttonShow);
            }

            if (null == _buttonRemove)
            {
                _buttonRemove = new Button
                {
                    Text         = "Remove",
                    PercentWidth = 100,
                    FocusEnabled = false,
                    SkinClass    = typeof(ImageButtonSkin),
                    Styles       = ButtonStyles,
                    Icon         = ImageLoader.Instance.Load("Icons/cancel")
                };
                _buttonRemove.ButtonDown += delegate
                {
                    var parentList = Owner as List;
                    if (null != parentList)
                    {
                        //Debug.Log("Removing at " + parentList.DataProvider.GetItemIndex(Data));
                        parentList.DataProvider.RemoveItemAt(parentList.DataProvider.GetItemIndex(Data));
                    }
                    else
                    {
                        Debug.LogError("Owner of item renderer is not a list");
                    }
                };
                vGroup.AddChild(_buttonRemove);
            }
        }
コード例 #15
0
        private void PrintKitchenVersion(OrderDetails orderDetails)
        {
            ObservableCollection <Tuple <IItem, int> > concattedItems = orderDetails.ItemBasket.ConcatItems;

            try
            {
                TextComponent forKitchen = new TextBold(new TextCentreAlign(new TextBase("FOR KITCHEN")));
                PrintEnglish(forKitchen.GetDec());
                foreach (Tuple <IItem, int> item in concattedItems)
                {
                    string englishSizeModifier = "";
                    string chineseSizeModifier = "";
                    if (item.Item1.GetType() == typeof(SizeItem))
                    {
                        SizeItem si = (SizeItem)item.Item1;
                        englishSizeModifier = "(" + si.EnglishSizeString + ")";
                        chineseSizeModifier = "(" + si.ChineseSizeString + ")";
                    }

                    if (item.Item1.GetType() == typeof(PieItem))
                    {
                        PieItem p = (PieItem)item.Item1;
                        englishSizeModifier = "(" + p.EnglishSizeString + ")";
                        chineseSizeModifier = "(" + p.ChineseSizeString + ")";
                    }

                    TextComponent englishText  = new TextBase(EllipsisTruncate(item.Item1.EnglishName, 36));
                    TextComponent chineseText  = new TextBase(item.Item1.ChineseName);
                    TextComponent specialText  = new TextBold(new TextBase(item.Item1.ConcatProperties));
                    TextComponent quantityText = new TextDoubleWidthHeight(new TextBold(new TextBase(" X" + item.Item2.ToString())));

                    PrintEnglish(englishText.GetDec() + englishSizeModifier + quantityText.GetDec());
                    PrintChinese(item.Item1.ChineseName + chineseSizeModifier);
                    PrintEnglish(specialText.GetDec());

                    /*if (string.IsNullOrEmpty(specialText.GetDec()))
                     * {
                     *  PrintEnglish(" ");
                     * }*/
                    PrintEnglish(" ");
                }

                if (orderDetails.CurrentAddress != null)
                {
                    PrintEnglish("Deliver to: " + orderDetails.CurrentAddress.Concat);
                }
                else
                {
                    PrintEnglish("Pick Up Order");
                }

                PrintEnglish(" ");
                PrintEnglish(" ");
                PrintEnglish(" ");
                PrintEnglish(" ");
                PrintEnglish(" ");
            }
            catch (PosControlException)
            {
                Console.WriteLine("Cover open?");
            }
        }
コード例 #16
0
        private void PrintCustomerVersion(OrderDetails orderDetails)
        {
            ObservableCollection <Tuple <IItem, int> > concattedItems = orderDetails.ItemBasket.ConcatItems;

            try
            {
                TextComponent forCustomer = new TextBold(new TextCentreAlign(new TextBase("FOR RECORDS - " + DateTime.UtcNow.Date.ToString("dd/MM/yyyy"))));
                PrintEnglish(" ");
                PrintEnglish(forCustomer.GetDec());
                foreach (Tuple <IItem, int> item in concattedItems)
                {
                    string englishSizeModifier = "";
                    string chineseSizeModifier = "";
                    if (item.Item1.GetType() == typeof(SizeItem))
                    {
                        SizeItem si = (SizeItem)item.Item1;
                        englishSizeModifier = "(" + si.EnglishSizeString + ")";
                        chineseSizeModifier = "(" + si.ChineseSizeString + ")";
                    }

                    if (item.Item1.GetType() == typeof(PieItem))
                    {
                        PieItem p = (PieItem)item.Item1;
                        englishSizeModifier = "(" + p.EnglishSizeString + ")";
                        chineseSizeModifier = "(" + p.ChineseSizeString + ")";
                    }

                    TextComponent englishText  = new TextBase(item.Item1.EnglishName);
                    TextComponent priceText    = new TextRightAlign(new TextBase("£" + (item.Item1.Price * item.Item2).ToString("0.00")));
                    TextComponent quantityText = new TextRightAlign(new TextBase("X" + item.Item2.ToString() + "    "));
                    TextComponent chineseText  = new TextBase(item.Item1.ChineseName);

                    PrintEnglish(englishText.GetDec() + englishSizeModifier);
                    PrintChinese(item.Item1.ChineseName + chineseSizeModifier);
                    PrintEnglish(quantityText.GetDec() + priceText.GetDec());
                }

                TextComponent total = new TextRightAlign(new TextBold(new TextUnderline(new TextBase("  Total: " + orderDetails.PriceText))));
                PrintEnglish(total.GetDec());
                if (orderDetails.CurrentAddress != null)
                {
                    TextComponent phoneNumberText = new TextBold(new TextBase(orderDetails.CurrentAddress.PhoneNumber));
                    TextComponent roadText        = new TextRightAlign(new TextBold(new TextBase(orderDetails.CurrentAddress.Number + " " + orderDetails.CurrentAddress.Road)));
                    TextComponent townText        = new TextRightAlign(new TextBold(new TextBase(orderDetails.CurrentAddress.Town)));
                    TextComponent postCodeText    = new TextRightAlign(new TextBold(new TextBase(orderDetails.CurrentAddress.PostCode)));

                    PrintEnglish("Deliver to: " + roadText.GetDec());
                    PrintEnglish(townText.GetDec());
                    if (orderDetails.CurrentAddress.PhoneNumber != "")
                    {
                        PrintEnglish("Phone Number: " + phoneNumberText.GetDec() + postCodeText.GetDec());
                    }
                }
                else
                {
                    PrintEnglish("Pick Up Order");
                }
                PrintEnglish(" ");
                PrintEnglish(" ");
                PrintEnglish(" ");
                PrintEnglish(" ");
                PrintEnglish(" ");
                PrintEnglish(" ");
            }
            catch (PosControlException)
            {
                Console.WriteLine("Cover open?");
                //throw e;
            }
        }