total review

This commit is contained in:
OnlyPapy98
2026-04-03 19:30:06 +02:00
parent 4eaca7e1d8
commit c0e5072523
10 changed files with 177 additions and 130 deletions

View File

@@ -27,6 +27,7 @@ import com.example.quiz.utils.MessageDialog;
import com.example.quiz.utils.Result;
import com.example.quiz.utils.SharedPrefsHelper;
import com.example.quiz.viewModel.AgentViewModel;
import com.example.quiz.viewModel.LogsViewModel;
import java.util.ArrayList;
import java.util.List;
@@ -47,6 +48,7 @@ public class AgentDetails extends Fragment {
private String agentId;
private FragmentAgentDetailsBinding binding;
MultiTypeOfBetsAdapter multiTypeOfBetsAdapter;
LogsViewModel logsViewModel;
private AgentViewModel agentViewModel;
private boolean userInteraction = false;
@@ -91,6 +93,7 @@ public class AgentDetails extends Fragment {
allowedBetTypes = new Restriction();
prefsHelper = SharedPrefsHelper.getInstance(getContext());
loaderDialog = new LoaderDialog(getContext());
logsViewModel = new ViewModelProvider(this).get(LogsViewModel.class);
return binding.getRoot();
}
@@ -130,6 +133,8 @@ public class AgentDetails extends Fragment {
case SUCCESS:{
loaderDialog.dismiss();
MessageDialog.showSuccess(getContext(), "L'accès a été mis à jour");
String logsMessage = !b? "Activation de l'accès du sous agent":"Désactivation de l'accès du sous agent";
logsViewModel.insertLog(prefsHelper.get("id"), !b?"ACTIVATION":"DESACTIVATION",message+" "+agent.getCode(), System.currentTimeMillis());
loadAgentDetails(agentId);
break;
}
@@ -181,6 +186,7 @@ public class AgentDetails extends Fragment {
}
case SUCCESS:{
loaderDialog.dismiss();
logsViewModel.insertLog(prefsHelper.get("id"), "MIS A JOUR PRODUIT", "Mise à jour des types de paris"+" "+agent.getCode()+": "+allowedBetTypes.getAllowedBetTypes().stream().map(Enum::toString).collect(Collectors.joining(",")), System.currentTimeMillis());
MessageDialog.showSuccess(getContext(), "Les types de paris ont été mises à jour");
loadAgentDetails(agentId);
break;

View File

@@ -1,5 +1,6 @@
package com.example.quiz;
import android.Manifest;
import android.annotation.SuppressLint;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
@@ -373,30 +374,30 @@ public class BetValidation extends Fragment {
});
binding.betValidateBtn.setOnClickListener(v->{
if (ActivityCompat.checkSelfPermission(getContext(), android.Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
int paperStatus = Printama.with(getContext()).checkPaperStatus();
Log.d("PAPER_STATUS", String.valueOf(paperStatus));
switch (paperStatus){
case 2 :{
MessageDialog.showError(getContext(), "Le papier d'impression est vide");
return;
}
case 1:{
MessageDialog.showError(getContext(), "Le papier d'impression est presque vide");
break;
}
default:
break;
}
// Log.d("PAPER_STATUS", String.valueOf(ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.BLUETOOTH_CONNECT))+" "+String.valueOf(PackageManager.PERMISSION_GRANTED));
// if (ActivityCompat.checkSelfPermission(getContext(), android.Manifest.permission.BLUETOOTH_CONNECT)
// != PackageManager.PERMISSION_GRANTED) {
// // TODO: Consider calling
// // ActivityCompat#requestPermissions
// // here to request the missing permissions, and then overriding
// // public void onRequestPermissionsResult(int requestCode, String[] permissions,
// // int[] grantResults)
// // to handle the case where the user grants the permission. See the documentation
// // for ActivityCompat#requestPermissions for more details.
// return;
// }
// int paperStatus = Printama.with(getContext()).checkPaperStatus();
// switch (paperStatus){
// case 2 :{
// MessageDialog.showError(getContext(), "Le papier d'impression est vide");
// return;
// }
// case 1:{
// MessageDialog.showError(getContext(), "Le papier d'impression est presque vide");
// break;
// }
// }
if(binding.paymentType.getSelectedItem().toString().equals("Orange Money") && binding.phoneNumber.getText().toString().isEmpty()){
MessageDialog.showError(getContext(), "Veuillez saisir le numéro de téléphone");
return;
@@ -593,8 +594,8 @@ public class BetValidation extends Fragment {
case SUCCESS:
try {
loader.dismiss();
logsViewModel.insertLog(prefsHelper.get("id"), "BET", "Création du pari "+pariResult.data.getNumeroTicket()+", type de paris: "+pariResult.data.getTypesParisMises().get(0).getTypePari()+", combinaison:"+selectedHorses.getValue().stream().map(String::valueOf).collect(Collectors.joining("-")), System.currentTimeMillis());
printPari(pariResult.data);
logsViewModel.insertLog(prefsHelper.get("id"), "BET", "Création du pari "+pariResult.data.getNumeroTicket()+" type de paris: "+pariResult.data.getTypesParisMises().get(0).getTypePari(), System.currentTimeMillis());
dialog.dismiss();
MessageDialog.showSuccess(getContext(), "Pari créé avec succès");
} catch (WriterException e) {

View File

@@ -33,6 +33,7 @@ import com.example.quiz.utils.SharedPrefsHelper;
import com.example.quiz.viewModel.LogsViewModel;
import com.example.quiz.viewModel.PariViewModel;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.zxing.WriterException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -140,7 +141,11 @@ public class Sold extends Fragment {
case SUCCESS:{
dialog.dismiss();
_showSold(doubleResult.data, date);
try {
_showSold(doubleResult.data, date);
} catch (WriterException e) {
throw new RuntimeException(e);
}
logsViewModel.insertLog(prefsHelper.get("id"), "SOLDE JOUR", "Solde du "+date, System.currentTimeMillis());
break;
}
@@ -156,44 +161,38 @@ public class Sold extends Fragment {
datePickerDialog.show();
}
void _showSold(SoldeResponse soldeResponse, String date){
int solde = soldeResponse.getMontantParis() - soldeResponse.getMontantAnnulations() - soldeResponse.getMontantPaiements();
new AlertDialog.Builder(getContext())
.setTitle("Solde")
.setMessage("Solde la course "+solde)
.setNeutralButton("Ok", (dialog, which)->{
dialog.dismiss();
})
.setPositiveButton("Imprimer", (dialog, which)->{
if (ActivityCompat.checkSelfPermission(getContext(), android.Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
Printama printama = Printama.with(getContext());
Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.pmu_logo);
String title = "SOLDE AU "+date;
StringBuilder text = new StringBuilder();
text.append("VENTES HIPPIQUES: ").append(String.valueOf(soldeResponse.getMontantParis())).append(" XOF").append("\n");
text.append("NBR. PAIEMENTS: ").append(soldeResponse.getNombrePaiements()).append("\n");
text.append("PAIEMENTS: ").append(String.valueOf(soldeResponse.getMontantPaiements())).append(" XOF").append("\n");
text.append("NBR. ANNULATIONS: ").append(soldeResponse.getNombreAnnulations()).append("\n");
text.append("ANNULATIONS: ").append(String.valueOf(soldeResponse.getMontantAnnulations())).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("SOLDE: ").append(String.valueOf(solde)).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("AGENT : ").append(prefsHelper.get("code")).append("\n");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
String now = formatter.format(LocalDateTime.now());
text.append("DATE : ").append(now).append("\n");
printama.printSold(logo, title, text);
})
.show();
void _showSold(SoldeResponse soldeResponse, String date) throws WriterException {
try {
int solde = soldeResponse.getMontantParis() - soldeResponse.getMontantAnnulations() - soldeResponse.getMontantPaiements();
new AlertDialog.Builder(getContext())
.setTitle("Solde")
.setMessage("Solde la course "+solde)
.setNeutralButton("Ok", (dialog, which)->{
dialog.dismiss();
})
.setPositiveButton("Imprimer", (dialog, which)->{
Printama printama = Printama.with(getContext());
Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.pmu_logo);
String title = "SOLDE AU "+date;
StringBuilder text = new StringBuilder();
text.append("VENTES HIPPIQUES: ").append(String.valueOf(soldeResponse.getMontantParis())).append(" XOF").append("\n");
text.append("NBR. PAIEMENTS: ").append(soldeResponse.getNombrePaiements()).append("\n");
text.append("PAIEMENTS: ").append(String.valueOf(soldeResponse.getMontantPaiements())).append(" XOF").append("\n");
text.append("NBR. ANNULATIONS: ").append(soldeResponse.getNombreAnnulations()).append("\n");
text.append("ANNULATIONS: ").append(String.valueOf(soldeResponse.getMontantAnnulations())).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("SOLDE: ").append(String.valueOf(solde)).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("AGENT : ").append(prefsHelper.get("code")).append("\n");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
String now = formatter.format(LocalDateTime.now());
text.append("DATE : ").append(now).append("\n");
printama.printSold(logo, title, text);
})
.show();
}catch (SecurityException e){
MessageDialog.showError(getContext(), "Erreur lors de l'affichage du solde");
}
}
}

View File

@@ -27,6 +27,7 @@ import com.example.quiz.utils.Result;
import com.example.quiz.utils.SharedPrefsHelper;
import com.example.quiz.viewModel.LogsViewModel;
import com.example.quiz.viewModel.PariViewModel;
import com.google.zxing.WriterException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -102,7 +103,11 @@ public class SoldByCourse extends Fragment {
}
case SUCCESS:{
loader.dismiss();
_showPariDialog(doubleResult.data, binding.etRaceNumber.getText().toString());
try {
_showPariDialog(doubleResult.data, binding.etRaceNumber.getText().toString());
} catch (WriterException e) {
throw new RuntimeException(e);
}
logsViewModel.insertLog(prefsHelper.get("id"), "SOLDE COURSE", "Solde de la course "+binding.etRaceNumber.getText(), System.currentTimeMillis());
break;
}
@@ -112,44 +117,38 @@ public class SoldByCourse extends Fragment {
});
}
void _showPariDialog(SoldeResponse soldeResponse, String numero){
int solde = soldeResponse.getMontantParis() - soldeResponse.getMontantAnnulations() - soldeResponse.getMontantPaiements();
new AlertDialog.Builder(getContext())
.setTitle("Solde")
.setMessage("Solde la course "+solde)
.setNeutralButton("Ok", (dialog, which) -> {
binding.etRaceNumber.setText("");
dialog.dismiss();
})
.setPositiveButton("Imprimer", (dialog, which)->{
if (ActivityCompat.checkSelfPermission(getContext(), android.Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
Printama printama = Printama.with(getContext());
Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.pmu_logo);
String title = "SOLDE DE LA COURSE "+numero;
StringBuilder text = new StringBuilder();
text.append("VENTES HIPPIQUES: ").append(String.valueOf(soldeResponse.getMontantParis())).append(" XOF").append("\n");
text.append("NBR. PAIEMENTS: ").append(soldeResponse.getNombrePaiements()).append("\n");
text.append("PAIEMENTS: ").append(String.valueOf(soldeResponse.getMontantPaiements())).append(" XOF").append("\n");
text.append("NBR. ANNULATIONS: ").append(soldeResponse.getNombreAnnulations()).append("\n");
text.append("ANNULATIONS: ").append(String.valueOf(soldeResponse.getMontantAnnulations())).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("SOLDE: ").append(String.valueOf(solde)).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("AGENT : ").append(prefsHelper.get("code")).append("\n");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
String now = formatter.format(LocalDateTime.now());
text.append("DATE : ").append(now).append("\n");
printama.printSold(logo, title, text);
})
.show();
void _showPariDialog(SoldeResponse soldeResponse, String numero) throws WriterException {
try {
int solde = soldeResponse.getMontantParis() - soldeResponse.getMontantAnnulations() - soldeResponse.getMontantPaiements();
new AlertDialog.Builder(getContext())
.setTitle("Solde")
.setMessage("Solde la course "+solde)
.setNeutralButton("Ok", (dialog, which) -> {
binding.etRaceNumber.setText("");
dialog.dismiss();
})
.setPositiveButton("Imprimer", (dialog, which)->{
Printama printama = Printama.with(getContext());
Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.pmu_logo);
String title = "SOLDE DE LA COURSE "+numero;
StringBuilder text = new StringBuilder();
text.append("VENTES HIPPIQUES: ").append(String.valueOf(soldeResponse.getMontantParis())).append(" XOF").append("\n");
text.append("NBR. PAIEMENTS: ").append(soldeResponse.getNombrePaiements()).append("\n");
text.append("PAIEMENTS: ").append(String.valueOf(soldeResponse.getMontantPaiements())).append(" XOF").append("\n");
text.append("NBR. ANNULATIONS: ").append(soldeResponse.getNombreAnnulations()).append("\n");
text.append("ANNULATIONS: ").append(String.valueOf(soldeResponse.getMontantAnnulations())).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("SOLDE: ").append(String.valueOf(solde)).append(" XOF").append("\n");
text.append(printama.lineSeparator()).append("\n");
text.append("AGENT : ").append(prefsHelper.get("code")).append("\n");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
String now = formatter.format(LocalDateTime.now());
text.append("DATE : ").append(now).append("\n");
printama.printSold(logo, title, text);
})
.show();
}catch (SecurityException e){
MessageDialog.showError(getContext(), "Erreur lors de l'affichage du solde");
}
}
}

View File

@@ -42,6 +42,8 @@ public class UpdatePin extends Fragment {
String newPin;
String confirmation;
LogsViewModel logsViewModel;
AuthNavigator authNavigator;
LoginViewModel viewModel;
@@ -69,6 +71,7 @@ public class UpdatePin extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
viewModel = new ViewModelProvider(this).get(LoginViewModel.class);
logsViewModel = new ViewModelProvider(this).get(LogsViewModel.class);
loaderDialog = new LoaderDialog(getContext());
authNavigator = new AuthNavigator(getContext(), getParentFragmentManager(), new SessionManager(getContext()), new ViewModelProvider(this).get(LoginViewModel.class),new ViewModelProvider(this).get(LogsViewModel.class),this);
// Inflate the layout for this fragment
@@ -110,7 +113,9 @@ public class UpdatePin extends Fragment {
}
case SUCCESS:{
loaderDialog.dismiss();
MessageDialog.showSuccess(getContext(), "Pin mis à jour avec succès");
logsViewModel.insertLog(String.valueOf(userResult.data.getId()), "MIS A JOUR PIN", "Mise à jour du pin", System.currentTimeMillis());
SessionManager sessionManager = new SessionManager(getContext());
authNavigator.showPinDialog(()->{
sessionManager.updateLastExpiredDate();