Exemple #1
0
        public List <FicheFrais> ReadAll()
        {
            List <FicheFrais> liste_ficheFrais = new List <FicheFrais>();

            if (OpenConnection())
            {
                FicheFrais    ficheFrais;
                EmployeDAO    employeManager    = new EmployeDAO();
                RendezVousDAO rendezVousManager = new RendezVousDAO();
                LigneFraisDAO ligneFraisManager = new LigneFraisDAO();
                command             = manager.CreateCommand();
                command.CommandText = "SELECT * FROM fiche_frais";

                // Lecture des résultats
                dataReader = command.ExecuteReader();

                while (dataReader.Read())
                {
                    ficheFrais = new FicheFrais();
                    ficheFrais.Id_fiche_frais      = (int)dataReader["id_fiche_frais"];
                    ficheFrais.Commercial_visiteur = employeManager.Read((int)dataReader["id_commercial_visiteur"]);
                    ficheFrais.Comptable           = dataReader["id_comptable"].ToString() == "" ? null : employeManager.Read((int)dataReader["id_comptable"]);
                    ficheFrais.Rdv                = rendezVousManager.Read((int)dataReader["id_rdv"], false);
                    ficheFrais.Date_fiche         = (DateTime)dataReader["date_fiche"];
                    ficheFrais.Liste_lignes_frais = ligneFraisManager.ReadAllFromFicheFrais(ficheFrais, false);

                    liste_ficheFrais.Add(ficheFrais);
                }

                dataReader.Close();
                CloseConnection();
            }
            return(liste_ficheFrais);
        }
Exemple #2
0
        public async Task <List <FicheFrais> > CreateFicheFrais(int id, CreateFicheModel model)
        {
            if (model == null)
            {
                throw new NullReferenceException("Register model is null");
            }
            var date = DateTime.Now;

            var forfait = await _context.Forfaits.FirstOrDefaultAsync(f => f.Libelle == model.Forfait);

            var idForfait = forfait.Id;
            var montant   = forfait.Montant;
            var etat      = await _context.Etats.FirstOrDefaultAsync(e => e.Id == "CR");

            //var ligne = await _context.LignesFrais.Where(l => l.Mois == date.ToString("MM-yyyy")).ToListAsync();

            var fiche = new FicheFrais();

            fiche.Mois             = date.ToString("MM-yyyy");
            fiche.EtatId           = etat.Id;
            fiche.VisiteurId       = id;
            fiche.ForfaitId        = idForfait;
            fiche.Justificatifs    = Convert.ToInt32(model.Justificatif);
            fiche.MontantValide    = (decimal)montant * Convert.ToInt32(model.Justificatif);
            fiche.DateModification = date;

            _context.FichesFrais.Add(fiche);
            await _context.SaveChangesAsync();

            return(await _context.FichesFrais.Where(f => f.Mois == fiche.Mois).ToListAsync());
        }
Exemple #3
0
        public FicheFrais ReadFromIdCommercialVisiteur(int id_commercial_visiteur)
        {
            FicheFrais ficheFrais = null;

            if (OpenConnection())
            {
                ficheFrais = new FicheFrais();

                command             = manager.CreateCommand();
                command.CommandText = "SELECT * " +
                                      "FROM fiche_frais " +
                                      "WHERE id_commercial_visiteur = @id_commercial_visiteur";
                command.Parameters.AddWithValue("@id_commercial_visiteur", id_commercial_visiteur);

                // Lecture des résultats
                dataReader = command.ExecuteReader();

                while (dataReader.Read())
                {
                    ficheFrais.Id_fiche_frais = (int)dataReader["id_fiche_frais"];
                    ficheFrais.Date_fiche     = (DateTime)dataReader["date_fiche"];
                }

                dataReader.Close();
                CloseConnection();
            }
            return(ficheFrais);
        }
