예제 #1
0
        private ObservableCollection <Grouping <string, NewDealsModel.Deal> > GroupListByDate14022019()
        {
            try
            {
                if (ivm?.GetEvery == null)
                {
                    return(GetEveryThingGrouped);
                }
                var grp = from h in ivm?.GetThisWeek
                          orderby h?.Expiration_Date
                          group h by h?.Expiration_Date.DayOfWeek.ToString() into ThisWeeksGroup
                          select new Grouping <string, NewDealsModel.Deal>(ThisWeeksGroup.Key, ThisWeeksGroup);

                GetEveryThingGrouped.Clear();
                foreach (var g in grp)
                {
                    GetEveryThingGrouped.Add(g);
                }
            }
            catch (Exception ex)
            {
                var log = ex;
                LogService.LogErrors(log.ToString());
                MyToast.DisplayToast(Color.Red, "Slight error occured parsing response");
            }

            return(GetEveryThingGrouped);
        }
예제 #2
0
        public static void SendToastAsync(MyToast myToast, string name, string option)
        {
            var    toast       = ConvertToast(myToast);
            string displayName = string.IsNullOrEmpty(option) ? name : name + "::" + option;

            Send(toast, displayName);
        }
예제 #3
0
        public void ToastDuration()
        {
            tlog.Debug(tag, $"ToastDuration START");

            var testingTarget = new MyToast();

            Assert.IsNotNull(testingTarget, "null handle");
            Assert.IsInstanceOf <Toast>(testingTarget, "Should return Toast instance.");

            testingTarget.OnInitialize();

            testingTarget.Duration = 10;
            tlog.Debug(tag, "Duration : " + testingTarget.Duration);

            testingTarget.TextLineSpace = 8;
            tlog.Debug(tag, "testingTarget : " + testingTarget.TextLineSpace);

            testingTarget.TextLineHeight = 15;
            tlog.Debug(tag, "TextLineHeight : " + testingTarget.TextLineHeight);

            testingTarget.TextPadding = new Extents(2, 2, 2, 2);
            tlog.Debug(tag, "TextPadding : " + testingTarget.TextPadding);

            testingTarget.Message = "Toast";
            tlog.Debug(tag, "Message : " + testingTarget.Message);

            testingTarget.TextAlignment = HorizontalAlignment.Center;
            tlog.Debug(tag, "TextAlignment :" + testingTarget.TextAlignment);

            testingTarget.TextArray = new string[2] {
                "microsoft", "perfomance"
            };
            tlog.Debug(tag, "TextArray : " + testingTarget.TextArray);

            testingTarget.PointSize = 15.0f;
            tlog.Debug(tag, "PointSize : " + testingTarget.PointSize);

            testingTarget.FontFamily = "BreezeSans";
            tlog.Debug(tag, "FontFamily : " + testingTarget.FontFamily);

            testingTarget.TextColor = Color.Yellow;
            tlog.Debug(tag, "TextColor : " + testingTarget.TextColor);

            try
            {
                testingTarget.Post(Window.Instance);
            }
            catch (Exception e)
            {
                tlog.Debug(tag, e.Message.ToString());
                Assert.Fail("Caught Exception : Failed!");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"ToastDuration END (OK)");
        }
예제 #4
0
        public LoggedOn(string message)
        {
            InitializeComponent();
            //AnimateThisPage();
            store = AccountStore.Create();
            //account = store.FindAccountsForService(Constants.AppName).FirstOrDefault();
            var mytoast = MyToast.DisplayToast(Color.Blue, message);

            this.BindingContext = lvm;
        }
예제 #5
0
        public void InitToastUsingName(MyToast toast, List <Word> words)
        {
            foreach (var action in toast.ActionList)
            {
                action.Pointer = EncodingWordHelper.SearchSameWord(words, action.Name);
            }

            foreach (var visual in toast.VisualList)
            {
                visual.Pointer = EncodingWordHelper.SearchSameWord(words, visual.Name);
            }
        }
