Esempio n. 1
0
        /// <summary>
        /// Method used to find a row by using his object.
        /// </summary>
        /// <param name="Marque">The data to find (without Id).</param>
        /// <returns>The row Id (Reference).</returns>
        public static int Contains(MarquesModel Marque)
        {
            int Reference = -1;

            SQLiteConnection Connection = DaoContext.Connection;

            Connection.Open();

            using (SQLiteCommand Cmd = Connection.CreateCommand())
            {
                Cmd.CommandText = @"SELECT * FROM Marques WHERE Nom=@Nom;";
                Cmd.Parameters.AddWithValue("@Nom", Marque.Nom);

                using (SQLiteDataReader Reader = Cmd.ExecuteReader())
                {
                    if (Reader.Read())
                    {
                        Reference = int.Parse(Reader["RefMarque"].ToString());
                    }
                }
            }

            Connection.Close();

            return(Reference);
        }
        /// <summary>
        /// The ViewModel constructor.
        /// </summary>
        /// <param name="Type"></param>
        /// <param name="Classe"></param>
        /// <param name="RefArticle"></param>
        public AjouterModifierViewModel(String Type, String Classe, int Reference)
        {
            View = new AjouterModifierView(this, Classe, Type);

            if (Type.Equals("Modifier"))
            {
                if (Classe.Equals("Familles"))
                {
                    FamillesModel CurrentFamille = FamillesDao.SelectByID(Reference);
                    View.SetDescriptionFamille(CurrentFamille);
                    ReferenceVM = Reference;
                }
                else if (Classe.Equals("SousFamilles"))
                {
                    SousFamillesModel CurrentSousFamille = SousFamillesDao.SelectByID(Reference);
                    Modif = (SousFamillesDao.SelectByID(Reference)).Famille;
                    View.SetDescriptionSousFamille(CurrentSousFamille);
                    ReferenceVM = Reference;
                }
                else
                {
                    MarquesModel CurrentMarque = MarquesDao.SelectByID(Reference);
                    View.SetDescriptionMarque(CurrentMarque);
                    ReferenceVM = Reference;
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Method used to select a list of brands.
        /// </summary>
        /// <param name="Articles">The list of articles.</param>
        public static List <MarquesModel> SelectAll()
        {
            bool IsOpenHere = false;
            List <MarquesModel> AllTable = new List <MarquesModel>();
            MarquesModel        Marque   = null;

            SQLiteConnection Connection = DaoContext.Connection;

            if (Connection.State == ConnectionState.Closed)
            {
                Connection.Open(); IsOpenHere = true;
            }

            using (SQLiteCommand Cmd = Connection.CreateCommand())
            {
                Cmd.CommandText = @"SELECT * FROM Marques;";
                SQLiteDataReader reader = Cmd.ExecuteReader();
                while (reader.Read())
                {
                    Marque = new MarquesModel(int.Parse(reader["RefMarque"].ToString()), reader["Nom"].ToString());
                    AllTable.Add(Marque);
                }
                reader.Close();
            }
            if (Connection.State == ConnectionState.Open && IsOpenHere)
            {
                Connection.Close();
            }
            return(AllTable);
        }
Esempio n. 4
0
        /// <summary>
        /// Get a brand in database.
        /// </summary>
        /// <param name="Article"><b>Articles</b>The article to add.</param>
        public static MarquesModel SelectByID(int id)
        {
            bool         IsOpenHere = false;
            MarquesModel Marque     = null;

            SQLiteConnection Connection = DaoContext.Connection;

            if (Connection.State == ConnectionState.Closed)
            {
                Connection.Open(); IsOpenHere = true;
            }

            using (SQLiteCommand Cmd = Connection.CreateCommand())
            {
                Cmd.CommandText = @"SELECT * FROM Marques WHERE RefMarque = @RefMarque;";
                Cmd.Parameters.AddWithValue("@RefMarque", id);
                SQLiteDataReader reader = Cmd.ExecuteReader();
                while (reader.Read())
                {
                    Marque = new MarquesModel(reader["Nom"].ToString());
                }
                reader.Close();
            }

            if (Connection.State == ConnectionState.Open && IsOpenHere)
            {
                Connection.Close();
            }
            return(Marque);
        }
Esempio n. 5
0
        /// <summary>
        /// Check if a Marque is in a MarquesModel list.
        /// </summary>
        /// <param name="Marques">The list to check.</param>
        /// <param name="Marque">The Marque to check.</param>
        /// <returns></returns>
        private MarquesModel ContainsMarque(List <MarquesModel> Marques, MarquesModel Marque)
        {
            foreach (MarquesModel MarqueInList in Marques)
            {
                if (MarqueInList.Nom == Marque.Nom)
                {
                    return(MarqueInList);
                }
            }

            return(null);
        }
 /// <summary>
 /// Update the current Marque.
 /// </summary>
 /// <param name="CurrentDescription">The current Marque.</param>
 public void UpdateMarque(String CurrentDescription)
 {
     if (ReferenceVM == -1)
     {
         MarquesModel CurrentMarque = new MarquesModel(CurrentDescription);
         MarquesDao.Insert(CurrentMarque);
     }
     else
     {
         MarquesModel CurrentMarque = new MarquesModel(ReferenceVM, CurrentDescription);
         MarquesDao.Update(CurrentMarque);
     }
     View.Close();
 }
        /// <summary>
        /// Initialize the ComboxBox with all the saved Marques and put the current Article Marques first.
        /// </summary>
        /// <param name="Marques">The saved Marques.</param>
        /// <param name="CurrentMarque">The current Article Marques.</param>
        public void SetMarqueChampModif(List <MarquesModel> Marques, MarquesModel CurrentMarque)
        {
            Dictionary <int, String> MarqueCombo = new Dictionary <int, String>();

            MarqueCombo.Add(CurrentMarque.RefMarque, CurrentMarque.Nom);
            foreach (MarquesModel Marque in Marques)
            {
                if (Marque.RefMarque != CurrentMarque.RefMarque)
                {
                    MarqueCombo.Add(Marque.RefMarque, Marque.Nom);
                }
            }
            this.MarqueChamp.DataSource    = new BindingSource(MarqueCombo, null);
            this.MarqueChamp.DisplayMember = "Value";
            this.MarqueChamp.ValueMember   = "Key";
        }
Esempio n. 8
0
        /// <summary>
        /// Method used to update a row (by Id).
        /// </summary>
        /// <param name="Marque">The data to update.</param>
        public static void Update(MarquesModel Marque)
        {
            SQLiteConnection Connection = DaoContext.Connection;

            Connection.Open();

            using (SQLiteCommand Cmd = Connection.CreateCommand())
            {
                Cmd.CommandText = @"UPDATE Marques SET Nom=@Nom WHERE RefMarque=@RefMarque;";
                Cmd.Parameters.AddWithValue("@RefMarque", Marque.RefMarque);
                Cmd.Parameters.AddWithValue("@Nom", Marque.Nom);

                Cmd.ExecuteNonQuery();
            }

            Connection.Close();
        }
Esempio n. 9
0
        /// <summary>
        /// Insert a trademark in database.
        /// </summary>
        /// <param name="Marque"><b>Articles</b>The trademark to add.</param>
        public static void Insert(MarquesModel Marque)
        {
            SQLiteConnection Connection = DaoContext.Connection;

            Connection.Open();

            using (SQLiteCommand Cmd = Connection.CreateCommand())
            {
                /* Request to add the new trademark. */
                Cmd.CommandText = @"INSERT INTO Marques(Nom) VALUES(@Nom);";
                Cmd.Parameters.AddWithValue("@Nom", Marque.Nom);

                Cmd.ExecuteNonQuery();

                Cmd.CommandText = @"select last_insert_rowid()";
                int LastId = int.Parse(Cmd.ExecuteScalar().ToString());
                Marque.RefMarque = LastId;
            }

            Connection.Close();
        }
        /// <summary>
        /// Update or Create the current item with the new values and close the Update Window.
        /// </summary>
        /// <param name="RefArticle">The Reference of the Article.</param>
        /// <param name="Description">The Description of the Article.</param>
        /// <param name="Famille">The Famille of the Article.</param>
        /// <param name="SousFamille">The Sous Famille of the Article.</param>
        /// <param name="Marque">The Marque of the Article.</param>
        /// <param name="Quantite">The Quantite of the Article.</param>
        public void UpdateArticle(string RefArticle, string Description, String Famille, String SousFamille, String Marque, int Quantite)
        {
            FamillesModel FamilleObj = new FamillesModel(Famille);

            FamilleObj.RefFamille = FamillesDao.Contains(FamilleObj);
            SousFamillesModel SousFamilleObj = new SousFamillesModel(FamilleObj, SousFamille);

            SousFamilleObj.RefSousFamille = SousFamillesDao.Contains(SousFamilleObj);
            MarquesModel MarqueObj = new MarquesModel(Marque);

            MarqueObj.RefMarque = MarquesDao.Contains(MarqueObj);
            ArticlesModel Article = new ArticlesModel(RefArticle, Description, SousFamilleObj, MarqueObj, 0, Quantite);

            if (ArticlesDao.Contains(Article))
            {
                ArticlesDao.Update(Article);
            }
            else
            {
                ArticlesDao.Insert(Article);
            }

            View.Close();
        }
Esempio n. 11
0
        /// <summary>
        /// Clean the current database and add new datas from a CSV file.
        /// </summary>
        public void Import_Erase(string filename, ProgressBar Progress)
        {
            List <ParserModel> records = ReadCSV(filename);
            string             AdvertMessage;
            List <int>         SuccessArticles;
            List <int>         SuccessFamilles;
            List <int>         SuccessMarques;
            List <int>         SuccessSousFamilles;

            if (records != null)
            {
                Progress.Maximum = 8;

                /* Erase all datas */
                ArticlesDao.Clear();
                Progress.PerformStep();

                SousFamillesDao.Clear();
                Progress.PerformStep();

                FamillesDao.Clear();
                Progress.PerformStep();

                MarquesDao.Clear();
                Progress.PerformStep();

                /* Creating data objects */
                List <FamillesModel>     Familles     = new List <FamillesModel>();
                List <SousFamillesModel> SousFamilles = new List <SousFamillesModel>();
                List <MarquesModel>      Marques      = new List <MarquesModel>();
                List <ArticlesModel>     Articles     = new List <ArticlesModel>();
                FamillesModel            Famille;
                SousFamillesModel        SousFamille;
                MarquesModel             Marque;
                ArticlesModel            Article;

                foreach (ParserModel Parse in records)
                {
                    Famille = new FamillesModel(Parse.Famille);
                    Marque  = new MarquesModel(Parse.Marque);

                    if (ContainsFamille(Familles, Famille) == null)
                    {
                        Familles.Add(Famille);
                    }

                    SousFamille = new SousFamillesModel(ContainsFamille(Familles, Famille), Parse.SousFamille);

                    if (ContainsSousFamille(SousFamilles, SousFamille) == null)
                    {
                        SousFamilles.Add(SousFamille);
                    }

                    if (ContainsMarque(Marques, Marque) == null)
                    {
                        Marques.Add(Marque);
                    }

                    Article = new ArticlesModel(Parse.Ref, Parse.Description,
                                                ContainsSousFamille(SousFamilles, SousFamille),
                                                ContainsMarque(Marques, Marque), Parse.Prix, 0);
                    Articles.Add(Article);
                }

                SuccessFamilles = FamillesDao.ImportDatas(Familles);
                Progress.PerformStep();

                SuccessSousFamilles = SousFamillesDao.ImportDatas(SousFamilles);
                Progress.PerformStep();

                SuccessMarques = MarquesDao.ImportDatas(Marques);
                Progress.PerformStep();

                SuccessArticles = ArticlesDao.ImportDatas(Articles);
                Progress.PerformStep();

                ImportResult(SuccessFamilles, SuccessSousFamilles, SuccessMarques, SuccessArticles);
            }
            ImportWindow.Close();
        }
Esempio n. 12
0
 /// <summary>
 /// Initialize the Textfield with the current Marque Description.
 /// </summary>
 /// <param name="CurrentMarque">The current Marque Description.</param>
 public void SetDescriptionMarque(MarquesModel CurrentMarque)
 {
     this.DescriptionChamp.Text = CurrentMarque.Nom;
 }