Exemple #4
0
        public FicheFrais Read(int id, bool isSerializeRead)
        {
            FicheFrais ficheFrais = null;

            if (OpenConnection())
            {
                ficheFrais = new FicheFrais();
                LigneFraisDAO ligneFraisManager = new LigneFraisDAO();
                EmployeDAO    employeManager    = new EmployeDAO();
                RendezVousDAO rendezVousManager = new RendezVousDAO();
                command             = manager.CreateCommand();
                command.CommandText = "SELECT * " +
                                      "FROM fiche_frais " +
                                      "WHERE id_fiche_frais = @id_fiche_frais";
                command.Parameters.AddWithValue("@id_fiche_frais", id);

                // Lecture des résultats
                dataReader = command.ExecuteReader();

                while (dataReader.Read())
                {
                    ficheFrais.Id_fiche_frais      = (int)dataReader["id_fiche_frais"];
                    ficheFrais.Comptable           = dataReader["id_comptable"].ToString() == "" ? null : employeManager.Read((int)dataReader["id_comptable"]);
                    ficheFrais.Commercial_visiteur = employeManager.Read((int)dataReader["id_commercial_visiteur"]);
                    ficheFrais.Rdv                = rendezVousManager.Read((int)dataReader["id_rdv"], false);
                    ficheFrais.Date_fiche         = (DateTime)dataReader["date_fiche"];
                    ficheFrais.Liste_lignes_frais = ligneFraisManager.ReadAllFromFicheFrais(ficheFrais, isSerializeRead);
                    Debug.WriteLine(ficheFrais);
                }

                dataReader.Close();
                CloseConnection();
            }
            return(ficheFrais);
        }
Exemple #5
0
        public void UpdateLigneFrais(int id_comptable, int id_ligne_frais, int id_fiche_frais, string etat_ligne_frais)
        {
            EmployeDAO    employeManager    = new EmployeDAO();
            FicheFraisDAO ficheFraisManager = new FicheFraisDAO();
            LigneFraisDAO ligneFraisManager = new LigneFraisDAO();

            FicheFrais ficheFrais = ficheFraisManager.Read(id_fiche_frais, true);

            if (ficheFrais.Comptable == null)
            {
                ficheFrais.Comptable = employeManager.Read(id_comptable);
                ficheFraisManager.Update(ficheFrais);
            }

            LigneFrais ligneFrais = ligneFraisManager.Read(id_ligne_frais, true);

            ligneFrais.EtatLigne         = (LigneFrais.EtatLigneFrais)Enum.Parse(typeof(LigneFrais.EtatLigneFrais), etat_ligne_frais);
            ligneFrais.Date_modification = DateTime.Now;
            if (ligneFrais.EtatLigne == LigneFrais.EtatLigneFrais.mise_en_paiement)
            {
                ligneFrais.Date_engagement = DateTime.Now;
            }
            else
            {
                ligneFrais.Date_engagement = null;
            }
            ligneFraisManager.Update(ligneFrais);
        }
Exemple #6
0
        public void Delete(FicheFrais ficheFrais)
        {
            if (OpenConnection())
            {
                command             = manager.CreateCommand();
                command.CommandText = "DELETE FROM fiche_frais " +
                                      "WHERE id_fiche_frais = @id_fiche_frais";
                command.Parameters.AddWithValue("@id_fiche_frais", ficheFrais.Id_fiche_frais);

                // Delete ligne frais
                command.ExecuteNonQuery();
                CloseConnection();
            }
        }
Exemple #7
0
        public string Read(string table, int id)
        {
            string response = "";

            if (table.Equals("fiche_frais"))
            {
                FicheFraisDAO        ficheFraisManager = new FicheFraisDAO();
                FicheFrais           ficheFrais        = ficheFraisManager.Read(id, true);
                JavaScriptSerializer serializer        = new JavaScriptSerializer();
                response = serializer.Serialize(ficheFrais);
            }

            return(response);
        }
