Skip to content
Snippets Groups Projects
Commit 10202e3c authored by Verin Antoine's avatar Verin Antoine
Browse files

TERMINEEEEEEEEEEEE

parent 4e6b5980
Branches
1 merge request!38Resolve "Intégration MenuDepenses"
......@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Globalization;
using System.Windows.Forms;
namespace Mango
{
......@@ -152,5 +153,56 @@ namespace Mango
return Filter("Depenses", "numDepense IN (" + codes + ") AND codeEvent = " + eventId);
}
/// <summary>
/// Retourne les bénéficiaires d'une dépense
/// </summary>
/// <param name="depenseId">L'id de la dépense</param>
/// <returns>Les bénéficiaires</returns>
public DataTable GetBeneficiaires(int depenseId)
{
DataTable table = Filter("Beneficiaires", "numDepense = " + depenseId);
bool first = true;
string codes = "";
foreach (DataRow row in table.Rows)
{
if (!first) codes += ", ";
else first = false;
codes += row["codePart"];
}
return Filter("Participants", "codeParticipant IN (" + codes + ")");
}
/// <summary>
/// Retourne les participants n'ayant pas bénéficiés d'une dépense
/// </summary>
/// <param name="depenseId">L'id de la dépense</param>
/// <returns>Les non bénéficiaires</returns>
public DataTable GetNonBeneficiaires(int depenseId, int eventId)
{
DataTable benefs = Filter("Beneficiaires", "numDepense = " + depenseId);
bool first = true;
string codes = "";
foreach (DataRow row in benefs.Rows)
{
if (!first) codes += ", ";
else first = false;
codes += row["codePart"];
}
DataTable invites = Filter("Invites", "codeEvent = " + eventId);
first = true;
string codes2 = "";
foreach (DataRow row in invites.Rows)
{
if (!first) codes2 += ", ";
else first = false;
codes2 += row["codePart"];
}
return Filter("Participants", "codeParticipant NOT IN (" + codes +
") AND codeParticipant IN (" + codes2 + ")");
}
}
}
\ No newline at end of file
......@@ -38,7 +38,7 @@ namespace Mango.Controls.Menu
private void btnContinuer_Click(object sender, EventArgs e)
{
FrmMain.GetInstance().ShowMenu(new MenuNouvelleDepense(cboSelectEvent.SelectedIndex));
FrmMain.GetInstance().ShowMenu(new MenuNouvelleDepense((int) cboSelectEvent.SelectedValue));
}
}
}
......@@ -13,143 +13,134 @@ namespace Mango.Controls.Menu
{
public partial class MenuDepenses : UserControl
{
private ConnectionManager _connexion = ConnectionManager.GetInstance();
private DataSet data;
private ConnectionManager _connection = ConnectionManager.GetInstance();
private DataSet _data;
public MenuDepenses()
{
InitializeComponent();
data = _connexion.DataSet;
_data = _connection.DataSet;
}
private void MenuDepenses_Load(object sender, EventArgs e)
{
DataTable part2 = data.Tables["Participants"];
cboEvenement.DataSource = data.Tables["Evenements"];
cboEvenement.DataSource = _data.Tables["Evenements"].Copy();
cboEvenement.DisplayMember = "titreEvent";
cboEvenement.ValueMember = "codeEvent";
cboParticipant.DataSource = data.Tables["Participants"];
cboParticipant.DisplayMember = "nomComp";
cboParticipant.ValueMember = "codeParticipant";
cboAddBeneficiaire.DataSource = part2;
cboAddBeneficiaire.DisplayMember = "nomComp";
cboAddBeneficiaire.ValueMember = "codeParticipant";
UpdateEvent(1);
}
private void cboEvenement_SelectionChangeCommitted(object sender, EventArgs e)
private void UpdateEvent(int eventId)
{
//cboParticipant.SelectedIndex = -1;
lboDepenses.SelectedIndex = -1;
string codeEvent = cboEvenement.SelectedValue.ToString();
DataTable select = _connexion.Filter("Depenses", "codeEvent = " + codeEvent);
if (select is null)
try
{
cboParticipant.DataSource = _connection.GetParticipants(eventId);
cboParticipant.DisplayMember = "nomComp";
cboParticipant.ValueMember = "codeParticipant";
cboParticipant.SelectedIndex = -1;
lboDepenses.DataSource = null;
lboDepenses.Items.Add("aucune depense");
}
else
{
lboDepenses.DataSource = select;
DataTable depenses = _connection.Filter("Depenses", "codeEvent = " + eventId);
lboDepenses.DataSource = depenses;
lboDepenses.DisplayMember = "description";
lboDepenses.ValueMember = "numDepense";
lboDepenses.SelectedIndex = 0;
UpdateSelectedDepense((int) depenses.Rows[0]["numDepense"]);
}
}
private void cboParticipant_SelectionChangeCommitted(object sender, EventArgs e)
{
lboDepenses.SelectedIndex = 0;
lboBeneficiaires.Items.Clear();
string codeEvent = cboEvenement.SelectedValue.ToString();
string codePart = cboParticipant.SelectedValue.ToString();
DataTable select = _connexion.Filter("Depenses", "codeEvent = " + codeEvent + " and codePart = " + codePart);
if (select is null)
catch (ArgumentException)
{
lboDepenses.DataSource = null;
lboDepenses.Items.Add("aucune depense");
lboDepenses.Items.Add("Aucune depense");
lblProprietes.Text = "Aucune dépense";
lblCommentaire.Text = "";
lboBeneficiaires.DataSource = null;
lboBeneficiaires.Items.Clear();
}
else
}
private void UpdateUser(int eventId, int userId)
{
try
{
lboDepenses.DataSource = select;
lboDepenses.DataSource = _connection.Filter("Depenses",
"codeEvent = " + eventId + " AND codePart = " + userId);
lboDepenses.DisplayMember = "description";
lboDepenses.ValueMember = "numDepense";
}
catch (ArgumentException)
{
lboDepenses.DataSource = null;
lboDepenses.Items.Add("Aucune depense");
}
}
private void lboDepenses_Click(object sender, EventArgs e)
private void UpdateSelectedDepense(int depenseId)
{
_connexion.DataSet.Clear();
_connexion.FetchOffline();
string lblProp = "XXX € dépensés par Prénom Nom le DD mois YYYY";
string nomPrenom;
lboBeneficiaires.Items.Clear();
string codeDepense = "";
DataRow depense = _connection.Filter("Depenses", "numDepense = " + depenseId).Rows[0];
DataRow user = _connection.Filter("Participants", "codeParticipant = " + depense["codePart"]).Rows[0];
lblProprietes.Text = depense["montant"] + " € dépensés par " + user["nomComp"] + " le "
+ DateTime.Parse(depense["dateDepense"].ToString()).ToString("dd/MM/yyyy");
lblCommentaire.Text = depense["description"].ToString();
try
{
lblProprietes.Text = lblProp;
if (lboDepenses.Items[0].ToString() == "aucune depense")
{
MessageBox.Show("aucune dépense");
lboBeneficiaires.DataSource = null;
}
else
{
codeDepense = lboDepenses.SelectedValue.ToString();
DataTable select = _connexion.Filter("Depenses", "numDepense = " + codeDepense);
string montant = select.Rows[0]["montant"].ToString();
int part = (int)select.Rows[0]["codePart"];
DataTable beneficiaire = _connexion.Filter("Beneficiaires", "numDepense = " + codeDepense);
int numBenef;
DataTable nomBenef = null;
string date = select.Rows[0]["dateDepense"].ToString().Substring(0, 10);
if (cboParticipant.SelectedIndex != part - 1)
{
cboParticipant.SelectedIndex = part - 1;
}
nomPrenom = cboParticipant.Text;
lblProprietes.Text = lblProprietes.Text.Replace("XXX", montant);
lblProprietes.Text = lblProprietes.Text.Replace("Prénom Nom", nomPrenom);
lblProprietes.Text = lblProprietes.Text.Replace("DD mois YYYY", date);
for (int i = 0; i < beneficiaire.Rows.Count; i++)
{
numBenef = (int)beneficiaire.Rows[i]["codePart"];
nomBenef = _connexion.Filter("Participants", "codeParticipant = " + numBenef);
lboBeneficiaires.Items.Add(nomBenef.Rows[0]["nomComp"]);
}
}
lboBeneficiaires.DataSource = _connection.GetBeneficiaires(depenseId);
lboBeneficiaires.DisplayMember = "nomComp";
lboBeneficiaires.ValueMember = "codeParticipant";
}catch(ArgumentException) { }
try
{
cboAddBeneficiaire.DataSource =
_connection.GetNonBeneficiaires(depenseId, (int) cboEvenement.SelectedValue);
cboAddBeneficiaire.DisplayMember = "nomComp";
cboAddBeneficiaire.ValueMember = "codeParticipant";
}
catch (NullReferenceException er)
catch (ArgumentException)
{
MessageBox.Show("erreur " + er.Message);
cboAddBeneficiaire.DataSource = null;
cboAddBeneficiaire.SelectedIndex = -1;
}
}
private void cboEvenement_SelectionChangeCommitted(object sender, EventArgs e)
{
UpdateEvent((int) cboEvenement.SelectedValue);
}
private void cboParticipant_SelectionChangeCommitted(object sender, EventArgs e)
{
UpdateUser((int) cboEvenement.SelectedValue, (int) cboParticipant.SelectedValue);
}
private void lboDepenses_Click(object sender, EventArgs e)
{
if (lboDepenses.DataSource != null)
UpdateSelectedDepense((int) lboDepenses.SelectedValue);
}
private void btnNouvelleDep_Click(object sender, EventArgs e)
{
int id = cboEvenement.SelectedIndex;
FrmMain.GetInstance().ShowMenu(new MenuNouvelleDepense(id));
FrmMain.GetInstance().ShowMenu(new MenuNouvelleDepense((int) cboEvenement.SelectedValue));
}
private void btnAjouter_Click(object sender, EventArgs e)
{
try
{
bool ok = false;
Dictionary<string, object> values = new Dictionary<string, object>();
values.Add("numDepense", lboDepenses.SelectedValue);
values.Add("codePart", cboAddBeneficiaire.SelectedValue);
OleDbCommand command = _connexion.InsertInto("Beneficiaires", values);
ok = command.ExecuteNonQuery() == 1;
_connexion.FetchOffline();
data.Clear();
data = _connexion.DataSet;
OleDbCommand command = _connection.InsertInto("Beneficiaires", values);
command.ExecuteNonQuery();
_connection.FetchOffline();
_data = _connection.DataSet;
UpdateSelectedDepense((int) lboBeneficiaires.SelectedValue);
}
catch (OleDbException er)
catch (OleDbException)
{
MessageBox.Show("impossible d'ajouter le bénéficiaire ");
}
......
......@@ -20,9 +20,15 @@ namespace Mango.Controls.Menu
private readonly int _eventIndex;
public MenuNouvelleDepense(int eventIndex)
public MenuNouvelleDepense(int eventId)
{
_eventIndex = eventIndex;
DataTable events = _connection.Filter("Evenements", "NOT soldeON");
for (int i = 0; i < events.Rows.Count ; i++)
{
if ((int) events.Rows[i]["codeEvent"] == eventId)
_eventIndex = i;
}
InitializeComponent();
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment