Пример #1
0
        protected void Cerca()
        {
            Expression <Func <Dipendente, bool> > complete    = PredicateBuilder.True <Dipendente>();
            Expression <Func <Dipendente, bool> > exprNome    = a => a.Nome.Contains(RicercaNome);
            Expression <Func <Dipendente, bool> > exprCognome = a => a.Cognome.Contains(RicercaCognome);
            Expression <Func <Dipendente, bool> > exprData    = a => a.DataNascita == RicercaDataNascita;

            if (!string.IsNullOrEmpty(RicercaNome))
            {
                complete = complete.And(exprNome);
            }
            if (!string.IsNullOrEmpty(RicercaCognome))
            {
                complete = complete.And(exprCognome);
            }
            if (RicercaDataNascita != null)
            {
                complete = complete.And(exprData);
            }

            //AsExpendable Preso da LinqKit
            using (PavimentalContext context = new PavimentalContext())
            {
                Risultati = context.Dipendenti.AsExpandable().Where(complete).ToList();
            }
        }
Пример #2
0
        private void VerificaDB()
        {
            //string dataDirectory = AppDomain.CurrentDomain.GetData("DataDirectory") as string;
            using (PavimentalContext db = new PavimentalContext())
            {
                //Se esiste verifico che sia compatibile
                if (db.Database.Exists())
                {
                    bool compatibile = db.Database.CompatibleWithModel(false);
                    if (!compatibile)
                    {
                        db.Database.Delete();
                        db.Database.Create();
                        InitializeDB.InitalizeAll();
                    }
                }
                else
                {
                    db.Database.Create();
                    InitializeDB.InitalizeAll();
                }

                //Faccio questa query per ottimizzare le successive
                var temp = db.ConoscenzaCompetenze.ToList();
            }
        }
Пример #3
0
        public RisultatiDipendentePerFiguraViewModel(FiguraProfessionale figura)
        {
            DisplayTabName = "Sostituti per " + figura.Titolo;

            LoadParametri();

            //Non dovrebbe capitare mai
            if (figura.Conoscenze.Count == 0)
            {
                using (PavimentalContext context = new PavimentalContext())
                {
                    //TODO ricontrollare
                    context.FigureProfessionali.Include(f => f.Conoscenze.Select(c => c.Competenza))
                    .Include(f => f.Conoscenze.Select(c => c.LivelloConoscenza))
                    .Include(f => f.Conoscenze.Select(c => c.Competenza.TipologiaCompetenza));
                    Figura = context.FigureProfessionali.Find(figura.Id);
                }
            }
            else
            {
                //dipendente deve avere tutte le conoscenze caricate
                Figura = figura;
            }

            //Non faccio l'autoprogress, setto il valore massimo pari al numero di elementi sul db da analizzare
            using (PavimentalContext context = new PavimentalContext())
            {
                DipendentiTotali = context.Dipendenti.Count();
            }

            //Faccio partire l'algoritmo in background
            StartBackground(AvviaAlgoritmo);
        }
Пример #4
0
        public void InsertCompetenza()
        {
            PavimentalContext context = new PavimentalContext("PavimentalDb");

            context.Competenze.Add(new Competenza()
            {
                Titolo      = "Italiano",
                Descrizione = "descrizione1",
                Peso        = 1
            });
            context.Competenze.Add(new Competenza()
            {
                Titolo      = "Inglese",
                Descrizione = "descrizione2",
                Peso        = 1
            });
            context.Competenze.Add(new Competenza()
            {
                Titolo      = "Francese",
                Descrizione = "descrizione3",
                Peso        = 1
            });

            context.SaveChanges();
        }
Пример #5
0
        public void Reset()
        {
            PavimentalContext context = new PavimentalContext();

            context.Database.Delete();
            context.Database.Create();
        }
