Beispiel #1
0
        public async Task <Iscritto> GetIscrittoAsync(bool ForceRefresh = false)
        {
            try
            {
                if (ForceRefresh)
                {
                    if (!string.IsNullOrEmpty(loginToken))
                    {
                        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", loginToken);
                        var response        = client.GetAsync(@"/api/Iscritti/0").Result;
                        var output_response = await response.Content.ReadAsStringAsync();

                        if (!string.IsNullOrEmpty(output_response))
                        {
                            iscritto = JsonConvert.DeserializeObject <Iscritto>(output_response);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e.InnerException);
            }
            return(iscritto);
        }
        public string CercaUtente(string username)
        {
            string result = null;

            try
            {
                if (username == null)
                {
                    throw new ArgumentException("Username nullo");
                }
                Iscritto iscritto = null;
                ISession sessione = GetConnection();
                sessione.BeginTransaction();
                ICriteria criteria = sessione.CreateCriteria <Iscritto>();
                iscritto = (Iscritto)criteria.Add(Expression.Like("Username", username)).UniqueResult();
                sessione.Transaction.Commit();
                sessione.Transaction.Dispose();
                if (iscritto != null)
                {
                    result = iscritto.Username;
                }
            }
            catch (Exception e)
            {
                throw new FaultException <BookFault>(new BookFault(e.Message));
            }

            return(result);
        }
        public ItemViewModel(HealtCareItemRepository repository)
        {
            this.repository = repository;
            Title           = "Richiesta Rimborso";
            Iscritto IscrittoAssociazione = DataStore.GetIscrittoAsync().Result;
            IEnumerable <Prestazione> ListaPrestazioni = DataStore.GetPrestazioniAsync().Result;
            List <Prestazione>        List             = new List <Prestazione>();

            foreach (Prestazione p in ListaPrestazioni)
            {
                List.Add(p);
            }
            Prestazioni = List;
            RaisePropertyChanged(nameof(Prestazioni));

            Item = new HealtCareItem()
            {
                Richiedente = IscrittoAssociazione.Id, DataFattura = DateTime.Now, DataRichiesta = DateTime.Now, Conferma = false, Trasmessa = false
            };

            MessagingCenter.Subscribe <ItemView, int>(this, "TipologiaPrestazioneSelezionata", (obj, IdTipologia) =>
            {
                Item.Tipologia = IdTipologia;
                if (Item.ImportoFattura > 0)
                {
                    Item.ImportoACarico = Item.ImportoFattura - Item.ImportoRimborsatoDaTerzi;
                    foreach (Prestazione p in Prestazioni)
                    {
                        if (p.Id.Equals(Item.Tipologia))
                        {
                            Item.ImportoDaRimborsare = (Item.ImportoACarico * p.PercentualeRimborso) / 100;
                            break;
                        }
                    }
                }
                RaisePropertyChanged(nameof(Item));
            });

            MessagingCenter.Subscribe <ItemView, bool>(this, "ChangeConfermata", (obj, Toggled) =>
            {
                if (Toggled)
                {
                    Item.DataConferma = DateTime.Now;
                }
                else
                {
                    Item.DataConferma = DateTime.MinValue;
                }
            });
        }
        public void RegistraDati(string username, string password, string email)
        {
            if (String.IsNullOrEmpty(username))
            {
                throw new ArgumentException("Username nullo");
            }
            if (String.IsNullOrEmpty(password))
            {
                throw new ArgumentException("Password nulla");
            }
            if (String.IsNullOrEmpty(email))
            {
                throw new ArgumentException("Email nulla");
            }

            if (username.Length < 3)
            {
                throw new ArgumentException("Lunghezza minima username: 3 caratteri");
            }
            if (password.Length < 10)
            {
                throw new ArgumentException("Lunghezza minima password: 10 caratteri");
            }

            try
            {
                ISession sessione = GetConnection();
                sessione.BeginTransaction();
                Iscritto iscritto = new Iscritto
                {
                    Username = username,
                    Email    = email,
                    Password = password,
                    Ruolo    = "utente"
                };
                sessione.Save(iscritto);
                RecensioniPreferite recensioniPreferite = new RecensioniPreferite(username);
                sessione.Save(recensioniPreferite);
                ListePreferite listePreferite = new ListePreferite(username);
                sessione.Save(listePreferite);
                sessione.Transaction.Commit();
                sessione.Transaction.Dispose();
                PrintAccesso("login", username);
            }
            catch (Exception e)
            {
                throw new ArgumentException("Credenziali non valide: " + e.ToString());
            }
        }