public Form_Caisse_Click()
        {
            InitializeComponent();
            familles = new List<FamilleArticle>();
            //charger famillesa articles
            familles.Clear();
            //familles = BLL.FamilleArticleBll.Liste_("select * from yvs_base_famille_article");

            famillesCrits = new List<FamilleArticle>();
            articlesCrits = new List<Article>();
            articles = new List<Article>();
            clients = new List<Client>();
            modes = new List<ModePaiement>();

            contenu = new Contenu();

            ConfigForm();

            // tout réinitialiser
            archive = true;
            //btnReglement.Enabled = false;

            //panel4.Enabled = false;
            //picClient.Enabled = false;
            // btnEnregistrer.Enabled = false;
            //SearchDirectionF(2);
            LoadAll();
        }
示例#2
0
 public static List<Contenu> getListContenu(String query)
 {
     NpgsqlConnection con = Connexion.Connection();
     try
     {
         List<Contenu> l = new List<Contenu>();
         NpgsqlCommand Lcmd = new NpgsqlCommand(query, con);
         NpgsqlDataReader lect = Lcmd.ExecuteReader();
         if (lect.HasRows)
         {
             while (lect.Read())
             {
                 Contenu a = new Contenu();
                 a.Id = Convert.ToInt64(lect["id"].ToString());
                 a.Commission = (Double)((lect["comission"] != null) ? (!lect["comission"].ToString().Trim().Equals("") ? lect["comission"] : 0.0) : 0.0);
                 a.Prix = (Double)((lect["prix"] != null) ? (!lect["prix"].ToString().Trim().Equals("") ? lect["prix"] : 0.0) : 0.0);
                 a.Quantite = (Double)((lect["quantite"] != null) ? (!lect["quantite"].ToString().Trim().Equals("") ? lect["quantite"] : 0.0) : 0.0);
                 a.PrixTotal = a.Prix * a.Quantite;
                 a.RemiseArt = (Double)((lect["remise_art"] != null) ? (!lect["remise_art"].ToString().Trim().Equals("") ? lect["remise_art"] : 0.0) : 0.0);
                 a.RemiseCat = (Double)((lect["remise_cat"] != null) ? (!lect["remise_cat"].ToString().Trim().Equals("") ? lect["remise_cat"] : 0.0) : 0.0);
                 a.Remise = a.RemiseCat + a.RemiseArt;
                 a.Ristourne = (Double)((lect["ristourne"] != null) ? (!lect["ristourne"].ToString().Trim().Equals("") ? lect["ristourne"] : 0.0) : 0.0);
                 a.DateContenu = (DateTime)((lect["date_contenu"] != null) ? (!lect["date_contenu"].ToString().Trim().Equals("") ? lect["date_contenu"] : DateTime.Now) : DateTime.Now);
                 a.Article = (lect["article"] != null
                     ? (!lect["article"].ToString().Trim().Equals("")
                     ? BLL.ArticleComBll.One(Convert.ToInt64(lect["article"].ToString()))
                     : new ArticleCom())
                     : new ArticleCom());
                 a.Update = true;
                 l.Add(a);
             }
             lect.Close();
         }
         return l;
     }
     catch (NpgsqlException e)
     {
         Messages.Exception(e);
         return null;
     }
     finally
     {
         Connexion.Deconnection(con);
     }
 }
示例#3
0
 public bool Control(Contenu bean)
 {
     if (bean == null)
     {
         Messages.ShowErreur("Le contenu ne peut pas être null");
         return(false);
     }
     if ((bean.facture != null) ? bean.facture.Id < 1 : true)
     {
         Messages.ShowErreur("Vous devez dabord enregsitrer la facture!");
         return(false);
     }
     if ((bean.article != null) ? bean.article.Id < 1 : true)
     {
         Messages.ShowErreur("L'article ne peut pas être null");
         return(false);
     }
     if (bean.Prix < 1)
     {
         Messages.ShowErreur("Le prix ne peut pas être négatif");
         return(false);
     }
     if (bean.Quantite < 1)
     {
         Messages.ShowErreur("Vous devez entrer une quantitée");
         return(false);
     }
     if (bean.Quantite > bean.article.Stock)
     {
         if (bean.article.Article.MethodeVal.Equals(Constantes.FIFO))
         {
             Messages.ShowErreur("Stock insuffisant pour cette vente");
             return(false);
         }
         Messages.Alert("Le stock de cette article est négatif!");
     }
     return(true);
 }