예제 #6
0
        async void OnAuthCompleted(object sender, AuthenticatorCompletedEventArgs e)
        {
            var authenticator = sender as OAuth2Authenticator;

            if (authenticator != null)
            {
                authenticator.Completed -= OnAuthCompleted;
                authenticator.Error     -= OnAuthError;
            }

            User user = null;

            if (e.IsAuthenticated)
            {
                // If the user is authenticated, request their basic user data from Google
                // UserInfoUrl = https://www.googleapis.com/oauth2/v2/userinfo
                var request  = new OAuth2Request("GET", new Uri(Constants.UserInfoUrl), null, e.Account);
                var response = await request.GetResponseAsync();

                if (response != null)
                {
                    // Deserialize the data and store it in the account store
                    // The users email address will be used to identify data in SimpleDB
                    string userJson = await response.GetResponseTextAsync();

                    user = JsonConvert.DeserializeObject <User>(userJson);
                }

                if (account != null)
                {
                    store.Delete(account, Constants.AppName);
                }

                await store.SaveAsync(account = e.Account, Constants.AppName);

                //UserDialogs.Instance.Alert("", "Email address: " + user.Email + "\n fullname:" + user.Name + "\n gender:" + user.Gender, "OK");
                MyToast t = new MyToast();
                UserDialogs.Instance.Toast(t.ShowMyToast(Color.Green, "Successful google login"));
                User.Username = user.Email;
                User.Password = user.Email;
            }
            else
            {
                MyToast t = new MyToast();
                UserDialogs.Instance.Toast(t.ShowMyToast(Color.PaleVioletRed, "Unsuccessful google login"));
            }
        }
예제 #7
0
        public void ToastCreateViewStyle()
        {
            tlog.Debug(tag, $"ToastCreateViewStyle START");

            var testingTarget = new MyToast();

            Assert.IsNotNull(testingTarget, "null handle");
            Assert.IsInstanceOf <Toast>(testingTarget, "Should return Toast instance.");

            try
            {
                testingTarget.OnCreateViewStyle();
            }
            catch (Exception e)
            {
                tlog.Debug(tag, e.Message.ToString());
                Assert.Fail("Caught Exception : Failed!");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"ToastCreateViewStyle END (OK)");
        }
예제 #8
0
        public static ToastNotification ConvertToast(MyToast myToast)
        {
            Dictionary <int, Models.ToastVisual> visualDict = new Dictionary <int, Models.ToastVisual>();
            Dictionary <int, QueryString>        actionDict = new Dictionary <int, QueryString>();

            ToastActionsCustom actions = new ToastActionsCustom();
            QueryString        launch  = new QueryString();

            Microsoft.Toolkit.Uwp.Notifications.ToastVisual visual = new Microsoft.Toolkit.Uwp.Notifications.ToastVisual()
            {
                BindingGeneric = new ToastBindingGeneric()
                {
                    Children =
                    {
                        new AdaptiveText()
                        {
                            Text = ""
                        }
                    }
                }
            };

            foreach (Models.ToastVisual nowVisual in myToast.VisualList)
            {
                switch (nowVisual.Visual)
                {
                case VisualType.TITLE:
                    visual.BindingGeneric.Children[0] = new AdaptiveText()
                    {
                        Text = nowVisual.ToString()
                    };
                    break;

                case VisualType.DETAIL:
                    visual.BindingGeneric.Children.Add(new AdaptiveText()
                    {
                        Text = nowVisual.ToString()
                    });
                    break;

                case VisualType.MAIN_IMG:
                    visual.BindingGeneric.Children.Add(new AdaptiveImage()
                    {
                        Source = nowVisual.ToString()
                    });
                    break;

                case VisualType.LOGO_IMG:
                    visual.BindingGeneric.AppLogoOverride = new ToastGenericAppLogo()
                    {
                        Source   = nowVisual.ToString(),
                        HintCrop = ToastGenericAppLogoCrop.Circle
                    };
                    break;

                case VisualType.BUTTON1:
                case VisualType.BUTTON2:
                case VisualType.BUTTON3:
                    int index = (int)nowVisual.Visual - (int)VisualType.BUTTON1;
                    if (!visualDict.ContainsKey(index))
                    {
                        visualDict.Add(index, nowVisual);
                    }
                    else
                    {
                        visualDict[index] = nowVisual;
                    }
                    break;
                }
            }


            foreach (ToastAction nowAction in myToast.ActionList)
            {
                switch (nowAction.When)
                {
                case WhenType.BODY:
                    launch.Add(new QueryString()
                    {
                        { "action", ((int)nowAction.ActionType).ToString() },
                        { "id", nowAction.ToString() },
                        { "folder", nowAction.Folder }
                    }.ToString());
                    break;

                case WhenType.BUTTON1:
                case WhenType.BUTTON2:
                case WhenType.BUTTON3:
                    int when = (int)nowAction.When - (int)WhenType.BUTTON1;
                    if (!actionDict.ContainsKey(when))
                    {
                        actionDict.Add(when, new QueryString()
                        {
                            { "action", ((int)nowAction.ActionType).ToString() },
                            { "id", nowAction.ToString() },
                            { "folder", nowAction.Folder }
                        });
                    }
                    else
                    {
                        actionDict[when].Add("action", ((int)nowAction.ActionType).ToString());
                        actionDict[when].Add("id", nowAction.ToString());
                        actionDict[when].Add("folder", nowAction.Folder);
                    }
                    break;
                }
            }

            /*Add button*/
            foreach (var nowVisual in visualDict.OrderBy(x => x.Key))
            {
                actions.Buttons.Add(
                    new ToastButton(nowVisual.Value.ToString(),
                                    actionDict.ContainsKey(nowVisual.Key) == true ?
                                    actionDict[nowVisual.Key].ToString() : "")
                    );
            }

            ToastContent toastContent = new ToastContent()
            {
                Visual  = visual,
                Actions = actions,
                Launch  = launch.ToString(),
            };

            // Create the XML document (BE SURE TO REFERENCE WINDOWS.DATA.XML.DOM)
            var doc = new XmlDocument();

            doc.LoadXml(toastContent.GetContent());

            // And create the toast notification
            var toast = new ToastNotification(doc);

            toast.ExpirationTime = DateTime.Now.AddDays(3);

            return(toast);
        }