Пример #6
0
        private void CancellaFiguraProfessionale(PavimentalContext context, Ruolo figura)
        {
            /*
             *
             *  foreach (var c in figura.Conoscenze)
             *  {
             *      ConoscenzaCompetenza con = new ConoscenzaCompetenza() { Id = c.Id };
             *      context.ConoscenzaCompetenze.Attach(con);
             *      context.ConoscenzaCompetenze.Remove(con);
             *  }
             *  context.SaveChanges();
             *
             *  FiguraProfessionale figToRemove = new FiguraProfessionale() { Id = figura.Id };
             *  context.FigureProfessionali.Attach(figToRemove);
             *  context.FigureProfessionali.Remove(figToRemove);
             *
             *  context.SaveChanges();
             *
             *  figura = null;
             */

            Ruolo figToRemove = new Ruolo()
            {
                Id = figura.Id
            };

            context.FigureProfessionali.Attach(figToRemove);
            context.FigureProfessionali.Remove(figToRemove);

            context.SaveChanges();
        }
Пример #7
0
        public void InsertCapo()
        {
            PavimentalContext context = new PavimentalContext();

            ConoscenzaCompetenza conoscenza1 = new ConoscenzaCompetenza();

            conoscenza1.Competenza        = context.Competenze.Single(c => c.Titolo == "Italiano");
            conoscenza1.LivelloConoscenza = context.LivelliConoscenza.Single(lc => lc.Titolo == "Alto");

            ConoscenzaCompetenza conoscenza2 = new ConoscenzaCompetenza();

            conoscenza2.Competenza        = context.Competenze.Single(c => c.Titolo == "Inglese");
            conoscenza2.LivelloConoscenza = context.LivelliConoscenza.Single(lc => lc.Titolo == "Alto");

            List <ConoscenzaCompetenza> conoscenze = new List <ConoscenzaCompetenza>();

            conoscenze.Add(conoscenza1);
            conoscenze.Add(conoscenza2);
            context.Ruoli.Add(new Ruolo()
            {
                //Area = new Area() { Id = 1 },
                Titolo = "Capo",
                //Conoscenze = conoscenze
            });
        }
Пример #8
0
        private void SalvaCompetenza()
        {
            if (CompetenzaSelezionata != null)
            {
                using (PavimentalContext context = new PavimentalContext())
                {
                    //Sto facendo un update
                    if (CompetenzaSelezionata.Id == 0)
                    {
                        context.Competenze.Add(CompetenzaSelezionata);
                    }
                    else
                    {
                        var competenza = context.Competenze.Find(CompetenzaSelezionata.Id);
                        competenza.Titolo                = CompetenzaSelezionata.Titolo;
                        competenza.Descrizione           = CompetenzaSelezionata.Descrizione;
                        competenza.TipologiaCompetenzaId = CompetenzaSelezionata.TipologiaCompetenza.Id;
                    }

                    var ret = context.SaveChanges();
                }
            }

            Stato = "poppp";
        }
Пример #9
0
        private void CancellaDipendente(PavimentalContext context, Dipendente dipendente)
        {
            /*foreach (var c in dipendente.Conoscenze)
             * {
             *  ConoscenzaCompetenza con = new ConoscenzaCompetenza() { Id = c.Id };
             *  context.ConoscenzaCompetenze.Attach(con);
             *  context.ConoscenzaCompetenze.Remove(con);
             * }
             * context.SaveChanges();
             *
             * Dipendente dipToRemove = new Dipendente() { Id = dipendente.Id };
             * context.Dipendenti.Attach(dipToRemove);
             * context.Dipendenti.Remove(dipToRemove);
             *
             * context.SaveChanges();*/


            Dipendente dipToRemove = new Dipendente()
            {
                Id = dipendente.Id
            };

            context.Dipendenti.Attach(dipToRemove);
            context.Dipendenti.Remove(dipToRemove);

            context.SaveChanges();
        }
