Search in sources :

Example 1 with Order

use of com.eventyay.organizer.data.order.Order in project open-event-orga-app by fossasia.

the class ChartAnalyser method loadData.

public Completable loadData(long eventId) {
    clearData();
    isCheckinChart = false;
    return getAttendeeSource(eventId).doOnNext(attendee -> {
        Order order = attendee.getOrder();
        if (order == null) {
            error = true;
            return;
        }
        String date = order.getCompletedAt();
        switch(attendee.getTicket().getType()) {
            case TicketAnalyser.TICKET_FREE:
                addDataPointForSales(freeMap, date);
                break;
            case TicketAnalyser.TICKET_DONATION:
                addDataPointForSales(donationMap, date);
                break;
            case TicketAnalyser.TICKET_PAID:
                addDataPointForSales(paidMap, date);
                break;
            default:
        }
    }).toList().doAfterSuccess(attendees -> this.attendees = attendees).toCompletable().doOnComplete(() -> {
        if (error)
            throw new IllegalAccessException("No order found");
        normalizeDataSet();
        freeSet = setDataForSales(freeMap, "Free");
        paidSet = setDataForSales(paidMap, "Paid");
        donationSet = setDataForSales(donationMap, "Donation");
        prepare();
    });
}
Also used : Order(com.eventyay.organizer.data.order.Order)

Example 2 with Order

use of com.eventyay.organizer.data.order.Order in project open-event-orga-app by fossasia.

the class OrderDetailViewModel method sendReceipt.

// send order receipt via email
public void sendReceipt(String orderIdentifier) {
    OrderReceiptRequest orderReceipt = new OrderReceiptRequest();
    orderReceipt.setOrderIdentifier(orderIdentifier);
    compositeDisposable.add(orderRepository.sendReceipt(orderReceipt).doOnSubscribe(disposable -> progress.setValue(true)).doFinally(() -> progress.setValue(false)).subscribe(() -> success.setValue("Email Sent!"), throwable -> error.setValue(ErrorUtils.getMessage(throwable).toString())));
}
Also used : MutableLiveData(androidx.lifecycle.MutableLiveData) LiveData(androidx.lifecycle.LiveData) SingleEventLiveData(com.eventyay.organizer.common.livedata.SingleEventLiveData) ViewTransformers.dispose(com.eventyay.organizer.common.rx.ViewTransformers.dispose) ViewModel(androidx.lifecycle.ViewModel) TicketRepository(com.eventyay.organizer.data.ticket.TicketRepository) OrderRepository(com.eventyay.organizer.data.order.OrderRepository) Inject(javax.inject.Inject) Attendee(com.eventyay.organizer.data.attendee.Attendee) Order(com.eventyay.organizer.data.order.Order) List(java.util.List) CompositeDisposable(io.reactivex.disposables.CompositeDisposable) AttendeeRepository(com.eventyay.organizer.data.attendee.AttendeeRepository) EventRepository(com.eventyay.organizer.data.event.EventRepository) ErrorUtils(com.eventyay.organizer.utils.ErrorUtils) Ticket(com.eventyay.organizer.data.ticket.Ticket) VisibleForTesting(androidx.annotation.VisibleForTesting) OrderReceiptRequest(com.eventyay.organizer.data.order.model.OrderReceiptRequest) OrderReceiptRequest(com.eventyay.organizer.data.order.model.OrderReceiptRequest)

Example 3 with Order

use of com.eventyay.organizer.data.order.Order in project open-event-orga-app by fossasia.

the class CreateOrderViewModel method createOnSiteOrder.

public void createOnSiteOrder(long eventId) {
    Order order = new Order();
    Event event = new Event();
    event.setId(eventId);
    order.setEvent(event);
    order.setAmount(orderAmount.getValue());
    for (Long ticketId : onSiteTicketsMap.keySet()) {
        OnSiteTicket onSiteTicket = new OnSiteTicket();
        onSiteTicket.setId(ticketId);
        onSiteTicket.setQuantity(onSiteTicketsMap.get(ticketId).get());
        onSiteTicketsList.add(onSiteTicket);
    }
    order.setOnSiteTickets(onSiteTicketsList);
    compositeDisposable.add(orderRepository.createOrder(order).compose(dispose(compositeDisposable)).doOnSubscribe(disposable -> progress.setValue(true)).doFinally(() -> {
        clearSelectedTickets();
        progress.setValue(false);
    }).subscribe(createdOrder -> success.setValue("Order created successfully"), throwable -> error.setValue(ErrorUtils.getMessage(throwable).toString())));
}
Also used : Order(com.eventyay.organizer.data.order.Order) MutableLiveData(androidx.lifecycle.MutableLiveData) LiveData(androidx.lifecycle.LiveData) SingleEventLiveData(com.eventyay.organizer.common.livedata.SingleEventLiveData) Event(com.eventyay.organizer.data.event.Event) ViewTransformers.dispose(com.eventyay.organizer.common.rx.ViewTransformers.dispose) ViewModel(androidx.lifecycle.ViewModel) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) TicketRepository(com.eventyay.organizer.data.ticket.TicketRepository) OrderRepository(com.eventyay.organizer.data.order.OrderRepository) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) Order(com.eventyay.organizer.data.order.Order) List(java.util.List) CompositeDisposable(io.reactivex.disposables.CompositeDisposable) Map(java.util.Map) OnSiteTicket(com.eventyay.organizer.data.ticket.OnSiteTicket) ErrorUtils(com.eventyay.organizer.utils.ErrorUtils) Ticket(com.eventyay.organizer.data.ticket.Ticket) ObservableLong(androidx.databinding.ObservableLong) OnSiteTicket(com.eventyay.organizer.data.ticket.OnSiteTicket) ObservableLong(androidx.databinding.ObservableLong) Event(com.eventyay.organizer.data.event.Event)

Aggregations

Order (com.eventyay.organizer.data.order.Order)3 LiveData (androidx.lifecycle.LiveData)2 MutableLiveData (androidx.lifecycle.MutableLiveData)2 ViewModel (androidx.lifecycle.ViewModel)2 SingleEventLiveData (com.eventyay.organizer.common.livedata.SingleEventLiveData)2 ViewTransformers.dispose (com.eventyay.organizer.common.rx.ViewTransformers.dispose)2 OrderRepository (com.eventyay.organizer.data.order.OrderRepository)2 Ticket (com.eventyay.organizer.data.ticket.Ticket)2 TicketRepository (com.eventyay.organizer.data.ticket.TicketRepository)2 ErrorUtils (com.eventyay.organizer.utils.ErrorUtils)2 CompositeDisposable (io.reactivex.disposables.CompositeDisposable)2 List (java.util.List)2 Inject (javax.inject.Inject)2 VisibleForTesting (androidx.annotation.VisibleForTesting)1 ObservableLong (androidx.databinding.ObservableLong)1 Attendee (com.eventyay.organizer.data.attendee.Attendee)1 AttendeeRepository (com.eventyay.organizer.data.attendee.AttendeeRepository)1 Event (com.eventyay.organizer.data.event.Event)1 EventRepository (com.eventyay.organizer.data.event.EventRepository)1 OrderReceiptRequest (com.eventyay.organizer.data.order.model.OrderReceiptRequest)1