예제 #9
0
        async void OnAuthCompleted(object sender, AuthenticatorCompletedEventArgs e)
        {
            try
            {
                using (UserDialogs.Instance.Loading(""))
                {
                    var authenticator = sender as OAuth2Authenticator;
                    if (authenticator != null)
                    {
                        authenticator.Completed -= OnAuthCompleted;
                        authenticator.Error     -= OnAuthError;
                    }

                    User user = null;
                    if (e.IsAuthenticated)
                    {
                        OAuth2Request oAuth2Request = null;
                        string        returnedJson  = null;
                        // If the user is authenticated, request their basic user data from Google
                        // UserInfoUrl = https://www.googleapis.com/oauth2/v2/userinfo
                        switch (SocialMedia)
                        {
                        case "facebook":
                            oAuth2Request = new OAuth2Request("GET", new Uri(Constants.graphAPI), null, e.Account);
                            break;

                        case "google":
                            oAuth2Request = new OAuth2Request("GET", new Uri(Constants.UserInfoUrl), null, e.Account);

                            break;

                        default:
                            break;
                        }
                        //var request = new OAuth2Request("GET", new Uri(Constants.UserInfoUrl), null, e.Account);
                        var response = await oAuth2Request.GetResponseAsync();

                        if (response != null)
                        {
                            // Deserialize the data and store it in the account store
                            // The users email address will be used to identify data in SimpleDB
                            string userJson = await response.GetResponseTextAsync();

                            switch (SocialMedia)
                            {
                            case "google":
                                try
                                {
                                    user = JsonConvert.DeserializeObject <User>(userJson);
                                    lvm.User.Username     = user.Email;
                                    lvm.User.Password     = user.Email;
                                    lvm.User.EmailAddress = user.Email;
                                    lvm.User.ConfirmPin   = user.Email;
                                }
                                catch (Exception ex)
                                {
                                    var log = ex;
                                }
                                break;

                            case "facebook":
                                try
                                {
                                    var fbuser = JsonConvert.DeserializeObject <FaceBookProfile>(userJson);

                                    //var fbuser = JsonValue.Parse(response.GetResponseText());
                                    lvm.User.Username     = fbuser.Email;
                                    lvm.User.Password     = fbuser.Email;
                                    lvm.User.EmailAddress = fbuser.Email;
                                    lvm.User.ConfirmPin   = fbuser.Email;
                                }
                                catch (Exception ex)
                                {
                                    var log = ex;
                                }

                                break;

                            default:
                                break;
                            }
                        }

                        if (account != null)
                        {
                            store.Delete(account, Constants.AppName);
                        }

                        await store.SaveAsync(account = e.Account, Constants.AppName);

                        //UserDialogs.Instance.Alert("", "Email address: " + user.Email + "\n fullname:" + user.Name + "\n gender:" + user.Gender, "OK");
                        MyToast t = new MyToast();
                        UserDialogs.Instance.Toast(t.ShowMyToast(Color.Green, "Successful login"));
                        GlobalStaticFields.Username = lvm.User.Username;
                        var tk = await lvm.GetTokenFromAPI().ConfigureAwait(false);

                        if (tk)
                        {
                            lvm.PersistUserDetails();
                            //Application.Current.MainPage.Navigation.PushAsync(new AppLanding());
                            Device.BeginInvokeOnMainThread
                            (
                                async() => await Application.Current.MainPage.Navigation.PushAsync(new AppLanding())
                            );
                        }
                        else
                        {
                            var reg = await lvm.Register().ConfigureAwait(false);

                            if (reg)
                            {
                                //lvm.PersistUserDetails();
                                Application.Current.MainPage.Navigation.PushAsync(new AppLanding());
                                //Device.BeginInvokeOnMainThread
                                //  (
                                //async () => await Application.Current.MainPage.Navigation.PushAsync(new AppLanding())
                                //);
                            }
                            else
                            {
                                Device.BeginInvokeOnMainThread
                                    (() =>
                                    UserDialogs.Instance.Toast(t.ShowMyToast(Color.OrangeRed, $"Unsuccessful. {lvm.RegisterationError} ")));
                            }
                        }
                    }
                    else
                    {
                        MyToast t = new MyToast();
                        UserDialogs.Instance.Toast(t.ShowMyToast(Color.PaleVioletRed, $"Unsuccessful {SocialMedia} login"));
                    }
                }
            }
            catch (Exception ex)
            {
                var log = ex;
            }
        }