示例#4
0
 public static Contenu getAjoutContenu(Contenu a)
 {
     NpgsqlConnection con = Connexion.Connection();
     try
     {
         string insert = "insert into yvs_com_contenu_doc_vente"
             + "(article, doc_vente, quantite, prix, remise_art, remise_cat, ristourne, comission, supp, actif, date_contenu, date_save)"
             + " values (" + a.Article.Id + ", " + a.Facture.Id + ", " + a.Quantite + ", " + a.Prix + ", " + a.RemiseArt + ", " + a.RemiseCat + ", "
             + a.Ristourne + ", " + a.Commission + ", false, true, '" + a.DateContenu + "', '" + DateTime.Now + "')";
         NpgsqlCommand cmd = new NpgsqlCommand(insert, con);
         cmd.ExecuteNonQuery();
         a.Id = getCurrent();
         return a;
     }
     catch (NpgsqlException e)
     {
         Messages.Exception(e);
         return null;
     }
     finally
     {
         Connexion.Deconnection(con);
     }
 }
 private Contenu RecopieViewContenu()
 {
     Contenu c = new Contenu();
     c.Id = contenu.Id;
     c.Article = contenu.Article;
     c.Facture = fact;
     //c.Prix = Convert.ToDouble((!txt_prix_article.Text.Trim().Equals("")) ? txt_prix_article.Text.Trim() : "0");
     //c.Quantite = Convert.ToDouble((!txt_qte_article.Text.Trim().Equals("")) ? txt_qte_article.Text.Trim() : "0");
     c.DateContenu = contenu.DateContenu;
     c.PrixTotal = c.Prix * c.Quantite;
     c.RemiseArt = contenu.RemiseArt;
     c.RemiseCat = contenu.RemiseCat;
     c.Remise = c.RemiseArt + c.RemiseCat;
     c.Ristourne = contenu.Ristourne;
     c.Commission = contenu.Commission;
     c.Update = contenu.Update;
     c.New_ = true;
     return c;
 }
 private void PopulateViewContenu(Contenu c)
 {
     contenu = new Contenu();
     contenu = c;
 }
 private void NvoTicket_Click_1(object sender, EventArgs e)
 {
     contenu = new Contenu();
     ConfigForm();
     initZonePrix();
     clientZero = BLL.ClientBll.Default();
     dataGridView1.Rows.Clear();
     picClient.Enabled = true;
     btnEnregistrer.Enabled = true;
     fact = new Facture();
     fact.TypeDoc = Constantes.TYPE_FV;
     fact.Statut = Constantes.ETAT_EN_ATTENTE;
     fact.Client = BLL.ClientBll.Default();
     fact.Categorie = fact.Client.Categorie;
     fact.HeureDoc = DateTime.Now;
     fact.MouvStock = true;
     com_typeDoc.Text = "Facture";
     SetStateFacture(true);
     configFacture(null);
     initZonePrix();
     InitInfoClient();
     nbrPgA = 0;
     btn_cpt_Famille.Text = "0/" + nbrPgF;
     btn_cpt_Articles.Text = "0/" + nbrPgA;
     SearchDirectionF(true);
 }
示例#8
0
 public static void TotalRRRContenuDoc(Facture d, Contenu c)
 {
     if ((d != null) ? d.Client != null : false)
     {
         TotalRemiseContenuDoc(c, d.Client.CategorieClt);
     }
 }
 private void ResetFicheContenu()
 {
     txt_prix_article.Text = "0";
     txt_qte_article.Text = "0";
     com_article.ResetText();
     contenu = new Contenu();
 }
示例#10
0
 private void UpdateRowContenu(Contenu c)
 {
     UpdateRowContenu(dataGridView1, c);
 }
示例#11
0
 public static bool getUpdateContenu(Contenu a)
 {
     NpgsqlConnection con = Connexion.Connection();
     try
     {
         string update = "update yvs_com_contenu_doc_vente set "
             + " article=" + a.Article.Id + ", doc_vente=" + a.Facture.Id + ", quantite=" + a.Quantite + ", prix=" + a.Prix + ","
             + " remise_art=" + a.RemiseArt + ", remise_cat=" + a.RemiseCat + ", ristourne=" + a.Ristourne + ", comission=" + a.Commission + ","
             + " date_contenu='" + a.DateContenu + "', date_save='" + DateTime.Now + "'"
             + " where id = " + a.Id;
         NpgsqlCommand Ucmd = new NpgsqlCommand(update, con);
         Ucmd.ExecuteNonQuery();
         return true;
     }
     catch (Exception e)
     {
         Messages.Exception(e);
         return false;
     }
     finally
     {
         Connexion.Deconnection(con);
     }
 }