Exemple #8
0
        public void Update(FicheFrais ficheFrais)
        {
            if (OpenConnection())
            {
                command             = manager.CreateCommand();
                command.CommandText = "UPDATE fiche_frais " +
                                      "SET id_comptable=@id_comptable, id_commercial_visiteur=@id_commercial_visiteur, id_rdv=@id_rdv, date_fiche=@date_fiche " +
                                      "WHERE fiche_frais.id_fiche_frais = @id_fiche_frais";

                command.Parameters.AddWithValue("@id_fiche_frais", ficheFrais.Id_fiche_frais);
                command.Parameters.AddWithValue("@id_comptable", ficheFrais.Comptable.Id);
                command.Parameters.AddWithValue("@id_commercial_visiteur", ficheFrais.Commercial_visiteur.Id);
                command.Parameters.AddWithValue("@date_fiche", ficheFrais.Date_fiche);
                command.Parameters.AddWithValue("@id_rdv", ficheFrais.Rdv.Id_rdv);

                command.ExecuteNonQuery();
                CloseConnection();
            }
        }
Exemple #9
0
        public void Create(FicheFrais ficheFrais)
        {
            if (OpenConnection())
            {
                command             = manager.CreateCommand();
                command.CommandText = "INSERT INTO fiche_frais " +
                                      "(id_comptable, id_commercial_visiteur,id_rdv, date_fiche, date_modification) " +
                                      "VALUES (@id_comptable, @id_commercial_visiteur, @id_rdv,  @date_fiche, @date_modification)";

                command.Parameters.AddWithValue("@id_comptable", ficheFrais.Comptable);
                command.Parameters.AddWithValue("@id_commercial_visiteur", ficheFrais.Commercial_visiteur);
                command.Parameters.AddWithValue("@id_rdv", ficheFrais.Rdv);
                command.Parameters.AddWithValue("@date_fiche", ficheFrais.Date_fiche);

                command.ExecuteNonQuery();
                // Add each ligne frais

                CloseConnection();
            }
        }
Exemple #10
0
        public List <LigneFrais> ReadAllFromFicheFrais(FicheFrais ficheFrais, bool isSerializeRead)
        {
            List <LigneFrais> list_fiche_frais = new List <LigneFrais>();

            if (OpenConnection())
            {
                LigneFrais ligne_frais;

                command             = manager.CreateCommand();
                command.CommandText = "SELECT * FROM ligne_frais WHERE id_fiche_frais = @id_fiche_frais";

                command.Parameters.AddWithValue("@id_fiche_frais", ficheFrais.Id_fiche_frais);

                dataReader = command.ExecuteReader();

                while (dataReader.Read())
                {
                    ligne_frais    = new LigneFrais();
                    ligne_frais.Id = (int)dataReader["id_ligne_frais"];
                    if (!isSerializeRead)
                    {
                        ligne_frais.FicheFrais = ficheFrais;
                    }
                    ligne_frais.EtatLigne         = (LigneFrais.EtatLigneFrais)Enum.Parse(typeof(LigneFrais.EtatLigneFrais), (string)dataReader["etat_ligne_frais"]);
                    ligne_frais.Forfait           = (LigneFrais.TypeForfait)Enum.Parse(typeof(LigneFrais.TypeForfait), (string)dataReader["type_forfait"]);
                    ligne_frais.Frais             = (LigneFrais.TypeFrais)Enum.Parse(typeof(LigneFrais.TypeFrais), (string)dataReader["type_frais"]);
                    ligne_frais.Libelle           = (string)dataReader["libelle"];
                    ligne_frais.Date_engagement   = dataReader["date_engagement"].ToString() == "" ? null : (DateTime?)dataReader["date_engagement"];
                    ligne_frais.Date_modification = dataReader["date_modification"].ToString() == "" ? null : (DateTime?)dataReader["date_modification"];
                    ligne_frais.Montant           = (int)dataReader["montant"];
                    list_fiche_frais.Add(ligne_frais);
                }
                dataReader.Close();
                command.ExecuteNonQuery();
                CloseConnection();
            }
            return(list_fiche_frais);
        }
Exemple #11
0
        public static List <FicheFrais> chargerFichesFrais()
        {
            List <FicheFrais> uneListeFichesFrais = new List <FicheFrais>();
            String            uneRequete          = "SELECT idFiche, idUtilisateur,  mois, annee, dateCreation, dateCloture , etat , montantDeclare  FROM fichefrais";

            MySqlDataReader unDataReader = DbConnexion.GetDataReader(uneRequete);

            FicheFrais uneFicheFrais;

            DateTime?uneDate;
            Decimal? unMontantD, unMontantV;

            while (unDataReader.Read())
            {
                Utilisateur unUtilisateur = LesUtilisateurs.chercherUtilisateur(unDataReader.GetString(1));
                uneDate    = null;
                unMontantD = null;
                unMontantV = null;

                if (!unDataReader.IsDBNull(5))
                {
                    uneDate = unDataReader.GetDateTime(5);
                }
                if (!unDataReader.IsDBNull(7))
                {
                    unMontantD = unDataReader.GetDecimal(7);
                }


                uneFicheFrais = new FicheFrais(unDataReader.GetInt32(0), unDataReader.GetInt32(2), unDataReader.GetInt32(3), unDataReader.GetDateTime(4), uneDate, unDataReader.GetString(6), unMontantD, unUtilisateur);

                uneListeFichesFrais.Add(uneFicheFrais);
            }
            unDataReader.Close();
            return(uneListeFichesFrais);
        }
        private void frmNouvelleFicheFrais_Load(object sender, EventArgs e)
        {
            /**********************************************************************************
             * Récupérer de l'id des type de frais
             * *******************************************************************************/

            int idTypeFrais = (this.Owner as frmComptaListeFiches).getIdFicheFraisSelectionne();

            /**********************************************************************************
             * Affichage du type de faris
             * *******************************************************************************/



            /**********************************************************************************
             * Récupération de l'id de la fiche sélectionnée
             * *******************************************************************************/
            int idFicheFrais = (this.Owner as frmComptaListeFiches).getIdFicheFraisSelectionne();


            /**********************************************************************************
             * Recherche de l'objet fichefrais et de l'objet visiteur sélectionnés
             * *******************************************************************************/
            ficheFrais = LesFichesFrais.chercherFicheFrais(idFicheFrais);
            Utilisateur visiteur = LesUtilisateurs.chercherUtilisateur(ficheFrais.getUtilisateur().getId());


            /**********************************************************************************
             * Chargement des lignes concernant la fiche de frais et du visiteur sélectionnée
             * *******************************************************************************/
            List <LigneFrais> lignesFrais = LignesFraisDAO.chargerLignesFrais(ficheFrais.getId());

            LesLignesFrais.remplirLesLignesFrais(lignesFrais);

            ficheFrais.setLignesFrais(LesLignesFrais.obtenirLesLignesFrais());



            /*************************************************************************
            * Affichage des informations dans le formulaire.
            *************************************************************************/
            CultureInfo culture = new CultureInfo("fr-Fr");



            lblNom.Text    = visiteur.getNom();
            lblPrenom.Text = visiteur.getPrenom();

            lblDateCloture.Text = "";
            if (ficheFrais.getDateCloture() != null)
            {
                lblDateCloture.Text = ficheFrais.getDateCloture().Value.ToString("dd-MM-yyyy");
            }

            lblEtat.Text = ficheFrais.getEtatLong();


            Decimal?montantDeclare = ficheFrais.getMontantDeclare();

            lblMontant.Text = (montantDeclare != null ? montantDeclare.Value.ToString("C") : "");
            //DataGridView1.Rows(indiceLigne).Selected = True

            /*************************************************************************
            * Remplissage du datagridview
            *************************************************************************/
            dgvLignesFiches.RowCount = LesLignesFrais.nbLignesFrais();

            Decimal?totalDeclare;
            int     ligne = 0;

            foreach (LigneFrais uneLigneFrais in LesLignesFrais.obtenirLesLignesFrais())
            {
                // ****************************************************************
                // Affichage des informations dans le DGV
                // ****************************************************************
                dgvLignesFiches[0, ligne].Value = uneLigneFrais.getTypeFrais().getLibelle();
                dgvLignesFiches[1, ligne].Value = uneLigneFrais.getTypeFrais().getMontant().ToString("C");
                dgvLignesFiches[2, ligne].Value = uneLigneFrais.getQuantiteDeclaree();
                totalDeclare = uneLigneFrais.getQuantiteDeclaree() * uneLigneFrais.getTypeFrais().getMontant();
                dgvLignesFiches[3, ligne].Value = (totalDeclare != null ? totalDeclare.Value.ToString("C") : "");
                cbxTypeDeFrais.Items.Add(uneLigneFrais.getTypeFrais().getLibelle());


                ligne++;
            }

            lblMontant.Text = (montantDeclare != null ? montantDeclare.Value.ToString("C") : "");
        }
Exemple #13
0
        private void frmGestFiche_Load(object sender, EventArgs e)
        {
            /**********************************************************************************
             * Récupération de l'id de la fiche sélectionnée
             * *******************************************************************************/
            int idFicheFrais = (this.Owner as frmGestListeFiches).getIdFicheFraisSelectionne();


            /**********************************************************************************
             * Recherche de l'objet fichefrais et de l'objet visiteur sélectionnés
             * *******************************************************************************/
            ficheFrais = LesFichesFrais.chercherFicheFrais(idFicheFrais);
            Utilisateur visiteur = LesUtilisateurs.chercherUtilisateur(ficheFrais.getUtilisateur().getId());


            /**********************************************************************************
             * Chargement des lignes concernant la fiche de frais et du visiteur sélectionnée
             * *******************************************************************************/
            List <LigneFrais> lignesFrais = LignesFraisDAO.chargerLignesFrais(ficheFrais.getId());

            LesLignesFrais.remplirLesLignesFrais(lignesFrais);

            ficheFrais.setLignesFrais(LesLignesFrais.obtenirLesLignesFrais());



            /*************************************************************************
            * Affichage des informations dans le formulaire.
            *************************************************************************/
            CultureInfo culture = new CultureInfo("fr-Fr");

            lblTitre.Text        = "Fiche de frais n° " + ficheFrais.getId() + " - " + culture.DateTimeFormat.GetMonthName(ficheFrais.getMois()) + " " + ficheFrais.getAnnee();
            lblNomPrenom.Text    = visiteur.getNomComplet();
            lblAdresse.Text      = visiteur.getAdresse();
            lblCPVille.Text      = visiteur.getCPVille();
            lblDateEmbauche.Text = visiteur.getDateEmbauche().ToString("dd-MM-yyyy");

            lblDateCloture.Text = "";
            if (ficheFrais.getDateCloture() != null)
            {
                lblDateCloture.Text = ficheFrais.getDateCloture().Value.ToString("dd-MM-yyyy");
            }

            lblEtat.Text = ficheFrais.getEtatLong();


            Decimal?montantDeclare = ficheFrais.getMontantDeclare();

            lblMontantDeclare2.Text = (montantDeclare != null ? montantDeclare.Value.ToString("C") : "");



            /*************************************************************************
            * Remplissage du datagridview
            *************************************************************************/
            dgvLignesFiches.RowCount = LesLignesFrais.nbLignesFrais();

            Decimal?totalDeclare;
            int     ligne = 0;

            foreach (LigneFrais uneLigneFrais in LesLignesFrais.obtenirLesLignesFrais())
            {
                dgvLignesFiches[0, ligne].Value = uneLigneFrais.getTypeFrais().getLibelle();
                dgvLignesFiches[1, ligne].Value = uneLigneFrais.getTypeFrais().getMontant().ToString("C");
                dgvLignesFiches[2, ligne].Value = uneLigneFrais.getQuantiteDeclaree();
                totalDeclare = uneLigneFrais.getQuantiteDeclaree() * uneLigneFrais.getTypeFrais().getMontant();
                dgvLignesFiches[3, ligne].Value = (totalDeclare != null ? totalDeclare.Value.ToString("C") : "");

                ligne++;
            }

            lblMontantDeclare1.Text = (montantDeclare != null ? montantDeclare.Value.ToString("C") : "");

            /**********************************************************************************
            * Activation/désactivation des boutons selon l'état actuel
            **********************************************************************************/
            if (ficheFrais.getEtat() != "EC")
            {
                btnCloturer.Enabled = false;
            }
            if (ficheFrais.getEtat() != "VA")
            {
                btnMEP.Enabled = false;
            }
            if (ficheFrais.getEtat() != "MP")
            {
                btnRembourse.Enabled = false;
            }

            /**********************************************************************************
            * Activation de l'évènement SelectionChanged du datagridview dgvLignesFiches
            **********************************************************************************/
            dgvLignesFiches.SelectionChanged += dgvLignesFiches_SelectionChanged;
            if (dgvLignesFiches.Rows.Count > 0)
            {
                dgvLignesFiches.Rows[0].Selected = false;
                dgvLignesFiches.Rows[0].Selected = true;
            }
        }
