/// <summary>
        /// Constructeur
        /// </summary>
        /// <param name="nav"></param>
        public ViewModelListeChantierPage(INavigation nav)
        {
            _Navigation = nav;

            /*  Chantiers = new ObservableCollection<Chantier>();
             *
             * Chantier pr1 = new Chantier();
             * Chantier pr2 = new Chantier();
             * Chantier pr3 = new Chantier();
             * Chantier pr4 = new Chantier();
             * Chantier pr5 = new Chantier();
             *
             * pr1.Nom = "Chantier 1";
             * pr2.Nom = "Chantier 2";
             * pr3.Nom = "Chantier 3";
             * pr4.Nom = "Chantier 4";
             * pr5.Nom = "Chantier 5";
             *
             *
             * Chantiers.Add(pr1);
             * Chantiers.Add(pr2);
             * Chantiers.Add(pr3);
             * Chantiers.Add(pr4);
             * Chantiers.Add(pr5);*/
            DBChantier             db        = new DBChantier();
            IEnumerable <Chantier> chantiers = db.GetAll();

            Chantiers = new ObservableCollection <Chantier>(chantiers);
        }
Example #2
0
        /// <summary>
        /// WS chantier callback
        /// </summary>
        /// <param name="obj"></param>
        private void ChantierCallback(IRestResponse obj)
        {
            if (obj.StatusCode == System.Net.HttpStatusCode.OK)
            {
                WSChantier        ws        = new WSChantier();
                List <Chantier>   chantiers = ws.JSONToChantier(obj.Content);
                DBChantier        dbc       = new DBChantier();
                DBProduit         dbp       = new DBProduit();
                DBChantierProduit dbcp      = new DBChantierProduit();
                foreach (Chantier c in chantiers)
                {
                    Chantier chantierFound = dbc.GetByIdServeur(c.IDServeur);
                    if (chantierFound != null)
                    {
                        dbc.UpdateByIdServeur(c);
                    }
                    else
                    {
                        dbc.Add(c);
                    }
                    chantierFound = dbc.GetByIdServeur(c.IDServeur);
                    foreach (Produit produit in c.Produits)
                    {
                        Produit p = dbp.GetByIdServeur(produit.IDServeur);
                        if (p != null)
                        {
                            ChantierProduit chantierproduitFound = dbcp.Get(chantierFound.ID, p.ID);
                            if (chantierproduitFound != null)
                            {
                                chantierproduitFound.IDChantier = chantierFound.ID;
                                chantierproduitFound.IDProduit  = p.ID;
                                dbcp.UpdateByIdChantierProduit(chantierproduitFound);
                            }
                            else
                            {
                                dbcp.Add(new ChantierProduit(chantierFound.ID, p.ID));
                            }
                        }
                    }
                }

                IEnumerable <Chantier> allChantiers = dbc.GetAll();
                foreach (Chantier item in allChantiers)
                {
                    bool canDelete = true;
                    foreach (Chantier item2 in chantiers)
                    {
                        if (item.IDServeur == item2.IDServeur)
                        {
                            canDelete = false;
                            break;
                        }
                    }
                    if (canDelete == true)
                    {
                        List <ChantierProduit> cp = dbcp.GetByChantier(item.ID);
                        foreach (ChantierProduit item3 in cp)
                        {
                            dbcp.DeleteByIdChantier(item3.IDChantier);
                        }
                        dbc.Delete(item.ID);
                    }
                }
            }
        }