protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_registerbox);


            box_name        = FindViewById <EditText>(Resource.Id.box_name);
            btn_registerbox = FindViewById <Button>(Resource.Id.btn_registerbox);
            preloader       = FindViewById <ProgressBar>(Resource.Id.preloader);
            btn_back_a      = FindViewById <ImageButton>(Resource.Id.btn_back_a);

            btn_back_a.Click += (s, e) =>
            {
                Finish();
            };

            string dir_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            string file_data_remember;


            btn_registerbox.Click += async delegate
            {
                try
                {
                    preloader.Visibility = Android.Views.ViewStates.Visible;

                    RegisterBoxModel register = new RegisterBoxModel
                    {
                        Name = box_name.Text,
                    };
                    var myHttpClient = new HttpClient();

                    var uri = new Uri("http://iot-tmc-cen.1gb.ru/api/container/create?name=" + register.Name);

                    //GetAsync
                    HttpResponseMessage response = await myHttpClient.PostAsync(uri.ToString(), new StringContent(JsonConvert.SerializeObject(register.Name), Encoding.UTF8, "application/json"));

                    string s_result;
                    using (HttpContent responseContent = response.Content)
                    {
                        s_result = await responseContent.ReadAsStringAsync();
                    }
                    AuthApiData <ContainerResponse> o_data = new AuthApiData <ContainerResponse>();
                    o_data = JsonConvert.DeserializeObject <AuthApiData <ContainerResponse> >(s_result);
                    //AuthApiData <ListResponse< ContainerResponse >> o_data
                    if (response.StatusCode == HttpStatusCode.OK)
                    {
                        if (o_data.Status == "0")
                        {
                            Toast.MakeText(this, o_data.Message, ToastLength.Long).Show();

                            //ListReponse<T>
                            ContainerResponse o_box_data = new ContainerResponse();
                            o_box_data = o_data.ResponseData;

                            StaticBox.AddInfoAuth(o_box_data);


                            //using (FileStream file = new FileStream(dir_path + "box_data.txt", FileMode.OpenOrCreate))
                            //{
                            //    // преобразуем строку в байты
                            //    byte[] array = Encoding.Default.GetBytes("0" + JsonConvert.SerializeObject(o_box_data));
                            //    // запись массива байтов в файл
                            //    file.Write(array, 0, array.Length);
                            //}
                            //using (FileStream fs = new FileStream(dir_path + "box_data.txt", FileMode.OpenOrCreate))
                            //{
                            //    await System.Text.Json.JsonSerializer.SerializeAsync<ContainerResponse>(fs,o_box_data);
                            //}

                            using (FileStream file = new FileStream(dir_path + "box_data.txt", FileMode.OpenOrCreate, FileAccess.Write))
                            {
                                // преобразуем строку в байты
                                byte[] array = Encoding.Default.GetBytes(JsonConvert.SerializeObject(o_box_data));
                                // запись массива байтов в файл
                                file.Write(array, 0, array.Length);
                            }
                            //using (FileStream fs = new FileStream(dir_path + "box_data.txt", FileMode.OpenOrCreate))
                            //{
                            //    ContainerResponse container = await System.Text.Json.JsonSerializer.DeserializeAsync<ContainerResponse>(fs);
                            //    var name = container.Name;
                            //}

                            preloader.Visibility = Android.Views.ViewStates.Invisible;

                            // Переход на страницу водителя.
                            Intent Driver = new Intent(this, typeof(Auth.DriverActivity));
                            Driver.PutExtra("idAction", "2");
                            StartActivity(Driver);
                        }
                        else
                        {
                            Toast.MakeText(this, o_data.Message, ToastLength.Long).Show();
                        }
                    }
                    ClearField();
                }
                catch (Exception ex)
                {
                    Toast.MakeText(this, "" + ex.Message, ToastLength.Long).Show();
                }
            };

            /// <summary>
            /// Метод очистки полей.
            /// </summary>
            void ClearField()
            {
                box_name.Text = "";
            }
        }
