Example #1
0
        public async Task <ErrorsList> CriarConta(CriarContaPostModel conta)
        {
            try
            {
                var content = JsonConvert.SerializeObject(conta);

                var response = await _client.PostAsync(URL_criar, new StringContent(content, Encoding.UTF8, "application/json"));

                if (response.IsSuccessStatusCode)
                {
                    return(new ErrorsList());
                }
                if (response.StatusCode == System.Net.HttpStatusCode.InternalServerError)
                {
                    var erros = new ErrorsList();
                    erros.Erros.Add(21);      // Adiciona erro 21 Erro do lado do servidor
                    return(erros);
                }
                else
                {
                    var erros = JsonConvert.DeserializeObject <ErrorsList>(response.Content.ReadAsStringAsync().Result);

                    if (!erros.Erros.Any())
                    {
                        erros.Erros.Add(20); // Adiciona erro 20 Campos de Preenchimento Obrigatorio
                    }

                    return(erros);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                throw ex;
            }
        }
        public SignUpViewModel()
        {
            API   = new ClienteAPIService();
            Conta = new CriarContaPostModel();
            Erros = new List <string>();

            MessagingCenter.Subscribe <SignUpPage>(this, "SignUpRegisterClicked", async(page) =>
            {
                var erros = await API.CriarConta(Conta);
                List <string> errosStr = new List <string>();

                if (!erros.Erros.Any())
                {
                    var viewModel          = new InsertCodeViewModel();
                    viewModel.ValidarConta = new ValidarContaPostModel {
                        Email = Conta.Email
                    };
                    var validarConta = new ValidarContaPostModel {
                        Email = Conta.Email
                    };
                    await page.Navigation.PushModalAsync(new InsertCodePage(new InsertCodeViewModel {
                        ValidarConta = validarConta
                    }));
                }

                else
                {
                    foreach (int erro in erros.Erros)
                    {
                        errosStr.Add(ErrorMessages._messages[erro]);
                    }
                }
                Erros = errosStr;
                //page.ErrorsList.ItemsSource = Erros;
            });
        }