public static async Task <bool> Esiste(Credenziali c, string v)
        {
            bool esito                   = false;
            var  json                    = "{\"Email\": " + JsonConvert.SerializeObject(c.Email) + "}";
            var  sendContent             = new StringContent(json, Encoding.UTF8, "application/json");
            HttpResponseMessage response = null;

            try
            {
                response = await _client.PostAsync(v, sendContent);

                Console.WriteLine(response.StatusCode);
                if (response.IsSuccessStatusCode)
                {
                    string content = await response.Content.ReadAsStringAsync();

                    temp result = JsonConvert.DeserializeObject <temp>(content);

                    Console.WriteLine("ESITO: " + result);
                    if (result.n == 0)
                    {
                        esito = true;
                    }
                }
            }
            catch (HttpRequestException ex)
            {
                Console.WriteLine("ERRORE");
                Debug.WriteLine("\tERROR {1}", ex.Message);
            }
            return(esito);
        }
示例#2
0
        public static async void Salva(Credenziali c, Utente u)
        {
            bool esito = (bool)await CredenzialiRepository.Esiste(c, Constants.TutoripEndPoint + "/credenziali/checkEmail.php/");

            if (esito) //if non esiste
            {
                CredenzialiRepository.Save(c, Constants.TutoripEndPoint + "/credenziali/create.php/");
                Console.WriteLine(Preferences.Get("email", null));
                int id = 1;
                id = await CredenzialiRepository.getId(Preferences.Get("email", null), Constants.TutoripEndPoint + "/credenziali/getId.php/");

                Console.WriteLine("ID!!!!!!!!!!!: " + id);
                if (id != 0)
                {
                    Preferences.Set("id", id.ToString());
                    u.id = id;
                    UtentiRepository.SaveAsync(u, Constants.TutoripEndPoint + "/utente/create.php/");
                    Console.WriteLine("SUCCESSO!");
                }
            }
            else
            {
                int id = await CredenzialiRepository.getId(Preferences.Get("email", null), Constants.TutoripEndPoint + "/credenziali/getId.php/");

                Preferences.Set("id", id.ToString());
                //Console.WriteLine("Risultato: " + InsegnantiService.getInsegnante(int.Parse(Preferences.Get("id", (-1).ToString()))).ToString());
                if (await InsegnantiService.getInsegnante(int.Parse(Preferences.Get("id", (-1).ToString()))) != null)
                {
                    Preferences.Set("isInsegnante", true);
                }
            }
        }
        public static async void Save(Credenziali credenziali, String uri, bool isNewItem = true)
        {
            var json = JsonConvert.SerializeObject(credenziali);

            Console.WriteLine(json);
            var content = new StringContent(json, Encoding.UTF8, "application/json");
            HttpResponseMessage response = null;

            if (isNewItem)
            {
                try
                {
                    response = await _client.PostAsync(uri, content);
                }
                catch (HttpRequestException ex)
                {
                    Debug.WriteLine("\tERROR {1}", ex.Message);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("\tERROR {0}", ex.Message);
                }
            }
            if (response.IsSuccessStatusCode)
            {
                Debug.WriteLine(@"\tTodoItem successfully saved."); //Non utile
            }
        }
示例#4
0
        //invia la POST con i dati di registrazione e salva su db
        //[HttpPost]
        //public ActionResult Register(UserAccount account)
        //{
        //    account.Username = account.Nome + "." + account.Cognome;
        //    string esito = webClient.Register(account);
        //    if (esito == account.Username)
        //    {
        //    //if (ModelState.IsValid)
        //    //{
        //    //salvataggio dati su db MM$ da sostituire con call API WCF
        //    //using (OurDbContext db = new OurDbContext())
        //    //{

        //    //    db.UserAccount.Add(account);
        //    //    db.SaveChanges();
        //    //}



        //        ModelState.Clear(); //pulisce il contenuto di tutti gli input controls
        //        ViewBag.Message = account.Nome + " " + account.Cognome + "" + " registrato correttamente. Username: "******"Errore Nella registrazione dell'account. Controlla i campi";
        //    return View();
        //}

        //get metodo per visualizzare Login
        public ActionResult Login()
        {
            if (TempData["Message"] != null)                    //TempData["nome_dato"] per passare dati tra controller (redirect)
            {
                ViewData["Message"] = TempData["Message"];
            }
            if (Request.RequestType.Equals("POST"))
            {
                string username = Request.Form["username"];
                string password = Request.Form["password"];
                if (username != null && password != null)
                {
                    Credenziali account = webClient.Login(username, password);
                    {
                        if (account != null)
                        {
                            switch (account.Ruolo)
                            {
                            case ("cliente"): Session["Username"] = account.Username; return(RedirectToAction("../Cliente/HomeCliente"));

                            case ("istruttore"): Session["Username"] = account.Username; return(RedirectToAction("../Istruttore/HomeIstruttore"));

                            case ("amministratore"): Session["Username"] = account.Username; return(RedirectToAction("../Admin/HomeAmministratore"));
                            }
                        }
                        ModelState.AddModelError("", "Username o Password errati.");
                    }
                }
            }
            return(View());
        }
