package ua.kpi.ecampus.ui.presenter; import ua.kpi.ecampus.model.Recipient; import ua.kpi.ecampus.model.pojo.Bulletin; import ua.kpi.ecampus.model.pojo.Item; import ua.kpi.ecampus.model.pojo.User; import ua.kpi.ecampus.rx.BulletinRxLoader; import java.util.List; import javax.inject.Inject; /** * Created by Administrator on 25.04.2016. */ public class SaveBulletinPresenter extends BasePresenter { private IView mView; protected BulletinRxLoader mLoader; @Inject public SaveBulletinPresenter() { mLoader = new BulletinRxLoader(this); } @Override public void initializeViewComponent() { mView.setViewComponent(); loadSpinnerAdapterData(); } public void setView(IView view) { mView = view; } public void setLoader(BulletinRxLoader loader) { mLoader = loader; } public void onStartRequest(CudAction action) { mView.showProgressDialog(); action.execute(); } public void onFinishRequest(int responseCode, String responseMsg) { mView.dismissProgressDialog(); mView.showResponse(responseCode, responseMsg); } public void loadGroupsOfSubdivision(String subdivisionId) { mLoader.loadGroupsOf(subdivisionId); } public void setDescSubdivisions(List<Item> list) { mView.setSubdivisionAdapter(list); } public void setProfiles(List<Item> list) { mView.setProfileAdapter(list); } public void setGroups(List<Item> list) { mView.setGroupAdapter(list); } public void setRecipients(List<Recipient> list) { mView.setRecipientsList(list); } public void addBulletin() { Bulletin bulletin = mView.formBulletin(); mLoader.addBulletin(bulletin); } public void editBulletin() { Bulletin bulletin = mView.formBulletin(); mLoader.editBulletin(bulletin); } public void deleteBulletin() { String id = mView.getBulletinId(); mLoader.deleteBulletin(id); } private void loadSpinnerAdapterData() { User u = User.getInstance(); List<Item> subdivisions = u.getSubdivision(); if (subdivisions != null && !subdivisions.isEmpty()) { Item mainSubdiv = subdivisions.get(0); mLoader.loadDescSubdivisions(mainSubdiv.getId().toString()); mLoader.loadGroupsOf(mainSubdiv.getId().toString()); } mLoader.loadProfiles(); } public void loadRecipients() { String bulId = mView.getBulletinId(); mLoader.loadRecipients(bulId); } public interface IView { void setViewComponent(); void showProgressDialog(); void dismissProgressDialog(); void showResponse(int code, String msg); void setSubdivisionAdapter(List<Item> list); void setProfileAdapter(List<Item> list); void setGroupAdapter(List<Item> list); void setRecipientsList(List<Recipient> list); void updateBadgeCounter(int count); Bulletin formBulletin(); String getBulletinId(); } }