Пример #10
0
        //Mi arriva il LivelloConoscenza e devo restituire il Valore
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            int id = System.Convert.ToInt32(value);

            using (PavimentalContext context = new PavimentalContext())
                return(context.LivelliConoscenza.Single(lc => lc.Id == id).Valore);
        }
Пример #11
0
        void InizializzaDB()
        {
            using (PavimentalContext db = new PavimentalContext())
            {
                db.Database.Delete();
                db.Database.Create();
            }

            InitializeDB.InitalizeAll();
        }
Пример #12
0
        public void GetValue()
        {
            PavimentalContext context = new PavimentalContext();
            var tutti = context.Competenze.ToList();

            foreach (var p in tutti)
            {
                string titolo = p.Titolo;
            }
        }
Пример #13
0
        //Mi arriva il valore letto dalla TextBox e devo restituire l'oggetto
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            //questo è il valore
            int valore = System.Convert.ToInt16(value);

            //LivelloConoscenza livello;
            int livelloId;

            using (PavimentalContext context = new PavimentalContext())
                livelloId = context.LivelliConoscenza.Single(lc => lc.Valore == valore).Id;

            return(livelloId);
        }
Пример #14
0
        public void InsertAnagrafica()
        {
            var value = ConfigurationManager.ConnectionStrings["PavimentalDb"];
            PavimentalContext context = new PavimentalContext();

            context.Dipendenti.Add(new Dipendente()
            {
                Nome    = "ciccio",
                Cognome = "panza"
            });

            context.SaveChanges();
        }
Пример #15
0
        private void SalvaTutteCompetenze()
        {
            using (PavimentalContext context = new PavimentalContext())
            {
                foreach (var competenzaMod in CompetenzeLista)
                {
                    var competenza = context.Competenze.Find(competenzaMod.Id);
                    competenza.Titolo                = competenzaMod.Titolo;
                    competenza.Descrizione           = competenzaMod.Descrizione;
                    competenza.TipologiaCompetenzaId = competenzaMod.TipologiaCompetenza.Id;
                }

                var ret = context.SaveChanges();
            }
        }
Пример #16
0
        protected void Cerca()
        {
            Expression <Func <FiguraProfessionale, bool> > complete = PredicateBuilder.True <FiguraProfessionale>();
            Expression <Func <FiguraProfessionale, bool> > exprNome = a => a.Titolo.Contains(RicercaTitolo);

            if (!string.IsNullOrEmpty(RicercaTitolo))
            {
                complete = complete.And(exprNome);
            }

            //AsExpendable Preso da LinqKit
            using (PavimentalContext context = new PavimentalContext())
            {
                Risultati = context.FigureProfessionali.AsExpandable().Where(complete).ToList();
            }
        }
        public RisultatiFiguraPerDipendenteViewModel(Dipendente dipendente)
        {
            DisplayTabName = "Sostituti per " + dipendente.Cognome;

            /*//Sta arrivando un oggetto con solo l'ID
             * if (dipendente.Conoscenze.Count == 0) non mi arriva mai
             * {
             *  //dipendente deve avere tutte le conoscenze caricate
             *  using (PavimentalDb context = new PavimentalDb())
             *  {
             *      context.Anagrafica.Include(a => a.Conoscenze.Select(c => c.Competenza))
             *          .Include(a => a.Conoscenze.Select(c => c.LivelloConoscenza))
             *          .Include(a => a.Conoscenze.Select(c => c.Competenza.TipologiaCompetenza));
             *      Dipendente = context.Anagrafica.Find(dipendente.Id);
             *  }
             * }*/

            LoadParametri();


            //Non ho salvato il dipendente e mi mancano però le conoscenze per calcolare gli indici
            if (dipendente.Id == 0)
            {
                using (PavimentalContext context = new PavimentalContext())
                {
                    foreach (var cc in dipendente.Conoscenze)
                    {
                        cc.LivelloConoscenza = context.LivelliConoscenza.Find(cc.LivelloConoscenzaId);
                    }
                    Dipendente = dipendente;
                }
            }
            else
            {
                //dipendente deve avere tutte le conoscenze caricate
                Dipendente = dipendente;
            }

            //Non faccio l'autoprogress, setto il valore massimo pari al numero di elementi sul db da analizzare
            using (PavimentalContext context = new PavimentalContext())
            {
                FigureProfessionaliTotali = context.FigureProfessionali.Count();
            }

            //Faccio partire l'algoritmo in background
            StartBackground(AvviaAlgoritmo);
        }