Example #2
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            var options = new JsonSerializerOptions
            {
                WriteIndented = true
            };

            //Class which encapsulate webservices.

            /* var _autoCompleteService = new AutoCompleteService();
             *
             * _searchView = v.FindViewById<AutoCompleteTextView>(Resource.Id.SearchBox);
             *
             * _searchView.TextChanged += async (sender, e) =>
             * {
             *   try
             *   {
             *       //async call which fetch suggestin from webservices.
             *       var results = await _autoCompleteService.SearchSuggestionAsync(_searchView.Text);
             *       var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, results.ToList());
             *       _searchView.Adapter = adapter;
             *   }
             *   catch
             *   {
             *   }
             * };
             *
             * _searchView.AfterTextChanged += (sender, e) =>
             * {
             *   if (!_searchView.IsPopupShowing && _searchView.Text.Length > 0)
             *   {
             *       _searchView.ShowDropDown();
             *   }
             * };
             *
             * SetContentView(Resource.Layout.Main);
             * ////////*/

            //setting the view for the Activity
            ////////
            SetContentView(Resource.Layout.activity_container_selection);
            //Get autoComplete1 AutoCompleteTextView and btn_Hello Button control from the Main.xaml Layout.

            box_name1       = FindViewById <AutoCompleteTextView>(Resource.Id.box_name1);
            box_selection   = FindViewById <Button>(Resource.Id.box_selection);
            btn_box_registr = FindViewById <Button>(Resource.Id.btn_box_registr);
            btn_back_a      = FindViewById <ImageButton>(Resource.Id.btn_back_a);
            preloader       = FindViewById <ProgressBar>(Resource.Id.preloader);

            string dir_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            //string file_data_remember;
            //using (FileStream file = new FileStream(dir_path + "user_data.txt", FileMode.Open, FileAccess.Read))
            //{
            //        // преобразуем строку в байты
            //        byte[] array = new byte[file.Length];
            //        // считываем данные
            //        file.Read(array, 0, array.Length);
            //        // декодируем байты в строку
            //        file_data_remember = Encoding.Default.GetString(array);
            //        file.Close();
            // }

            var role = StaticUser.UserRole;

            //AuthResponseData user = JsonConvert.DeserializeObject<AuthResponseData>(file_data_remember);

            //if (role == "user")
            //{
            //    btn_box_registr.Visibility = ViewStates.Invisible;
            //}
            //else if(role == "driver")
            //{
            //    btn_box_registr.Visibility = ViewStates.Visible;
            //}

            //string array used for displayling AutoComplete Suggestion

            /*var names = new string[] { "Anoop", "Arjit", "Akshay", "Ankit", "Rakesh" };
             * //Use ArrayAdapter for filling the View in other words AutoCompleteTextView with the list of names(Array).
             * //Use SimpleSpinnerItem(Predefined layout in Android Resources) for displaying the dropdown list
             * ArrayAdapter adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerItem, names);
             * box_name1.Adapter = adapter;*/

            ///////////

            /*SetContentView(Resource.Layout.activity_container_selection);
             *
             * box_name1 = FindViewById<AutoCompleteTextView>(Resource.Id.box_name1);
             * box_selection = FindViewById<Button>(Resource.Id.box_selection);
             * btn_back_a = FindViewById<ImageButton>(Resource.Id.btn_back_a);
             * preloader = FindViewById<ProgressBar>(Resource.Id.preloader);
             *
             * btn_back_a.Click += (s, e) =>
             * {
             *  Finish();
             * };*/
            box_name1.TextChanged += async(sender, e) =>
            {
                try
                {
                    //async call which fetch suggestin from webservices.
                    RegisterBoxModel register = new RegisterBoxModel
                    {
                        Name = box_name1.Text,
                    };

                    var myHttpClient = new HttpClient();

                    var uri = new Uri("http://iot.tmc-centert.ru/api/container/getboxesbyname?name=" + box_name1.Text);


                    HttpResponseMessage response = await myHttpClient.GetAsync(uri);

                    AuthApiData <ListResponse <ContainerResponse> > o_data = new AuthApiData <ListResponse <ContainerResponse> >();

                    string s_result;
                    using (HttpContent responseContent = response.Content)
                    {
                        s_result = await responseContent.ReadAsStringAsync();
                    }

                    o_data.ResponseData = new ListResponse <ContainerResponse>();
                    o_data = JsonConvert.DeserializeObject <AuthApiData <ListResponse <ContainerResponse> > >(s_result);
                    ListResponse <ContainerResponse> o_boxes_data = new ListResponse <ContainerResponse>();
                    o_boxes_data.Objects = o_data.ResponseData.Objects;

                    //StaticBox.AddInfoObjects(o_boxes_data);
                    //StaticBox.AddInfoObjects(o_boxes_data);
                    //запись в file


                    //using (FileStream fs = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                    //{
                    //    await System.Text.Json.JsonSerializer.SerializeAsync<ListResponse<ContainerResponse>>(fs, o_boxes_data, options);
                    //}
                    //чтение данных с файла
                    //using (FileStream fs = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                    //{
                    //    ListResponse<ContainerResponse> containers = await System.Text.Json.JsonSerializer.DeserializeAsync<ListResponse<ContainerResponse>>(fs);

                    //    var name = containers.Objects[0].Name;
                    //}

                    var boxes = o_data.ResponseData.Objects.Select(b => new BoxNames
                    {
                        Name = b.Name
                    }).ToList();

                    int      count  = boxes.Count();
                    string[] names1 = new string[count];

                    var name4 = box_selection.Text;

                    for (int i = 0; i < boxes.Count(); i++)
                    {
                        names1[i] = boxes[i].Name;
                    }

                    ArrayAdapter adapter1 = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, names1);
                    box_name1.Adapter = adapter1;
                }
                catch
                {
                }
            };

            //box_name1.AfterTextChanged += (sender, e) =>
            //{
            //    if (!box_name1.IsPopupShowing && box_name1.Text.Length > 0)
            //    {

            //        box_name1.ShowDropDown();
            //    }
            //};

            //SetContentView(Resource.Layout.activity_container_selection);

            box_selection.Click += async delegate
            {
                preloader.Visibility = Android.Views.ViewStates.Visible;
                box_selection.Click += btn_Submit_Click;

                /*
                 * XmlSerializer serializer = new XmlSerializer(typeof(ListResponse<ContainerResponse>));
                 * //Сериализация
                 * using (FileStream fs = new FileStream(dir_path + "box_list.xml", FileMode.OpenOrCreate))
                 *  serializer.Serialize(fs,);
                 * /*
                 * ListResponse<ContainerResponse> boxess = new ListResponse<ContainerResponse>();
                 * using (FileStream fs = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                 * {
                 * await System.Text.Json.JsonSerializer.DeserializeAsync<ListResponse<ContainerResponse>>(fs);
                 * }
                 */
                /*
                 *
                 */



                //ListResponse<ContainerResponse> boxess = new ListResponse<ContainerResponse>();
                //var Res = ContainerSelection.DeserializeListResponse(dir_path + "box_list.txt");
                //if (Res!=null)
                //{
                //    boxess = Res;
                //}

                ContainerResponse box = new ContainerResponse();
                ListResponse <ContainerResponse> boxes = new ListResponse <ContainerResponse>();
                foreach (var box1 in StaticBox.Objects)
                {
                    boxes.Objects.Add(box1);
                }
                box = boxes.Objects.Where(f => f.Name == box_name1.Text).FirstOrDefault();

                //using (FileStream fs = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                //{
                //    Objects = (ListResponse<ContainerResponse>)await System.Text.Json.JsonSerializer.DeserializeAsync<ListResponse<ContainerResponse>>(fs);
                //    box = Objects.Objects.Where(f => f.Name == box_name1.Text).FirstOrDefault();
                //}

                //using (FileStream fs = new FileStream(dir_path + "box_data.txt", FileMode.OpenOrCreate))
                //{
                //    await System.Text.Json.JsonSerializer.SerializeAsync<ContainerResponse>(fs, box);
                //}

                using (FileStream file = new FileStream(dir_path + "box_data.txt", FileMode.OpenOrCreate, FileAccess.Write))
                {
                    // преобразуем строку в байты
                    byte[] array = Encoding.Default.GetBytes(JsonConvert.SerializeObject(box));
                    // запись массива байтов в файл
                    file.Write(array, 0, array.Length);
                }


                //using (FileStream ddd = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                //{

                //    await System.Text.Json.JsonSerializer.SerializeAsync<ContainerResponse>(ddd, box);

                //}
                //if (role == "driver")
                //{

                //}
                //else
                //{
                //    Intent UserBox = new Intent(this, typeof(Auth.ActivityUserBox));
                //    UserBox.PutExtra("idMethod", "2");// через объект идёт обращение к .
                //    StartActivity(UserBox);
                //}
                Intent Driver = new Intent(this, typeof(Auth.SensorParameters));
                Driver.PutExtra("idAction", "2");// через объект идёт обращение к .
                StartActivity(Driver);

                //var box_name = box_name1.Text;
                //var uri = "http://iot.tmc-centert.ru/api/container/getbox?id=" + id;
                //этот запрос делать в драйаавер активити
            };

            btn_box_registr.Click += async delegate
            {
                Intent ContainerRegisterActivity = new Intent(this, typeof(Auth.RegisterBoxActivity));
                StartActivity(ContainerRegisterActivity);
                this.Finish();
            };

            btn_back_a.Click += async delegate
            {
                Intent Driver = new Intent(this, typeof(Auth.SensorParameters));
                Driver.PutExtra("idAction", "2");// через объект идёт обращение к .
                StartActivity(Driver);
            };
        }