示例#5
0
        public Credenziali VerificaLogin(string username, string password)
        {
            Credenziali result = GetCredenzialiByUsername(username);

            if (result != null && result.Password.Equals(password))
            {
                return(result);
            }
            else
            {
                return(null);
            }
        }
        public async void OnAuthenticationCompleted(OAuthToken token)
        {
            var googleService = new GoogleService();
            var profile       = await googleService.GetProfileAsync(token.TokenType, token.AccessToken);

            var googleButton = FindViewById <Button>(Resource.Id.googleLoginButton);

            //googleButton.Text = $"Connesso con {profile.given_name}";
            Preferences.Set("tokenType", token.TokenType);
            Preferences.Set("accessToken", token.AccessToken);
            Preferences.Set("email", profile.email);
            Preferences.Set("nome", profile.given_name);
            Preferences.Set("cognome", profile.family_name);
            var credenziali = new Credenziali(profile.email, token);

            UtenteCredenzialiService.Salva(credenziali, new Utente(profile.given_name, profile.family_name));
        }
示例#7
0
        //ok
        public static void InsertCredenziali(Credenziali credenziali)
        {
            ISession session = OpenConnection();

            using (session.BeginTransaction())
            {
                try
                {
                    session.Save(credenziali);
                    session.Transaction.Commit();
                }
                catch (Exception e)
                {
                    Console.Write(e.Message);
                }
            }
        }
示例#8
0
        public string RegistraCliente(Cliente c, string pw)
        {
            string result = null;
            int    len    = c.Telefono.Length;

            c.Username = c.Nome.ToLower() + "." + c.Cognome.ToLower() + "." + c.Telefono[5] + c.Telefono[6] + c.Telefono[7] + c.Telefono[8];
            Credenziali cr = new Credenziali(c.Username, pw, "cliente");

            try
            {
                InsertCredenziali(cr);
                InsertCliente(c);
                result = c.Username;
            } catch (Exception e)
            {
                result = "Non è stato possibile effettuare la registrazione! Account già presente.";
            }
            return(result);
        }
示例#9
0
        public static void InsertCredenziali(Credenziali credenziali)
        {
            ISession session = OpenConnection();

            using (session.BeginTransaction())
            {
                try
                {
                    session.Save(credenziali);
                    session.Transaction.Commit();
                }
                catch (DuplicateMappingException e)
                {
                    throw e;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
        }
示例#10
0
        //ok
        public static string GetPasswordByUsername(string username)
        {
            string      password = null;
            Credenziali temp     = null;
            ISession    sess     = OpenConnection();

            using (sess.BeginTransaction())
            {
                ICriteria criteria = sess.CreateCriteria <Credenziali>();
                try
                {
                    temp     = criteria.Add(Expression.Like("Username", username)).List <Credenziali>()[0];
                    password = temp.Password;
                }
                catch (Exception e)
                {
                    Console.Write(e.Message);
                }
            }
            return(password);
        }
示例#11
0
        public async void OnSuccess(Java.Lang.Object result)
        {
            //Qui si deve implementare la logica per prendere i dati dal profilo dell'utente e poterli utilizzare nell'applicazione.
            LoginResult lr    = result as LoginResult;
            string      token = lr.AccessToken.Token;

            Console.WriteLine(token);
            FacebookService facebookService = new FacebookService();
            var             facebookProfile = await facebookService.GetEmailAsync(token);

            Preferences.Set("accessToken", token);
            Preferences.Set("email", facebookProfile.email);
            Preferences.Set("nome", facebookProfile.first_name);
            Preferences.Set("cognome", facebookProfile.last_name);
            var credenziali = new Credenziali(facebookProfile.email, new OAuthToken("Bearer", token));

            UtenteCredenzialiService.Salva(credenziali, new Utente(facebookProfile.first_name, facebookProfile.last_name));
            Toast.MakeText(this, "Success", ToastLength.Long).Show();
            var intent = new Intent(this, typeof(MainActivity));

            intent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop);
            StartActivity(intent);
        }
示例#12
0
        public static Credenziali GetCredenzialiByUsername(string username)
        {
            Credenziali temp = null;
            ISession    sess = OpenConnection();

            using (sess.BeginTransaction())
            {
                ICriteria criteria = sess.CreateCriteria <Credenziali>();
                try
                {
                    List <Credenziali> l = (List <Credenziali>)criteria.Add(Expression.Like("Username", username)).List <Credenziali>();
                    if (l.Count != 0)
                    {
                        temp = l[0];
                    }
                }
                catch (Exception e)
                {
                    Console.Write(e.Message);
                }
            }
            return(temp);
        }
示例#13
0
        public Credenziali Login(string username, string password)
        {
            Credenziali cr = lc.VerificaLogin(username, password);

            return(cr);
        }
示例#14
0
 public static async void Esiste(Credenziali c)
 {
     await CredenzialiRepository.Esiste(c, Constants.TutoripEndPoint + "/credenziali/checkEmail.php/");
 }