Пример #18
0
        public void UpdateDipendente()
        {
            Dipendente dip = new Dipendente();

            dip.Id          = 1;
            dip.Nome        = "pidasdadad";
            dip.DataNascita = DateTime.Now;



            using (PavimentalContext context = new PavimentalContext())
            {
                context.Dipendenti.Attach(dip);
                context.Entry <Dipendente>(dip).State = System.Data.EntityState.Modified;
                context.SaveChanges();
            }
        }
Пример #19
0
        /// <summary>
        /// Legge la competenza selezionata nella combobox e l'aggiunge a quelle del dipendente
        /// </summary>
        protected void AggiungiCompetenza()
        {
            using (PavimentalContext context = new PavimentalContext())
            {
                var livelloNullo = context.LivelliConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE);

                Dipendente.Conoscenze.Add(new ConoscenzaCompetenza()
                {
                    Competenza = CompetenzaDisponibileSelezionata,
                    //LivelloConoscenza = livelloNullo
                    CompetenzaId        = CompetenzaDisponibileSelezionata.Id,
                    LivelloConoscenzaId = livelloNullo.Id
                });

                RaisePropertyChanged("CompetenzeDisponibiliDaAggiungere");
                UpdateConoscenzeGroup();
            }
        }
Пример #20
0
        public void RepositoryTest()
        {
            var context        = new PavimentalContext();
            var contextAdapter = new DbContextAdapter(context);
            var unitOfWork     = new UnitOfWork(contextAdapter);

            var teamRepository = new BaseRepository <Area>(contextAdapter);
            var newArea        = new Area {
                Nome = "Da Bears"
            };

            teamRepository.Add(newArea);
            unitOfWork.Commit();



            context.Dispose();
        }
Пример #21
0
        public void InsertAltro()
        {
            PavimentalContext context = new PavimentalContext();

            //context.Aree.Add(new Area() { Nome = "Area1" });
            context.LivelliConoscenza.Add(new LivelloConoscenza()
            {
                Titolo = "Basso",
                Valore = 1
            });
            context.LivelliConoscenza.Add(new LivelloConoscenza()
            {
                Titolo = "Alto",
                Valore = 2
            });

            context.SaveChanges();
        }
Пример #22
0
        //private void LoadDipendente(int dipendenteId)
        private void LoadDipendente()
        {
            //Nella ricerca non carico le proprietà correlate, quindi devo effettuare la query su DB,
            //per ricaricare tutto
            using (PavimentalContext context = new PavimentalContext())
            {
                Dipendente = context.Dipendenti.Include(a => a.Conoscenze.Select(c => c.Competenza))
                             .Include(a => a.Conoscenze.Select(c => c.LivelloConoscenza))
                             .Include(a => a.Conoscenze.Select(c => c.Competenza.TipologiaCompetenza))
                             .SingleOrDefault(a => a.Id == _dipendenteId);
            }

            //Può essere null magari perchè ho cancellato quell'entità ed è rimasta aperta la scheda
            if (Dipendente == null)
            {
                //TODO
                Stato = "Utente non trovato";
            }
        }
