Exemple #1
0
        /// <summary>
        /// Entsprechend des Netzwerkstatus wird lokal oder am Server angelegt
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public async Task <Guid> SignIn(string username, string password)
        {
            User user = new fITNat.DBModels.User();
            Guid userId;

            user.Username = username;
            user.Password = password;
            //Console.WriteLine("Online vor der Entscheidung: " + Online);
            if (Online)
            {
                try
                {
                    bool success = await mgnService.SignIn(username, password);

                    if (success)
                    {
                        userId      = mgnService.actualSession().CurrentUserId;
                        user.UserId = userId.ToString();
                        if (db != null)
                        {
                            db.insertUpdateUser(user);
                            Console.WriteLine("User eingeloggt und lokal abgelegt");
                        }
                        return(userId);
                    }
                }
                catch (ServerException ex)
                {
                    System.Console.WriteLine("Fehler beim Online-Einloggen (Server)" + ex.StackTrace);
                    throw;
                }
                catch (Exception exc)
                {
                    System.Console.WriteLine("Fehler beim Online-Einloggen" + exc.StackTrace);
                }
                return(new Guid());
            }
            else
            {
                try
                {
                    //Lokal nachschauen
                    Guid result = db.findUser(username, password);
                    if (result != null)
                    {
                        return(result);
                    }
                }
                catch (Exception exc)
                {
                    System.Console.WriteLine("Fehler beim Offline-Einloggen" + exc.StackTrace);
                    throw;
                }
                return(new Guid());
            }
        }
Exemple #2
0
 /// <summary>
 /// Entsprechend des Netzwerkstatus wird lokal oder am Server angelegt
 /// </summary>
 /// <param name="username"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public async Task<Guid> SignIn(string username, string password)
 {
     User user = new fITNat.DBModels.User();
     Guid userId;
     user.Username = username;
     user.Password = password;
     //Console.WriteLine("Online vor der Entscheidung: " + Online);
     if (Online)
     {
         try
         {
             bool success = await mgnService.SignIn(username, password);
             if (success)
             {
                 userId = mgnService.actualSession().CurrentUserId;
                 user.UserId = userId.ToString();
                 if (db != null)
                 {
                     db.insertUpdateUser(user);
                     Console.WriteLine("User eingeloggt und lokal abgelegt");
                 }
                 return userId;
             }
         }
         catch (ServerException ex)
         {
             System.Console.WriteLine("Fehler beim Online-Einloggen (Server)" + ex.StackTrace);
             throw;
         }
         catch (Exception exc)
         {
             System.Console.WriteLine("Fehler beim Online-Einloggen" + exc.StackTrace);
         }
         return new Guid();
     }
     else
     {
         try
         {
             //Lokal nachschauen
             Guid result = db.findUser(username, password);
             if (result != null)
                 return result;
         }
         catch (Exception exc)
         {
             System.Console.WriteLine("Fehler beim Offline-Einloggen" + exc.StackTrace);
             throw;
         }
         return new Guid();
     }
 }
Exemple #3
0
 /// <summary>
 /// Entsprechend des Netzwerkstatus wird am Server angelegt oder ein Fehler angezeigt
 /// </summary>
 /// <param name="username"></param>
 /// <param name="email"></param>
 /// <param name="password"></param>
 /// <param name="passwordConfirm"></param>
 /// <param name="gender"></param>
 /// <param name="job"></param>
 /// <param name="fitness"></param>
 /// <param name="birthdate"></param>
 /// <returns></returns>
 public async Task<bool> SignUp(string username,
                                 string email,
                                 string password,
                                 string passwordConfirm,
                                 GenderType gender,
                                 JobTypes job,
                                 FitnessType fitness,
                                 DateTime birthdate)
 {
     if (Online)
     {
         try
         {
             User user = new User();
             user.UserId = await mgnService.SignUp(username, email, password, passwordConfirm, gender, job, fitness, birthdate);
             user.Username = username;
             user.Password = password;
             user.wasOffline = false;
             db.insertUpdateUser(user);
         }
         catch (ServerException ex)
         {
             System.Console.WriteLine("Fehler beim Registrieren: " + ex.StackTrace);
             throw;
         }
     }
     else
     {
         //Fehler schmeissen, dass man offline ist!!!
         throw (new Exception("Registrierung funktioniert nur im Online-Modus"));
     }
     return true;
 }