Example #1
0
        private void ExamNameTV_Click(object sender, ExamAdapterClickEventArgs e)
        {
            ExamModel examname_clicked = this.ExamList[e.Position];
            string    examname         = examname_clicked.get_exam_name();
            Dialog    nameDialog       = new Dialog(this);

            nameDialog.SetContentView(Resource.Id.dialog_name_update);
            EditText editText = (EditText)nameDialog.FindViewById(Resource.Id.dialog_name_editText);

            editText.Text = examname;
            /* Non riconosce piĆ¹ android.support.design e quindi ho messo il design che sta in google.design*/
            TextInputLayout textInputLayout = (TextInputLayout)nameDialog.FindViewById(Resource.Id.dialog_name_input_layout);

            Android.Widget.Button okButton = (Android.Widget.Button)nameDialog.FindViewById(Resource.Id.name_ok);
            okButton.Click += async delegate
            {
                string examNameNew = editText.Text.ToUpper();
                if (examNameNew.Trim().Equals(""))
                {
                    textInputLayout.SetErrorTextAppearance(Resource.String.empty_name_field);
                    textInputLayout.RequestFocus();
                }
                else if (examNameNew.Length > 15)
                {
                    textInputLayout.SetErrorTextAppearance(Resource.String.overflow_name_field);
                    textInputLayout.RequestFocus();
                }
                else if (IsSameName(examNameNew))
                {
                    textInputLayout.SetErrorTextAppearance(Resource.String.used_name);
                    textInputLayout.RequestFocus();
                }
                else
                { /*
                   *     Google.Cloud.Firestore.CollectionReference exams = database.Collection("exams");
                   *    Google.Cloud.Firestore.DocumentReference examDoc = exams.Document(examname);
                   *    Google.Cloud.Firestore.DocumentSnapshot snapshot = await examDoc.GetSnapshotAsync();
                   *    if (snapshot.Exists)
                   *    {
                   *        await exams.Document(examNameNew).SetAsync(snapshot);
                   *        await examDoc.DeleteAsync();
                   *    }
                   */
                }


                bool IsSameName(string examNewName)
                {
                    for (int j = 0; j < adapter.ItemCount; j++)
                    {
                        if (ExamList[j].examName.Equals(examNewName))
                        {
                            return(true);
                        }
                    }
                    return(false);
                }
            };
        }
    }