Парсинг файлов Решения для Visual Studio

Я хочу получить данные в коллекции заказов только для коллекции заказов fruit_ID

blockquote>

Хорошо, вы хотите получить fruit_ID?

enter image description here ]

равняется идентификатору документа коллекции Продавцов / Фруктов и добавляется в представление переработчика

blockquote>

, и вы хотите получить fruit_ID, равный Продавцам / Фруктам? [1136 ]

как if (fruit_ID.equals(sellerFruits_ID) {// get fruit_ID}

enter image description here

Я постараюсь ответить на него.

ПРОБЛЕМА

1. Вы, как продавец, имеете seller uid в своей коллекции Sellers и хотите получить V4x1Dh..

2. У вас есть buyer uid в вашей Orders коллекции и вы хотите получить 83Fmf..

3. Вы хотите получить Банан в Продавцах / Фруктах, который Банан как id.

И наконец, вы хотите загрузить данные Sellers/Fruits в recyclerView, потому что

вы хотите получать данные только в коллекции заказов fruit_ID

ОТВЕТ

Ответ номер один: Пожалуйста, найдите продавцов ids и получите V4x1Dh на основе ViewHolder position, что я объясню позже.

Ответ номер два: Пожалуйста, получите Заказы ids и получите 83Fmf на основе ViewHolder position, что я объясню позже.

Ответ номер два: Пожалуйста, возьмите фрукты продавцов ids, скажем, sellerFruit_ID и получите Banana на основе ViewHolder position, что я объясню позже. ВНИМАНИЕ: поскольку банан в документе, это будет id.

ДЕТАЛИ:

Извлечение продавцов ids и получение V4x1Dh:

    firebaseFirestore
     .collection("Sellers")
     .addSnapshotListener(new EventListener(){
        @Override
        public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e){

            for (DocumentChange doc : documentSnapshots.getDocumentChanges()){

                if (doc.getType() == DocumentChange.Type.ADDED){

                    // RETRIEVING Orders id
                    String orders_ID = doc.getDocument().getId();
                    YourContentOrdersHere contentOrders = doc.getDocument().toObject(YourContentOrdersHere.class).withId(orders_ID);

                    // RETRIEVING Sellers id
                    String sellers_ID = doc.getDocument().getId();
                    YourContentSellersHere contentSellers = doc.getDocument().toObject(YourContentSellersHere.class).withId(sellers_ID);

                    contentListOrders.add(contentOrders);   //example: List contentList                
                    adapter.notifyDataSetChanged(); // before of course, you add this in onCreate adapterOrders = new YourAdapterOrders(contentListOrders);

                    contentListSellers.add(contents);   //example: List contentList                
                    adapter.notifyDataSetChanged(); // before of course, you add this in onCreate adapterSellers = new YourAdapterSellers(contentListSellers);
                }
            }


        }
    });

убедитесь, что ваш класс контента расширяет идентификаторы

[ 111]

и создайте OrdersId.class

public class OrdersId{


    @Exclude
    public String OrdersId;

    public  T withId(@NonNull final String id) {

        this.OrdersId = id;
        return (T) this;
    }
}

и, наконец, из класса вашего адаптера, получающего OrdersId. Как пример:

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {


        // GET YOUR `Sellers` id based position and getSellerId() from getter of your content class
        String sellers_ID = contentListSeller.get(position).getSellerId(); // don't forget List contentList = new ArrayList<>();
        firebaseFirestore
           .collection("Sellers")
           .document(sellers_ID)
           .collection("Fruits")
           .document("Banana")


// STORE 'LIKE TAP' USING LIKE BUTTON
        holder.likeHome.seOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                /* RETRIEVING VALUE UNDER currentUserId */
                firebaseFirestore.collection("Posts/" + postId + "/Likes").document(currentUserId).get().addOnCompleteListener(new OnCompleteListener(){
                    @Override
                    public void onComplete(@NonNull Task task){

                        if (!task.getResult().exists()) {

                            /* STORE NEW VALUE */
                            Map likesMap = new HashMap<>();
                            likesMap.put("timestamp", FieldValue.serverTimestamp);
                            firebaseFirestore.collection("Posts/" + postId + "/Likes").document(currentUserId).set(likesMap);
                        } else {
                            // retrieve like timestamp
                            String whenToLike = task.getResult().getString("timestamp");
                            holder.setWhenToLike(whenToLike);

                            /* DELETE VALUE */
                            firebaseFirestore.collection("Posts/" + postId + "/Likes").document(currentUserId).delete();
                        }
                    }
                });                
            }
        });


}
107
задан Artjom B. 29 September 2015 в 15:39
поделиться

1 ответ

Я не могу действительно предложить Вам, библиотека и мое предположение нет того, который существует там. Но я потратил соглашение времени, бездельничая с .sln файлами в сценариях редактирования пакета, и я нашел, что Powershell очень полезный инструмент для этой задачи..SLN формат довольно прост и может быть почти полностью проанализирован с несколькими быстрыми и грязными выражениями. Например,

Включенные файлы Проекта.

gc ConsoleApplication30.sln | 
  ? { $_ -match "^Project" } | 
  %{ $_ -match ".*=(.*)$" | out-null ; $matches[1] } | 
  %{ $_.Split(",")[1].Trim().Trim('"') }

Это не всегда симпатично, но это - эффективный способ сделать пакетную обработку.

8
ответ дан JaredPar 24 November 2019 в 03:39
поделиться