示例#12
0
        private void com_article_SelectedIndexChanged(object sender, EventArgs e)
        {
            contenu = new Contenu();
            Article a = com_article.SelectedItem as Article;
            a = articles.Find(x => x.Id == a.Id);
            txt_prix_article.Text = a.Prix.ToString();
            txt_qte_article.Text = "0";
            contenu.Article = BLL.ArticleComBll.One(a);

            foreach (Contenu c in facture.Contenus)
            {
                if (c.Article.Id.Equals(contenu.Article.Id))
                {
                    contenu.Id = c.Id;
                    contenu.Update = true;
                    txt_qte_article.Text = c.Quantite.ToString();
                    Messages.Alert("Ce contenu existe deja. Passer en mode modification!");
                    break;
                }
            }
        }
示例#13
0
 public static Contenu getOneContenu(long id)
 {
     NpgsqlConnection con = Connexion.Connection();
     try
     {
         String search = "select * from yvs_com_contenu_doc_vente where id = " + id;
         NpgsqlCommand Lcmd = new NpgsqlCommand(search, con);
         NpgsqlDataReader lect = Lcmd.ExecuteReader();
         Contenu a = new Contenu();
         if (lect.HasRows)
         {
             while (lect.Read())
             {
                 a.Id = Convert.ToInt64(lect["id"].ToString());
                 a.Commission = (Double)((lect["comission"] != null) ? (!lect["comission"].ToString().Trim().Equals("") ? lect["comission"] : 0.0) : 0.0);
                 a.Prix = (Double)((lect["prix"] != null) ? (!lect["prix"].ToString().Trim().Equals("") ? lect["prix"] : 0.0) : 0.0);
                 a.Quantite = (Double)((lect["quantite"] != null) ? (!lect["quantite"].ToString().Trim().Equals("") ? lect["quantite"] : 0.0) : 0.0);
                 a.PrixTotal = a.Prix * a.Quantite;
                 a.RemiseArt = (Double)((lect["remise_art"] != null) ? (!lect["remise_art"].ToString().Trim().Equals("") ? lect["remise_art"] : 0.0) : 0.0);
                 a.RemiseCat = (Double)((lect["remise_cat"] != null) ? (!lect["remise_cat"].ToString().Trim().Equals("") ? lect["remise_cat"] : 0.0) : 0.0);
                 a.Remise = a.RemiseCat + a.RemiseArt;
                 a.Ristourne = (Double)((lect["ristourne"] != null) ? (!lect["ristourne"].ToString().Trim().Equals("") ? lect["ristourne"] : 0.0) : 0.0);
                 a.DateContenu = (DateTime)((lect["date_contenu"] != null) ? (!lect["date_contenu"].ToString().Trim().Equals("") ? lect["date_contenu"] : DateTime.Now) : DateTime.Now);
                 a.Article = (lect["article"] != null
                     ? (!lect["article"].ToString().Trim().Equals("")
                     ? BLL.ArticleComBll.One(Convert.ToInt64(lect["article"].ToString()))
                     : new ArticleCom())
                     : new ArticleCom());
                 a.Update = true;
             }
             lect.Close();
         }
         return a;
     }
     catch (NpgsqlException e)
     {
         Messages.Exception(e);
         return null;
     }
     finally
     {
         Connexion.Deconnection(con);
     }
 }
示例#14
0
 private void AddRowContenu(Contenu c)
 {
     AddRowContenu(dgv_contenu, c);
 }
示例#15
0
 private void AddRowContenu(DataGridView data, Contenu c)
 {
     if (c != null)
     {
         data.Rows.Add(new object[] { c.Id, new Bitmap(c.Article.Image, new Size(16, 16)), c.Article.Designation, c.Prix, c.Quantite, c.PrixTotal, null });
     }
 }
示例#16
0
 private void UpdateRowContenu(Contenu c)
 {
     UpdateRowContenu(dgv_contenu, c);
 }
示例#17
0
 private void ResetFicheFacture()
 {
     rowFacture = -1;
     fact = new Facture();
     fact.TypeDoc = Constantes.TYPE_FV;
     fact.Statut = Constantes.ETAT_EN_ATTENTE;
     fact.Client = BLL.ClientBll.Default();
     fact.Categorie = clientZero.Categorie;
     fact.HeureDoc = DateTime.Now;
     fact.MouvStock = true;
     dataGridView1.Rows.Clear();
     dgv_reglement.Rows.Clear();
     fact.Client = clientZero;
     com_typeDoc.Text = "Facture";
     SetStateFacture(true);
     configFacture(null);
     contenu = new Contenu();
 }
示例#18
0
 private void AddRowContenu(Contenu c)
 {
     AddRowContenu(dataGridView1, c);
 }
示例#19
0
 private void UpdateRowContenu(DataGridView data, Contenu f)
 {
     data.Rows.RemoveAt(Utils.GetRowData(data, f.Id));
     AddRowContenu(data, f);
 }
示例#20
0
 public bool Control(Contenu bean)
 {
     if (bean == null)
     {
         Messages.ShowErreur("Le contenu ne peut pas être null");
         return false;
     }
     if ((bean.facture != null) ? bean.facture.Id < 1 : true)
     {
         Messages.ShowErreur("Vous devez dabord enregsitrer la facture!");
         return false;
     }
     if ((bean.article != null) ? bean.article.Id < 1 : true)
     {
         Messages.ShowErreur("L'article ne peut pas être null");
         return false;
     }
     if (bean.Prix < 1)
     {
         Messages.ShowErreur("Le prix ne peut pas être négatif");
         return false;
     }
     if (bean.Quantite < 1)
     {
         Messages.ShowErreur("Vous devez entrer une quantitée");
         return false;
     }
     if (bean.Quantite > bean.article.Stock)
     {
         if (bean.article.Article.MethodeVal.Equals(Constantes.FIFO))
         {
             Messages.ShowErreur("Stock insuffisant pour cette vente");
             return false;
         }
         Messages.Alert("Le stock de cette article est négatif!");
     }
     return true;
 }
示例#21
0
 private void AddRowContenu(DataGridView data, Contenu c)
 {
     if (c != null)
     {
         data.Rows.Add(new object[] { c.Id, c.Article.Article.Designation, c.Prix, c.Quantite, c.PrixTotal, null });
     }
 }
示例#22
0
 private void PopulateViewContenu(Contenu c)
 {
     ResetFicheContenu();
     contenu = c;
     com_article.SelectedText = articles.Find(a => a.Id == c.Article.Article.Id).Designation;
     txt_prix_article.Text = c.Prix.ToString();
     txt_qte_article.Text = c.Quantite.ToString();
 }
示例#23
0
 private void Form_Caisse_Click_Load(object sender, EventArgs e)
 {
     Constantes.form_caisse_click = this;
     contenu = new Contenu();
 }
示例#24
0
        //modification des boutons des articles
        private void ModifButton(Button ctl, Article cli, Label lbl)
        {
            lbl.Visible = true;
            lbl.Text = cli.Designation;
            ctl.BackgroundImage = (System.Drawing.Image)cli.Image;
            ctl.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
            ctl.Text = "";
            ctl.UseVisualStyleBackColor = true;
            ctl.Visible = true;
            ctl.Font = new System.Drawing.Font("Trebuchet MS", 12F, System.Drawing.FontStyle.Bold,
                System.Drawing.GraphicsUnit.Point, ((byte)(0)));

            ctl.Click += delegate(object sender, EventArgs e)
            {
                contenu = new Contenu();

                if ((fact != null) ? fact.Id < 1 : true)
                {
                    Messages.ShowErreur("Vous devez dabord enregsitrer la facture!");
                    return;
                }
                else
                {
                    //sauvegarde nouveau contenu
                    contenu.Article = BLL.ArticleComBll.One(cli);
                    contenu.Facture = fact;
                    contenu.Prix = cli.Prix;
                    contenu.New_ = true;
                    //qté article
                    Form_Caisse_Quantite f = new Form_Caisse_Quantite(this);
                    f.Text = "Quantité de: " + cli.Designation;
                    f.ShowDialog();
                    if ((contenu.Quantite != 0) || (contenu.Quantite == null))
                    {
                        ctl.BackColor = Color.DarkGray;
                        ctl.Enabled = false;
                        btnReglement.Enabled = true;
                        contenu.PrixTotal = contenu.Quantite * contenu.Prix;
                        //SommSR.Text = Convert.ToString(Convert.ToDouble(SommSR.Text) + contenu.PrixTotal);
                    }
                }

                //contenu.Update=true;
                if (contenu.Control())
                {
                    if (!contenu.Update)
                    {
                        contenu.DateContenu = DateTime.Now;
                        Contenu c_ = new BLL.ContenuBll(contenu).Insert();
                        if ((c_ != null) ? c_.Id > 0 : false)
                        {
                            contenu.Id = c_.Id;
                            contenu.Update = true;
                            fact.Contenus.Add(contenu);
                            AddRowContenu(contenu);
                            contenu.Update = true;
                            Messages.Succes();
                        }
                    }
                    else
                    {
                        if (new BLL.ContenuBll(contenu).Update())
                        {
                            contenu.Update = true;
                            fact.Contenus[fact.Contenus.FindIndex(x => x.Id == contenu.Id)] = contenu;
                            UpdateRowContenu(contenu);

                            contenu.Update = true;
                            Messages.Succes();
                        }
                    }
                    Utils.MontantTotalDoc(fact);
                    configFacture(fact);
                    UpdateCurrentFacture(fact);
                }

            };
        }