Пример #23
0
        //private void LoadDipendente(int dipendenteId)
        private void LoadFigura()
        {
            //Nella ricerca non carico le proprietà correlate, quindi devo effettuare la query su DB,
            //per ricaricare tutto
            using (PavimentalContext context = new PavimentalContext())
            {
                FiguraProfessionale = context.FigureProfessionali.Include(f => f.Conoscenze.Select(c => c.Competenza))
                                      .Include(f => f.Conoscenze.Select(c => c.LivelloConoscenza))
                                      .Include(f => f.Conoscenze.Select(c => c.Competenza.TipologiaCompetenza))
                                      .SingleOrDefault(f => f.Id == _figuraProfessionaleId);
            }

            //Può essere null magari perchè ho cancellato quell'entità ed è rimasta aperta la scheda
            if (FiguraProfessionale == null)
            {
                //TODO
                Stato = "Figura professionale non trovata";
            }
        }
Пример #24
0
        /// <summary>
        /// Metodo per il salvataggio del dipendente, per evitare duplicazioni devo leggermi tutte le competenze e ricrearle
        /// </summary>
        private void SalvaDipendente()
        {
            //Ricreo l'oggetto
            Dipendente dip = new Dipendente();

            dip.Cognome     = Dipendente.Cognome;
            dip.Nome        = Dipendente.Nome;
            dip.DataNascita = Dipendente.DataNascita;


            dip.Conoscenze = new List <ConoscenzaCompetenza>();

            //Mi scorro tutte le conoscenze
            foreach (var c in Dipendente.Conoscenze)
            {
                //e salvo solo quelle diverse da 0
                if (c.LivelloConoscenza.Titolo != Tipologiche.Livello.INSUFFICIENTE)
                {
                    ConoscenzaCompetenza conoscenza = new ConoscenzaCompetenza();

                    conoscenza.LivelloConoscenzaId = c.LivelloConoscenzaId;
                    conoscenza.CompetenzaId        = c.CompetenzaId;
                    dip.Conoscenze.Add(conoscenza);
                }
            }

            using (PavimentalContext context = new PavimentalContext())
            {
                if (EditMode)
                {
                    CancellaDipendente(context, Dipendente);
                }


                //context.Entry(dip).State = System.Data.EntityState.Modified;
                context.Dipendenti.Add(dip);
                context.SaveChanges();
            }

            _dipendenteId = dip.Id;
            LoadDipendente();
            EditMode = true;
        }
Пример #25
0
        public CompetenzeViewModel()
        {
            Stato = "kkk";
            AddConoscenzaCommand = new RelayCommand(
                () => AggiungiCompetenza());

            SalvaCommand = new RelayCommand(
                () => SalvaCompetenza());

            SalvaTuttoCommand = new RelayCommand(
                () => SalvaTutteCompetenze());

            //Carica le competenze
            using (PavimentalContext context = new PavimentalContext())
            {
                CompetenzeLista     = new ObservableCollection <Competenza>(context.Competenze.Include(c => c.TipologiaCompetenza));
                TipologieCompetenze = context.TipologieCompetenze.ToList();
            }
        }
Пример #26
0
        private void CreaNuovoDipendente()
        {
            using (PavimentalContext context = new PavimentalContext())
            {
                var livelloNullo  = context.LivelliConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE);
                var allCompetenze = context.Competenze.Include(c => c.TipologiaCompetenza).ToList();

                /*var knowHowVuoto = (from c in allCompetenze
                 *                  select new ConoscenzaCompetenza()
                 *                  {
                 *                      Competenza = c,
                 *                      //LivelloConoscenza = livelloNullo
                 *                      CompetenzaId = c.Id,
                 *                      LivelloConoscenzaId = livelloNullo.Id
                 *                  }).ToList();*/

                Dipendente = new Dipendente();// { Conoscenze = knowHowVuoto };
            }
        }
Пример #27
0
        public void Ricerca()
        {
            try
            {
                using (PavimentalContext context = new PavimentalContext())
                {
                    //context.Database.Delete();
                    //context.Database.Create();
                    //InitializeDB.InitalizeAll();
                    var figure = context.Ruoli.Include(f => f.Conoscenze.Select(c => c.Competenza))
                                 .Include(f => f.Conoscenze.Select(c => c.LivelloConoscenza))
                                 .AsEnumerable();
                    Dipendente dip = CreaDipendenteTest(context);

                    List <object> risultati = new List <object>();

                    foreach (var figura in figure)
                    {
                        bool   idoneo                = false;
                        double percentuale           = 0;
                        int    punteggioOsservato    = 0; // dip.IndiceTotale;
                        int    punteggioAtteso       = 0; // figura.IndiceTotale;
                        double punteggioAttesoMinimo = punteggioAtteso * 70.0 / 100;
                        if (punteggioOsservato > punteggioAttesoMinimo)
                        {
                            idoneo      = true;
                            percentuale = (double)punteggioOsservato / punteggioAtteso * 100.0;
                        }


                        risultati.Add(new { NomeFigura = figura.Titolo, PAM = punteggioAttesoMinimo, Idoneo = idoneo, Percentuale = percentuale });
                    }
                }
            }
            catch (Exception fault)
            {
                string ex = fault.Message;
            }
        }
Пример #28
0
        private void CreaNuovaFiguraProfessionale()
        {
            using (PavimentalContext context = new PavimentalContext())
            {
                var livelloNullo  = context.LivelliConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE);
                var allCompetenze = context.Competenze.Include(c => c.TipologiaCompetenza).ToList();

                var knowHowVuoto = (from c in allCompetenze
                                    select new ConoscenzaCompetenza()
                {
                    Competenza = c,
                    //LivelloConoscenza = livelloNullo
                    CompetenzaId = c.Id,
                    LivelloConoscenzaId = livelloNullo.Id
                }).ToList();

                FiguraProfessionale = new Ruolo()
                {
                    Conoscenze = knowHowVuoto
                };
            }
        }
Пример #29
0
        private Dipendente CreaDipendenteTest(PavimentalContext context)
        {
            ConoscenzaCompetenza conoscenza1 = new ConoscenzaCompetenza();

            conoscenza1.Competenza        = context.Competenze.Single(c => c.Titolo == "Normative Tecniche");
            conoscenza1.LivelloConoscenza = context.LivelliConoscenza.Single(lc => lc.Titolo == "Medio");

            ConoscenzaCompetenza conoscenza2 = new ConoscenzaCompetenza();

            conoscenza2.Competenza        = context.Competenze.Single(c => c.Titolo == "Contrattualistica Fornitori");
            conoscenza2.LivelloConoscenza = context.LivelliConoscenza.Single(lc => lc.Titolo == "Medio");

            List <ConoscenzaCompetenza> conoscenze = new List <ConoscenzaCompetenza>();

            conoscenze.Add(conoscenza1);
            conoscenze.Add(conoscenza2);

            Dipendente dip = new Dipendente();

            dip.Conoscenze = conoscenze;

            return(dip);
        }
Пример #30
0
        private void SalvaFigura()
        {
            //Ricreo l'oggetto
            Ruolo fig = new Ruolo();

            fig.Nome        = FiguraProfessionale.Nome;
            fig.Descrizione = FiguraProfessionale.Descrizione;


            fig.Conoscenze = new List <ConoscenzaCompetenza>();

            foreach (var c in FiguraProfessionale.Conoscenze)
            {
                ConoscenzaCompetenza conoscenza = new ConoscenzaCompetenza();

                conoscenza.LivelloConoscenzaId = c.LivelloConoscenzaId;
                conoscenza.CompetenzaId        = c.CompetenzaId;
                fig.Conoscenze.Add(conoscenza);
            }

            using (PavimentalContext context = new PavimentalContext())
            {
                if (EditMode)
                {
                    CancellaFiguraProfessionale(context, FiguraProfessionale);
                }


                //context.Entry(dip).State = System.Data.EntityState.Modified;
                context.FigureProfessionali.Add(fig);
                context.SaveChanges();
            }

            _figuraProfessionaleId = fig.Id;
            LoadFigura();
            EditMode = true;
        }