Example #3
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            //Class which encapsulate webservices.

            /* var _autoCompleteService = new AutoCompleteService();
             *
             * _searchView = v.FindViewById<AutoCompleteTextView>(Resource.Id.SearchBox);
             *
             * _searchView.TextChanged += async (sender, e) =>
             * {
             *   try
             *   {
             *       //async call which fetch suggestin from webservices.
             *       var results = await _autoCompleteService.SearchSuggestionAsync(_searchView.Text);
             *       var adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleListItem1, results.ToList());
             *       _searchView.Adapter = adapter;
             *   }
             *   catch
             *   {
             *   }
             * };
             *
             * _searchView.AfterTextChanged += (sender, e) =>
             * {
             *   if (!_searchView.IsPopupShowing && _searchView.Text.Length > 0)
             *   {
             *       _searchView.ShowDropDown();
             *   }
             * };
             *
             * SetContentView(Resource.Layout.Main);
             * ////////*/

            //setting the view for the Activity
            ////////
            SetContentView(Resource.Layout.activity_container_selection);
            //Get autoComplete1 AutoCompleteTextView and btn_Hello Button control from the Main.xaml Layout.

            box_name1       = FindViewById <AutoCompleteTextView>(Resource.Id.box_name1);
            box_selection   = FindViewById <Button>(Resource.Id.box_selection);
            btn_box_registr = FindViewById <Button>(Resource.Id.btn_box_registr);
            btn_back_a      = FindViewById <ImageButton>(Resource.Id.btn_back_a);
            preloader       = FindViewById <ProgressBar>(Resource.Id.preloader);

            string dir_path = "/storage/emulated/0/Android/data/GeoGeometry.GeoGeometry/files/";

            //string array used for displayling AutoComplete Suggestion

            /*var names = new string[] { "Anoop", "Arjit", "Akshay", "Ankit", "Rakesh" };
             * //Use ArrayAdapter for filling the View in other words AutoCompleteTextView with the list of names(Array).
             * //Use SimpleSpinnerItem(Predefined layout in Android Resources) for displaying the dropdown list
             * ArrayAdapter adapter = new ArrayAdapter<string>(this, Android.Resource.Layout.SimpleSpinnerItem, names);
             * box_name1.Adapter = adapter;*/


            ///////////

            /*SetContentView(Resource.Layout.activity_container_selection);
             *
             * box_name1 = FindViewById<AutoCompleteTextView>(Resource.Id.box_name1);
             * box_selection = FindViewById<Button>(Resource.Id.box_selection);
             * btn_back_a = FindViewById<ImageButton>(Resource.Id.btn_back_a);
             * preloader = FindViewById<ProgressBar>(Resource.Id.preloader);
             *
             * btn_back_a.Click += (s, e) =>
             * {
             *  Finish();
             * };*/
            box_name1.TextChanged += async(sender, e) =>
            {
                try
                {
                    //async call which fetch suggestin from webservices.
                    RegisterBoxModel register = new RegisterBoxModel
                    {
                        Name = box_name1.Text,
                    };

                    var myHttpClient = new HttpClient();

                    var uri = ("http://iot.tmc-centert.ru/api/container/getboxesbyname?name=" + box_name1.Text);


                    HttpResponseMessage response = await myHttpClient.GetAsync(uri);

                    AuthApiData <ListResponse <ContainerResponse> > o_data = new AuthApiData <ListResponse <ContainerResponse> >();

                    string s_result;
                    using (HttpContent responseContent = response.Content)
                    {
                        s_result = await responseContent.ReadAsStringAsync();
                    }

                    o_data = JsonConvert.DeserializeObject <AuthApiData <ListResponse <ContainerResponse> > >(s_result);
                    var o_boxes_data = o_data.ResponseData;
                    StaticBox.AddInfoObjects(o_boxes_data);

                    //запись в файл
                    using (FileStream fs = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                    {
                        await System.Text.Json.JsonSerializer.SerializeAsync <ListResponse <ContainerResponse> >(fs, o_boxes_data);
                    }
                    //чтение данных с файла
                    using (FileStream fs = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                    {
                        ListResponse <ContainerResponse> containers = await System.Text.Json.JsonSerializer.DeserializeAsync <ListResponse <ContainerResponse> >(fs);

                        var name = containers.Objects[0].Name;
                    }

                    var boxes = o_data.ResponseData.Objects.Select(b => new BoxNames
                    {
                        Name = b.Name
                    }).ToList();

                    int      count  = boxes.Count();
                    string[] names1 = new string[count];

                    for (int i = 0; i < boxes.Count(); i++)
                    {
                        names1[i] = boxes[i].Name;
                    }

                    ArrayAdapter adapter1 = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, names1);
                    box_name1.Adapter = adapter1;
                }
                catch
                {
                }
            };

            //box_name1.AfterTextChanged += (sender, e) =>
            //{
            //    if (!box_name1.IsPopupShowing && box_name1.Text.Length > 0)
            //    {

            //        box_name1.ShowDropDown();
            //    }
            //};

            //SetContentView(Resource.Layout.activity_container_selection);

            box_selection.Click += async delegate
            {
                preloader.Visibility = Android.Views.ViewStates.Visible;
                box_selection.Click += btn_Submit_Click;

                /*
                 * XmlSerializer serializer = new XmlSerializer(typeof(ListResponse<ContainerResponse>));
                 * //Сериализация
                 * using (FileStream fs = new FileStream(dir_path + "box_list.xml", FileMode.OpenOrCreate))
                 *  serializer.Serialize(fs,);
                 * /*
                 * ListResponse<ContainerResponse> boxess = new ListResponse<ContainerResponse>();
                 * using (FileStream fs = new FileStream(dir_path + "box_list.txt", FileMode.OpenOrCreate))
                 * {
                 * await System.Text.Json.JsonSerializer.DeserializeAsync<ListResponse<ContainerResponse>>(fs);
                 * }
                 */
                /*
                 *
                 */



                ListResponse <ContainerResponse> boxess = new ListResponse <ContainerResponse>();
                var Res = ContainerSelection.DeserializeListResponse(dir_path + "box_list.txt");
                if (Res != null)
                {
                    boxess = Res;
                }

                var name = box_selection.Text;
                var uri  = "http://iot.tmc-centert.ru/api/container/getbox?id=" + box_selection.Id;
            };

            btn_box_registr.Click += async delegate
            {
                Intent ContainerRegisterActivity = new Intent(this, typeof(Auth.RegisterBoxActivity));
                StartActivity(ContainerRegisterActivity);
                this.Finish();
            };
        }