public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { var viewHolder = holder as AdminCarAdapterViewHolder; var item = cars[position]; viewHolder.CarName.Text = $"{item.Car} {item.Brand}"; viewHolder.FuelType.Text = $"Rodzaj paliwa: {item.FuelType}"; viewHolder.Year.Text = $"Rok produkcji: {item.Year}"; viewHolder.Mileage.Text = $"Przebieg: {item.Mileage} km"; viewHolder.Price.Text = $"Cena: {item.Price} zł"; ImageHelper.GetImageFromUrl(item.CarPhotoUrl, viewHolder.Image); viewHolder.Delete.Click += (s, e) => { ViewHelper.ShowDialog(activity, async() => { cars = await presenter.RemoveAndGetAllAsync(item.Id); NotifyDataSetChanged(); }, () => { }, "Czy chcesz usunąć ten pojazd?", "Tak", "Nie"); }; viewHolder.Edit.Click += (s, e) => { var fragment = new EditFragment(item); var trans = activity.SupportFragmentManager.BeginTransaction(); fragment.Cancelable = true; fragment.Show(trans, "editCar"); fragment.Edited += async(s, e) => { cars = await presenter.GetCarsAsync(); NotifyDataSetChanged(); }; }; }
private void EditCurrentCustomer(int position, ViewHolder holder) { string rowName = holder.FullName.Text; //AlertDialog.Builder alertDialog = new AlertDialog.Builder(_mContex); //alertDialog.SetTitle("Потвърждавате ли редакцията ? "); //alertDialog.SetMessage($"Редактирай клиент {holder.FullName.Text}"); //alertDialog.SetCancelable(false); // may click outside the dialog FragmentTransaction trans = ((Activity)_mContex).FragmentManager.BeginTransaction(); EditFragment editFragmentDialog = new EditFragment(position, _customers.Count, holder.NewCharge, holder.LateBil, holder.Report); //new EditFragment(position, _customers.Count, holder.ReceiveNotifyNewInvoiceToday, holder.ReceiveNotifyInvoiceOverdueToday, holder.ReciveNotifyReadingToday); editFragmentDialog.Show(trans, "edit fragment"); editFragmentDialog.OnEditCustomerComplete += (object sender1, OnEditCustomerEventArgs e1) => { //countНotifyReadingustomers = GetNotifyReadingCustomers(); //countNewНotifyNewInvoiceCustomers = GetCountNewНotifyNewInvoiceCustomers(); //countНotifyInvoiceOverdueCustomers = GetCountНotifyInvoiceOverdueCustomers(); // mCustomerFromApi = GetCustomersFromApi(); holder.NewCharge = e1.IsThereANewCharge; holder.LateBil = e1.IsThereALateBill; holder.Report = e1.IsThereAReport; // save to json ISharedPreferences pref = Application.Context.GetSharedPreferences("PREFERENCE_NAME", FileCreationMode.Private); ISharedPreferencesEditor editor = pref.Edit(); //editor.Clear(); editor.Remove("Customers"); editor.Commit(); Customer updateCustomer = _customers[position]; updateCustomer.NotifyNewInvoice = e1.IsThereANewCharge; updateCustomer.NotifyInvoiceOverdue = e1.IsThereALateBill; updateCustomer.NotifyReading = e1.IsThereAReport; #region CheckPossition _customers.RemoveAt(position); //new count -1 _customers.Insert(e1.CurrentPossition, updateCustomer); // put in the same posstion NotifyDataSetChanged(); #endregion string edtListOfCustomers = JsonConvert.SerializeObject(_customers); editor.PutString("Customers", edtListOfCustomers); editor.Commit(); editor.Commit(); }; //alertDialog.SetPositiveButton("Да", delegate //{ // Android.Widget.Toast.MakeText(_mContex, "Редактиране " + rowName, Android.Widget.ToastLength.Long).Show(); //}); //alertDialog.SetNeutralButton("Не", delegate //{ // alertDialog.Dispose(); //}); // alertDialog.Show(); }