Exemple #14
0
        public static int enregistrerNouvelEtat(FicheFrais ficheFrais)
        {
            String uneRequete = "UPDATE fichefrais  SET etat = '" + ficheFrais.getEtat() + "' WHERE idFiche = " + ficheFrais.getId();

            return(DbConnexion.noQuery(uneRequete));
        }
Exemple #15
0
        public List <FicheFrais> ReadAllFromEmploye(Employe employe)
        {
            List <FicheFrais> liste_ficheFrais = new List <FicheFrais>();

            if (OpenConnection())
            {
                FicheFrais    ficheFrais;
                EmployeDAO    employeManager    = new EmployeDAO();
                LigneFraisDAO ligneFraisManager = new LigneFraisDAO();

                string SQL_Request = "SELECT * FROM fiche_frais ";

                if (employe.Type == Employe.TypeEmploye.comptable)
                {
                    SQL_Request += "WHERE id_comptable = @id_employe";
                }
                else
                {
                    SQL_Request += "WHERE id_commercial_visiteur = @id_employe";
                }

                command             = manager.CreateCommand();
                command.CommandText = SQL_Request;

                command.Parameters.AddWithValue("@id_employe", employe.Id);

                // Lecture des résultats
                dataReader = command.ExecuteReader();

                if (employe.Type == Employe.TypeEmploye.comptable)
                {
                    while (dataReader.Read())
                    {
                        ficheFrais = new FicheFrais();
                        ficheFrais.Id_fiche_frais      = (int)dataReader["id_fiche_frais"];
                        ficheFrais.Commercial_visiteur = employeManager.Read((int)dataReader["id_commercial_visiteur"]);
                        ficheFrais.Comptable           = employe;
                        ficheFrais.Date_fiche          = (DateTime)dataReader["date_fiche"];
                        ficheFrais.Liste_lignes_frais  = ligneFraisManager.ReadAllFromFicheFrais(ficheFrais, false);

                        liste_ficheFrais.Add(ficheFrais);
                    }
                }
                else
                {
                    while (dataReader.Read())
                    {
                        ficheFrais = new FicheFrais();
                        ficheFrais.Id_fiche_frais      = (int)dataReader["id_fiche_frais"];
                        ficheFrais.Commercial_visiteur = employe;
                        ficheFrais.Comptable           = dataReader["id_comptable"].ToString() == "" ? null : employeManager.Read((int)dataReader["id_comptable"]);
                        ficheFrais.Date_fiche          = (DateTime)dataReader["date_fiche"];
                        ficheFrais.Liste_lignes_frais  = ligneFraisManager.ReadAllFromFicheFrais(ficheFrais, false);

                        liste_ficheFrais.Add(ficheFrais);
                    }
                }

                dataReader.Close();
                CloseConnection();
            }
            return(liste_ficheFrais);
        }