예제 #10
0
        async void OnAuthCompleted(object sender, AuthenticatorCompletedEventArgs e)
        {
            using (UserDialogs.Instance.Loading(""))
            {
                var authenticator = sender as OAuth2Authenticator;
                if (authenticator != null)
                {
                    authenticator.Completed -= OnAuthCompleted;
                    authenticator.Error     -= OnAuthError;
                }

                User user = null;
                if (e.IsAuthenticated)
                {
                    // If the user is authenticated, request their basic user data from Google
                    // UserInfoUrl = https://www.googleapis.com/oauth2/v2/userinfo
                    var request  = new OAuth2Request("GET", new Uri(Constants.UserInfoUrl), null, e.Account);
                    var response = await request.GetResponseAsync();

                    if (response != null)
                    {
                        // Deserialize the data and store it in the account store
                        // The users email address will be used to identify data in SimpleDB
                        string userJson = await response.GetResponseTextAsync();

                        user = JsonConvert.DeserializeObject <User>(userJson);
                    }

                    if (account != null)
                    {
                        store.Delete(account, Constants.AppName);
                    }

                    await store.SaveAsync(account = e.Account, Constants.AppName);

                    //UserDialogs.Instance.Alert("", "Email address: " + user.Email + "\n fullname:" + user.Name + "\n gender:" + user.Gender, "OK");
                    MyToast t = new MyToast();
                    UserDialogs.Instance.Toast(t.ShowMyToast(Color.Green, "Successful google login"));
                    lvm.User.Username     = user.Email;
                    lvm.User.Password     = user.Email;
                    lvm.User.EmailAddress = user.Email;
                    lvm.User.ConfirmPin   = user.Email;
                    var tk = await lvm.GetTokenFromAPI().ConfigureAwait(false);

                    if (tk)
                    {
                        Navigation.PushAsync(new AppLanding());
                    }
                    else
                    {
                        var reg = await lvm.Register().ConfigureAwait(false);

                        if (reg)
                        {
                            Device.BeginInvokeOnMainThread
                            (
                                async() => Navigation.PushAsync(new AppLanding())
                            );
                        }
                        else
                        {
                            Device.BeginInvokeOnMainThread
                                (() =>
                                UserDialogs.Instance.Toast(t.ShowMyToast(Color.OrangeRed, $"Unsuccessful. {lvm.RegisterationError} ")));
                        }
                    }
                }
                else
                {
                    MyToast t = new MyToast();
                    UserDialogs.Instance.Toast(t.ShowMyToast(Color.PaleVioletRed, "Unsuccessful google login"));
                }
            }
        }