Example #1
0
        private async void Registration(object sender, EventArgs e)
        {
            if (NumberPlaceholder.Text != null && ValidService.numberCheck.IsMatch(NumberPlaceholder.Text))
            {
                if (PasswordPlaceholder.Text != null && ValidService.passwordCheck.IsMatch(PasswordPlaceholder.Text))
                {
                    if (PasswordCPlaceholder.Text != null && PasswordPlaceholder.Text == PasswordCPlaceholder.Text)
                    {
                        if (NamePlaceholder.Text != null && ValidService.nameCheck.IsMatch(NamePlaceholder.Text))
                        {
                            var answer = UserService.Registration(
                                ValidService.ClearPhone(NumberPlaceholder.Text),
                                PasswordPlaceholder.Text,
                                PasswordCPlaceholder.Text,
                                NamePlaceholder.Text);
                            switch (answer.Status)
                            {
                            case System.Net.HttpStatusCode.OK:
                                await Navigation.PopModalAsync();

                                break;

                            case System.Net.HttpStatusCode.InternalServerError:
                                await DisplayAlert("Ошибка регистрации", "Данный номер уже занят", "ОК");

                                break;

                            default:
                                await DisplayAlert("Ошибка регистрации", $"{answer.Status}", "ОК");

                                break;
                            }
                        }
                        else
                        {
                            await DisplayAlert("Ошибка", $"Некорректный ввод имени", "ОK");
                        }
                    }
                    else
                    {
                        await DisplayAlert("Ошибка", $"Пароли должны совпадать", "ОK");
                    }
                }
                else
                {
                    await DisplayAlert("Ошибка", $"Пароль должен содержать шесть символов", "ОK");
                }
            }
            else
            {
                await DisplayAlert("Ошибка", $"Некорректный ввод номера", "ОK");
            }
        }
Example #2
0
        private async void AddNewClient_Clicked(object sender, EventArgs e)
        {
            if (PhonePlaceholder.Text != null && ValidService.numberCheck.IsMatch(PhonePlaceholder.Text))
            {
                if (NamePlaceholder.Text != null && ValidService.nameCheck.IsMatch(NamePlaceholder.Text))
                {
                    var client = ClientService.NewClient(NamePlaceholder.Text, ValidService.ClearPhone(PhonePlaceholder.Text), "{car:auto}", UserData.Token);
                    switch (client.Status)
                    {
                    case System.Net.HttpStatusCode.OK:
                        DBService.AddOrRewriteClient(client.Client);
                        await Navigation.PopModalAsync();

                        break;

                    case System.Net.HttpStatusCode.Created:
                        DBService.AddOrRewriteClient(client.Client);
                        await Navigation.PopModalAsync();

                        break;

                    default:
                        await DisplayAlert("Ошибка авторизации", $"{client.Status}", "ОK");

                        break;
                    }
                }
                else
                {
                    await DisplayAlert("Ошибка", $"Некорректный ввод имени", "ОK");
                }
            }
            else
            {
                await DisplayAlert("Ошибка", $"Некорректный ввод номера", "ОK");
            }
        }
