Beispiel #1
0
        public async static void CheckMessages()
        {
            if (CrossConnectivity.Current.IsConnected)
            {
                User loginUser = StorageManager.GetConnectionInfo().LoginUser;

                string gencall  = "/accesstoken=" + loginUser.AccessToken;
                string usercall = gencall + "/iduser="******"/message/getall" + usercall);

                servMsg.SaveAllToDBWithServerID("IDMessage");

                SQLiteConnection      conn = StorageManager.GetConnection();
                IEnumerable <Message> msgs = conn.Query <Message>("SELECT * FROM message WHERE IDUser="******" AND seen=0 ");
                var notifier = DependencyService.Get <ICrossLocalNotifications>().CreateLocalNotifier();
                foreach (Message msg in msgs)
                {
                    notifier.Notify(new LocalNotification()
                    {
                        Title      = msg.Title,
                        Text       = msg.MessageText,
                        Id         = msg.IDMessage + 30000,
                        NotifyTime = DateTime.Now,
                    });
                    msg.seen = 1;
                    conn.Update(msg);
                    await ServiceConnector.InsertServiceData <ModelService <Message> >("/message/save", msg);
                }
            }
        }
Beispiel #2
0
        async void OnSubmitButtonTap(object sender, EventArgs e)
        {
            try
            {
                if (AllFieldsAreFilled() && CheckValidMail() && CheckPassword())
                {
                    //submitBtn.IsEnabled = false;
                    int  token = GetRegistrationToken(emailEntry.Text, passwdEntry.Text);
                    User user  = new User();
                    user.FirstName  = nameEntry.Text;
                    user.LastName   = surnameEntry.Text;
                    user.Email      = emailEntry.Text;
                    user.Password   = passwdEntry.Text;
                    user.InsertDate = DateTime.UtcNow;
                    user.UpdateDate = user.InsertDate;
                    //user.Birthdate = birthDate.Date;
                    user.AccessToken = token.ToString();
                    ModelService <User> srvNewUser = await ServiceConnector.InsertServiceData <ModelService <User> >("/user/insert/", user);

                    if ((srvNewUser.success == true) && (srvNewUser.ID > 0) && !(srvNewUser.ErrorCode > 0))
                    {
                        // user.InsertDate = DateTime.UtcNow;
                        // user.UpdateDate = user.InsertDate;
                        user.IDUser      = srvNewUser.ID;
                        user.AccessToken = srvNewUser.AccessToken;
                        srvNewUser.InsertRecordToDB(user);
                        submitBtn.IsEnabled  = true;
                        App.Current.MainPage = new Registered();
                        return;
                    }
                    else if (srvNewUser.ErrorCode == 2)
                    {
                        MessageLabel.Text = Properties.LangResource.userexists;
                    }
                    else
                    {
                        MessageLabel.Text = Properties.LangResource.warning + " - " + srvNewUser.message;
                    }
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageLabel.Text = Properties.LangResource.error + "-" + ex.Message;
            }
        }
        private async void OnMailSendButtonClicked(object sender, EventArgs e)
        {
            if (emailEntry.Text == "" || emailEntry.Text == null)
            {
                MessageLabel.Text = Properties.LangResource.enterMail;
                return;
            }

            bool isValid = GenLib.CheckValidMail(emailEntry.Text);

            if (!isValid)
            {
                MessageLabel.Text = Properties.LangResource.invalidemail;
            }
            else
            {
                mailSend.IsEnabled = false;
                User user = new User();
                user.Email       = emailEntry.Text;
                user.AccessToken = this.GetRecoverToken(user.Email.ToString());

                ModelService <User> srvRecoverUser = await ServiceConnector.InsertServiceData <ModelService <User> >("/user/recover/", user);

                if (srvRecoverUser.success == true)
                {
                    await DisplayAlert(Properties.LangResource.message, Properties.LangResource.checkemail, "OK");

                    App.Current.MainPage = new LoginPage();
                }
                else if (srvRecoverUser.ErrorCode == 2)
                {
                    MessageLabel.Text = Properties.LangResource.usernotfound;
                }
                else
                {
                    MessageLabel.Text = Properties.LangResource.genericerror;
                }
                mailSend.IsEnabled = true;
            }
        }
        async void OnUpdatePasswordClicked(object sender, EventArgs e)
        {
            if (newPassword.Text == null || newPasswordRetype.Text == null || newPassword.Text.Equals("") || newPasswordRetype.Text.Equals(""))
            {
                await DisplayAlert(Properties.LangResource.warning, Properties.LangResource.fillfields, "OK");
            }
            else
            {
                try
                {
                    User user = new User();
                    user.Password = newPassword.Text;
                    user.IDUser   = StorageManager.GetConnectionInfo().LoginUser.IDUser;
                    ModelService <User> srvNewUser = await ServiceConnector.InsertServiceData <ModelService <User> >("/user/update/", user);

                    if ((srvNewUser.success == true) && (srvNewUser.ID > 0) && !(srvNewUser.ErrorCode > 0))
                    {
                        await DisplayAlert(Properties.LangResource.message, Properties.LangResource.passwordupdated, "OK");

                        /*
                         * user.IDUser = srvNewUser.ID;
                         * user.AccessToken = srvNewUser.AccessToken;
                         * srvNewUser.InsertRecordToDB(user);
                         * App.Current.MainPage = new Registered();
                         */
                        return;
                    }
                    else
                    {
                        await DisplayAlert(Properties.LangResource.warning, srvNewUser.message, "OK");
                    }
                    return;
                }
                catch (Exception ex)
                {
                    await DisplayAlert(Properties.LangResource.error, ex.Message, "OK");
                }
            }
        }
Beispiel #5
0
        public async static Task FullServiceSend(User user, UserSettings usersettings)
        {
            try
            {
                //TODO: SYncdate and save serverid
                SQLiteConnection conn   = StorageManager.GetConnection();
                string           iduser = user.IDUser.ToString();

                long tick = usersettings.LastSyncDate.Ticks;

                //user
                IEnumerable <User>  users      = conn.Query <User>("SELECT * FROM User WHERE IDUser="******" AND UpdateDate>= ?", tick);
                ModelService <User> srvNewUser = null;
                foreach (User us in users)
                {
                    srvNewUser = await ServiceConnector.InsertServiceData <ModelService <User> >("/user/update", us);
                }

                //meal
                IEnumerable <Meal>  meals      = conn.Query <Meal>("SELECT * FROM Meal WHERE IDUser="******" AND UpdateDate>= ?", tick);
                ModelService <Meal> srvNewMeal = null;
                foreach (Meal meal in meals)
                {
                    srvNewMeal = await ServiceConnector.InsertServiceData <ModelService <Meal> >("/meal/save", meal);

                    if (srvNewMeal.ID != 0)
                    {
                        meal.IDServer = srvNewMeal.ID;
                        StorageManager.UpdateData <Meal>(meal);
                    }
                }

                //mealunit
                IEnumerable <MealUnit>  mealunits       = conn.Query <MealUnit>("SELECT * FROM MealUnit WHERE IDUser="******" AND UpdateDate>= ?", tick);
                ModelService <MealUnit> srvNewMealunits = null;
                foreach (MealUnit mealunit in mealunits)
                {
                    srvNewMealunits = await ServiceConnector.InsertServiceData <ModelService <MealUnit> >("/mealunit/save", mealunit);

                    if (srvNewMeal.ID != 0)
                    {
                        mealunit.IDServer = srvNewMeal.ID;
                        StorageManager.UpdateData <MealUnit>(mealunit);
                    }
                }

                //alert
                IEnumerable <Alert>  alts        = conn.Query <Alert>("SELECT * FROM Alert WHERE IDUser="******" AND UpdateDate>= ?", tick);
                ModelService <Alert> srvNewAlert = null;
                foreach (Alert alt in alts)
                {
                    srvNewAlert = await ServiceConnector.InsertServiceData <ModelService <Alert> >("/alert/save", alt);

                    if (srvNewAlert.ID != 0)
                    {
                        alt.IDServer = srvNewAlert.ID;
                        StorageManager.UpdateData <Alert>(alt);
                    }
                }
                //exercise
                IEnumerable <Exercise>  exes        = conn.Query <Exercise>("SELECT * FROM Exercise WHERE IDUser="******" AND  UpdateDate>= ? ", tick);
                ModelService <Exercise> srvExercise = null;
                foreach (Exercise exe in exes)
                {
                    srvExercise = await ServiceConnector.InsertServiceData <ModelService <Exercise> >("/exercise/save", exe);

                    if (srvExercise.ID != 0)
                    {
                        exe.IDServer = srvExercise.ID;
                        StorageManager.UpdateData <Exercise>(exe);
                    }
                }

                //plan
                IEnumerable <Plan>  plns    = conn.Query <Plan>("SELECT * FROM Plan WHERE IDUser="******" AND  UpdateDate>= ? ", tick);
                ModelService <Plan> srvPlan = null;
                foreach (Plan pln in plns)
                {
                    srvPlan = await ServiceConnector.InsertServiceData <ModelService <Plan> >("/plan/save", pln);

                    if (srvPlan.ID != 0)
                    {
                        pln.IDServer = srvPlan.ID;
                        StorageManager.UpdateData <Plan>(pln);
                    }
                }

                //subscription
                IEnumerable <Subscription>  subs            = conn.Query <Subscription>("SELECT * FROM Subscription WHERE IDUser="******" AND UpdateDate>= ? ", tick);
                ModelService <Subscription> srvSubscription = null;
                foreach (Subscription sub in subs)
                {
                    srvSubscription = await ServiceConnector.InsertServiceData <ModelService <Subscription> >("/subscription/save", sub);

                    if (srvSubscription.ID != 0)
                    {
                        sub.IDServer = srvSubscription.ID;
                        StorageManager.UpdateData <Subscription>(sub);
                    }
                }
                if (((List <Subscription>)subs).Count > 0)
                {
                    StorageManager.GetConnectionInfo().LoadActiveSubscription();
                }

                //usermeal
                IEnumerable <UserMeal>  umeals      = conn.Query <UserMeal>("SELECT * FROM Usermeal WHERE IDUser="******" AND UpdateDate>= ? ", tick);
                ModelService <UserMeal> srvUserMeal = null;
                foreach (UserMeal umeal in umeals)
                {
                    srvUserMeal = await ServiceConnector.InsertServiceData <ModelService <UserMeal> >("/usermeal/save", umeal);

                    if (srvUserMeal.ID != 0)
                    {
                        umeal.IDServer = srvUserMeal.ID;
                        StorageManager.UpdateData <UserMeal>(umeal);
                    }
                }
                //weight
                IEnumerable <Weight>  wgts      = conn.Query <Weight>("SELECT * FROM Weight WHERE IDUser="******" AND UpdateDate>= ? ", tick);
                ModelService <Weight> srvWeight = null;
                foreach (Weight wgt in wgts)
                {
                    srvWeight = await ServiceConnector.InsertServiceData <ModelService <Weight> >("/weight/save", wgt);

                    if (srvWeight.ID != 0)
                    {
                        wgt.IDServer = srvWeight.ID;
                        StorageManager.UpdateData <Weight>(wgt);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }