Ejemplo n.º 1
0
 private void LogoutClick(object obj)
 {
     MVM.User = new Person();
     MVM.ReadPeopleFile();
     MVM.ReadProductFile();
     MVM.CurrentView = new LoginVM(MVM);
 }
Ejemplo n.º 2
0
        private void SaveClick(object obj)
        {
            Person temp = new Person();

            temp = MVM.People.Where(x => x.FirstName == User.FirstName && x.LastName == User.LastName) as Person;
            MVM.People.Remove(temp);
            MVM.People.Add(User);
            MVM.WriteXmlFile(MVM.People);
        }
Ejemplo n.º 3
0
        // GET: Home
        public ActionResult Index()
        {
            mvm = new MVM();
            LinkDataContext BDD = new LinkDataContext();

            mvm.Tout           = BDD.GetAll().ToList();
            mvm.ListGenre      = BDD.GetAllGenre().ToList();
            mvm.ListCollection = BDD.GetCollection().ToList();

            return(View(mvm));
        }
        public ActionResult ajouterMission(MVM mission, int id_ordre, int id_marche)
        {
            //ajout de domaine
            int           budget_mission = 0, budget_restant = 0;
            Participation par = dbmetier.Participations.Where(a => a.id_marché_participation == id_marche).First();
            ICollection <Participation_profil> listparti = par.Participation_profil;

            foreach (var item in mission.listeprofils)
            {
                budget_mission += item.charge * (int)listparti.Where(a => a.Profil.libelle_profil == item.libelle).Select(a => a.cout_unit_ht).FirstOrDefault();
            }

            Participation participation = dbmetier.Participations.Where(a => a.id_marché_participation == id_marche).FirstOrDefault();
            Marché        marche        = dbmetier.Marché.Find(id_marche);

            budget_restant = (int)participation.budget_prestation - (int)marche.montant_total;
            if (budget_mission <= budget_restant)
            {
                marche.montant_total += budget_mission;
                Ordre_service ordre = dbmetier.Ordre_service.Find(id_ordre);
                ordre.date_modification = System.DateTime.Now;
                Domaine domaine = dbmetier.Domaines.Where(x => x.libelle_domaine == mission.mission.Domaine.libelle_domaine).FirstOrDefault();
                Mission mision  = new Mission
                {
                    libelle_mission       = mission.mission.libelle_mission,
                    id_domaine_mission_fk = domaine.id_domaine,
                    id_marche_mission     = marche.id_marché
                    ,
                    id_ordreservice_fk = ordre.id_ordre_service
                };
                dbmetier.Missions.Add(mision);
                dbmetier.SaveChanges();
                foreach (var profillib in mission.listeprofils)
                {
                    Profil prof = dbmetier.Profils.Where(x => x.libelle_profil == profillib.libelle).FirstOrDefault();
                    Affectation_profils afectation = new Affectation_profils
                    {
                        id_mission_affectation = mision.id_mission,
                        id_profils_affectation = prof.id_profil,
                        charge_profil          = profillib.charge
                    };
                    dbmetier.Affectation_profils.Add(afectation);
                    dbmetier.SaveChanges();
                }
            }

            return(null);
        }
Ejemplo n.º 5
0
        public void LocationSelected()
        {
            if (SelectedField == null)
            {
                return;
            }

            FieldLocationData location = NodeList.FirstOrDefault();//SummaryRowDatas.FirstOrDefault(data => data.subTitle == (SelectedField as FieldData)?.name).locationId;

            OnPropertyChanged(nameof(NodeList));
            SelectedNode = NodeList[0];
            OnPropertyChanged(nameof(SelectedNode));

            MVM.SetCenter(location.lat, location.lon);

            NodeSelected();
        }
Ejemplo n.º 6
0
        private async void LoadData()
        {
            IsDataLoading = Visibility.Visible;
            OnPropertyChanged(nameof(IsDataLoading));
            var fieldsList = await App.MainDbViewModel.GetFieldListAsync();

            var summarydata = await App.MainDbViewModel.GetSummaryAsync();


            if (fieldsList == default(FieldData[]) || summarydata == default(SummaryData))
            {
                if (!App.MainDbViewModel.IsLoggedIn)
                {
                    UserLogOut();
                }
                else
                {
                    var dialog = new MessageDialog("Can not retrieve data.\nTry again later");
                    await dialog.ShowAsync();
                }
            }
            else
            {
                SummaryRowDatas = new ObservableCollection <SumRow>(summarydata.rows);
                Fields          = new ObservableCollection <FieldData>(fieldsList);
                //var dialog = new MessageDialog(Fields[0].name);
                //await dialog.ShowAsync();
                //RefreshTileData(SummaryRowDatas.FirstOrDefault().locationId);

                if (SelectedField == null)
                {
                    SelectedField = Fields[0];
                }

                OnPropertyChanged(nameof(Fields));
                OnPropertyChanged(nameof(SelectedField));

                MVM.LoadMapElements(Fields.Select(i => i.polygon).ToList(), Fields.Select(i => i.locations).ToList());
            }
        }
        public ActionResult Dashboardresp(int id_marche)
        {
            int             totale_mission;
            IList <Mission> list_desmission_encour    = new List <Mission>();
            IList <Mission> list_desmission_nonlances = new List <Mission>();
            IList <Mission> list_desmission_complete  = new List <Mission>();
            IList <Mission> list_desmission_annule    = new List <Mission>();
            IList <Mission> list_desmission           = dbmetier.Missions.Where(a => a.id_marche_mission == id_marche).ToList();

            foreach (var item in list_desmission)
            {
                if (item.Ordre_service == null)
                {
                    list_desmission_nonlances.Add(item);
                }
                else
                {
                    if (item.Affectation_profils.Count == 0)
                    {
                        list_desmission_annule.Add(item);
                    }
                    if (etat_ordre_service(item.id_ordreservice_fk) == true && item.Affectation_profils.Count != 0)
                    {
                        list_desmission_complete.Add(item);
                    }
                    if (etat_ordre_service(item.id_ordreservice_fk) == false && item.Affectation_profils.Count != 0)
                    {
                        list_desmission_encour.Add(item);
                    }
                }
                ViewBag.list_desmission_nonlances = list_desmission_nonlances;
                ViewBag.list_desmission_complete  = list_desmission_complete;
                ViewBag.list_desmission_encour    = list_desmission_encour;
                ViewBag.list_desmission_annule    = list_desmission_annule;
            }
            totale_mission = list_desmission.Count;
            if (totale_mission != 0)
            {
                ViewBag.pourcentage_nonlances = ((double)list_desmission_nonlances.Count / totale_mission) * 100;
                ViewBag.pourcentage_complete  = ((double )list_desmission_complete.Count / totale_mission) * 100;
                ViewBag.pourcentage_encour    = ((double)list_desmission_encour.Count / totale_mission) * 100;
                ViewBag.pourcentage_annulle   = ((double)list_desmission_annule.Count / totale_mission) * 100;
            }
            int nombre_res = 0, nombre_non = 0;

            IList <Ordre_service> liste_ordre = dbmetier.Marché.Find(id_marche).Projet.Ordre_service.ToList();

            foreach (var item in liste_ordre)
            {
                if (item.etat_reception == true)
                {
                    nombre_res++;
                }
                else
                {
                    nombre_non++;
                }
            }
            ViewBag.pourcentage_ordre_recep     = nombre_res;
            ViewBag.pourcentage_cordre_nonrecep = nombre_non;
            // ordre de service
            IList <Ordre_service> list_ordre  = new List <Ordre_service>();
            //listmision view model
            List <MVM> listMissionVM          = new List <MVM>();
            MVM        element                = new MVM();

            foreach (var item in list_desmission)
            {
                Ordre_service ordre = dbmetier.Ordre_service.Where(a => a.id_ordre_service == item.id_ordreservice_fk).FirstOrDefault();
                if (!list_ordre.Contains(ordre) && ordre != null)
                {
                    list_ordre.Add(ordre);
                }
            }
            Marché marche           = dbmetier.Marché.Find(id_marche);
            int    id_participation = dbmetier.Participations.Where(a => a.id_prestataire_participation == marche.id_prestataire_final && a.id_marché_participation == marche.id_marché).Select(a => a.id_participation).FirstOrDefault();

            // on peut creer un liste de misiion non affecte a un ordre de service ici.
            foreach (var item in list_desmission)
            {
                int cout, cout_totale = 0;
                List <Affectation_profils> listaffectations = dbmetier.Affectation_profils.Where(a => a.id_mission_affectation == item.id_mission).ToList();

                foreach (var item2 in listaffectations)
                {
                    cout         = (int)dbmetier.Participation_profil.Where(a => a.id_profil_fk == item2.Profil.id_profil && a.id_participation_fk == id_participation).Select(a => a.cout_unit_ht).FirstOrDefault();
                    cout_totale += cout * (int)item2.charge_profil;
                }
                element = new MVM {
                    mission = item, cout = cout_totale
                };
                listMissionVM.Add(element);
            }
            ViewBag.listmission = listMissionVM;
            ViewBag.listeordre  = list_ordre;
            ViewBag.Marche      = marche;
            ViewBag.prestataire = dbmetier.prestataires.Find(marche.id_prestataire_final);
            var listedomaines = dbmetier.Domaines.ToList();

            ViewBag.listedomaines = new SelectList(listedomaines, "libelle_domaine", "libelle_domaine");
            var listProfils = dbmetier.Marché.Find(id_marche).Participations.Where(a => a.id_prestataire_participation == marche.id_prestataire_final).FirstOrDefault().Participation_profil.ToList().Select(a => a.Profil);

            ViewBag.listeProfils = new SelectList(listProfils, "libelle_profil", "libelle_profil");
            return(View());
        }