Example #3
0
        public void AuthorizationClicked(object sender, EventArgs e)
        {
            if (NumberPlaceholder.Text != null && ValidService.numberCheck.IsMatch(NumberPlaceholder.Text))
            {
                if (PasswordPlaceholder.Text != null && ValidService.passwordCheck.IsMatch(PasswordPlaceholder.Text))
                {
                    var answer = UserService.Authorization(ValidService.ClearPhone(NumberPlaceholder.Text), PasswordPlaceholder.Text);
                    switch (answer.Status)
                    {
                    case System.Net.HttpStatusCode.OK:
                        UserData.Token = answer.Token;
                        var currentUserAnswer = UserService.GetCurrentUser(UserData.Token);
                        if (currentUserAnswer.Status == HttpStatusCode.OK)
                        {
                            System.Diagnostics.Debug.WriteLine("@AUTH auth is suc");
                            UserData.NewUserData(currentUserAnswer.User);

                            System.Diagnostics.Debug.WriteLine("@AUTH threading start");
                            var orders  = new List <Order>();
                            var clients = new List <Client>();
                            var workers = new List <Worker>();
                            System.Diagnostics.Debug.WriteLine("@AUTH ordersTask is start");
                            var orderTask = Task.Factory.StartNew(() =>
                            {
                                orders = OrderService.GetOrders(UserData.Token).Orders;
                            });
                            var workerTask = Task.Factory.StartNew(() =>
                            {
                                workers = WorkerService.GetWorkers(UserData.Token).Workers;
                            });
                            var clientsTask = Task.Factory.StartNew(() =>
                            {
                                clients = ClientService.GetClients(UserData.Token).Clients;
                            });
                            Task.WaitAll(orderTask, workerTask, clientsTask);
                            orders = OrderService.GetOrders(UserData.Token).Orders;
                            DBService.DBFilling(orders, workers, clients);
                            ClearFields();
                            Navigation.PushModalAsync(new TabbedNavigation(clients, workers));
                        }
                        else
                        {
                            DisplayAlert("Ошибка получения данных", $"{currentUserAnswer.Status}", "ОK");
                        }
                        break;

                    case System.Net.HttpStatusCode.NotFound:
                        DisplayAlert("Ошибка авторизации", $"Неверный номер или пароль", "ОK");
                        break;

                    default:
                        DisplayAlert("Ошибка авторизации", $"{answer.Status}", "ОK");
                        break;
                    }
                }
                else
                {
                    DisplayAlert("Ошибка", $"Пароль должен содержать шесть символов", "ОK");
                }
            }
            else
            {
                DisplayAlert("Ошибка", $"Некорректный ввод номера", "ОK");
            }
        }
        private async void AddNewClient_Clicked(object sender, EventArgs e)
        {
            if (PhonePlaceholder.Text != null && ValidService.simpleNumberCheck.IsMatch(PhonePlaceholder.Text))
            {
                if (NamePlaceholder.Text != null && ValidService.nameCheck.IsMatch(NamePlaceholder.Text))
                {
                    (HttpStatusCode Status, Client Client)client = (HttpStatusCode.NotFound, null);
                    if (Client == null)
                    {
                        client = ClientService.NewClient(NamePlaceholder.Text, ValidService.ClearPhone(PhonePlaceholder.Text), "{car:auto}", UserData.Token);
                    }
                    else
                    {
                        client   = ClientService.ChangeClientData(Client.Id, UserData.Token, NamePlaceholder.Text, PhonePlaceholder.Text, Client.CarInformation);
                        isUpdate = true;
                    }
                    switch (client.Status)
                    {
                    case System.Net.HttpStatusCode.OK:
                        if (parentPage != null)
                        {
                            parentPage.CurrentClient = client.Client;
                        }
                        // Передает клиента в форму регистрации заказа.
                        if (сlientsPage != null && isUpdate)
                        {
                            var updatedClient1 = сlientsPage.Clients.FirstOrDefault(c => c.Id == client.Client.Id);
                            updatedClient1.Name  = client.Client.Name;
                            updatedClient1.Phone = client.Client.Phone;

                            var updatedClient2 = UserData.Clients.FirstOrDefault(c => c.Id == client.Client.Id);
                            updatedClient2.Name  = client.Client.Name;
                            updatedClient2.Phone = client.Client.Phone;
                        }
                        else
                        {
                            if (сlientsPage != null)
                            {
                                сlientsPage.Clients.Add(client.Client);
                            }
                            UserData.Clients.Add(client.Client);
                        }
                        DBService.AddOrRewriteClient(client.Client);
                        await Navigation.PopModalAsync();

                        if (searchOrCreatePage != null)
                        {
                            searchOrCreatePage.ClosePage();
                        }
                        // Закрывает страницу поиска клиентов.
                        break;

                    case System.Net.HttpStatusCode.Created:
                        if (parentPage != null)
                        {
                            parentPage.CurrentClient = client.Client;
                        }
                        // Передает клиента в форму регистрации заказа.
                        if (сlientsPage != null && isUpdate)
                        {
                            var updatedClient1 = сlientsPage.Clients.FirstOrDefault(c => c.Id == client.Client.Id);
                            updatedClient1.Name  = client.Client.Name;
                            updatedClient1.Phone = client.Client.Phone;

                            var updatedClient2 = UserData.Clients.FirstOrDefault(c => c.Id == client.Client.Id);
                            updatedClient2.Name  = client.Client.Name;
                            updatedClient2.Phone = client.Client.Phone;
                        }
                        else
                        {
                            UserData.Clients.Add(client.Client);
                        }
                        DBService.AddOrRewriteClient(client.Client);
                        await Navigation.PopModalAsync();

                        if (searchOrCreatePage != null)
                        {
                            searchOrCreatePage.ClosePage();
                        }
                        // Закрывает страницу поиска клиентов.
                        break;

                    default:
                        await DisplayAlert("Ошибка авторизации", $"{client.Status}", "ОK");

                        break;
                    }
                }
                else
                {
                    await DisplayAlert("Ошибка", $"Некорректный ввод имени", "ОK");
                }
            }
            else
            {
                await DisplayAlert("Ошибка", $"Некорректный ввод номера, номер должен начинаться с +7", "ОK");
            }
        }