示例#25
0
        public static void TotalRemiseContenuDoc(Contenu c, CategorieClient ca)
        {
            if ((ca != null) ? c != null : false)
            {
                ArticleCom a = c.Article;
                if (a != null)
                {
                    //Gestion Remise Sur l'article par le plan tarifaire
                    Article a_ = a.Article;
                    if ((a_ != null) ? ((a_.Plans != null) ? a_.Plans.Count > 0 : false) : false)
                    {
                        PlanTarifaire p = a_.Plans[0];
                        c.Prix = p.Puv;
                        c.RemiseArt = MontantRemise(p.Remise_, c.Quantite, c.PrixTotal);
                    }

                    //Gestion Remise Sur l'article par le plan de remise
                    foreach (PlanRemise p in ca.Remises)
                    {
                        if (p.Article.Equals(a))
                        {
                            c.RemiseCat = MontantRemise(p.Remise, c.Quantite, c.PrixTotal);
                            break;
                        }
                    }
                }
            }
        }
示例#26
0
        private void NvoTicket_Click(object sender, EventArgs e)
        {
            contenu = new Contenu();

            InitButton(buttonAs, labelAs);
            initZonePrix();
            clientZero = BLL.ClientBll.Default();
            dataGridView1.Rows.Clear();
            picClient.Enabled = true;
            btnEnregistrer.Enabled = true;
            archive = false;
            fact = new Facture();
            fact.TypeDoc = Constantes.TYPE_FV;
            fact.Statut = Constantes.ETAT_EN_ATTENTE;
            fact.Client = BLL.ClientBll.Default();
            fact.Categorie = fact.Client.Categorie;
            fact.HeureDoc = DateTime.Now;
            fact.MouvStock = true;

            com_typeDoc.Text = "Facture";
            SetStateFacture(true);
            configFacture(null);
            clientZero = BLL.ClientBll.Default();
            dpt = TOOLS.Constantes.Creneau.Depot;
            indTabF = 0; indTabA = 0;
            // création de la liste des boutons famille
            buttonFs = new List<Button> { button7, button8, button9, button10, button11, button12, button13, button14 };
            // création de la liste des labels famille
            labelFs = new List<Label> { lbl1, lbl2, lbl3, lbl4, lbl5, lbl6, lbl7, lbl8 };

            // création de la liste des boutons article
            buttonAs = new List<Button> { button15, button16, button17, button18, button19, button20, button21, button22 };
            // création de la liste des labels article
            labelAs = new List<Label> { label18, label20, label21, label22, label23, label24, label25, label26 };
            //lise datagridviews
            datagrids = new List<DataGridView> { dgv_commande, dgv_facture_cours, dgv_facture_regle, dgv_facture_wait, dgv_reglement };
            InitButton(buttonFs, labelFs);
            InitButton(buttonAs, labelAs);
            initZonePrix();
            InitInfoClient();
        }
示例#27
0
        public static void TotalTaxeContenuDoc(Facture doc, Contenu cont)
        {
            double taux = 0;
            double s = cont.PrixTotal;
            double r = cont.RemiseArt + cont.RemiseCat;

            CategorieComptable c = doc.Categorie;
            if (c != null)
            {
                foreach (ArticleComptable a in c.Articles)
                {
                    if (a.Article.Equals(cont.Article.Article) && a.Actif)
                    {
                        foreach (ArticleTaxe t in a.Articles)
                        {
                            taux += (s * (t.Taxe.Taux / 100));
                            if (t.AppRemise)
                            {
                                taux += (r * (t.Taxe.Taux / 100));
                            }
                        }
                    }
                }
            }
            cont.PrixTaxe = taux;
            doc.MontantTaxe += taux;
        }
示例#28
0
 public ContenuBll(Contenu unContenu)
 {
     contenu = unContenu;
 }