Exemple #1
0
        private Ruolo CreaRuolo(Ruolo r)
        {
            var reposLivelloConoscenza = ServiceLocator.Current.GetInstance <IRepository <LivelloConoscenza> >();
            int idLivelloInsuff        = reposLivelloConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            Ruolo ruolo = new Ruolo();

            ruolo.Titolo      = r.Titolo;
            ruolo.Descrizione = r.Descrizione;

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

            //Mi scorro tutte le conoscenze
            foreach (var c in r.Conoscenze)
            {
                //e salvo solo quelle diverse da 0
                if (c.LivelloConoscenzaId != idLivelloInsuff)
                {
                    ConoscenzaCompetenza conoscenza = new ConoscenzaCompetenza();

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

            var repos = ServiceLocator.Current.GetInstance <IRepository <Ruolo> >();
            var uow   = ServiceLocator.Current.GetInstance <IUnitOfWork>();


            repos.Add(ruolo);
            uow.Commit();

            return(ruolo);
        }
Exemple #2
0
        private Ruolo AggiornaRuolo(Ruolo r)
        {
            var reposLivelloConoscenza = ServiceLocator.Current.GetInstance <IRepository <LivelloConoscenza> >();
            var reposRuoli             = ServiceLocator.Current.GetInstance <IRepository <Ruolo> >();
            var reposConoscenze        = ServiceLocator.Current.GetInstance <IRepository <ConoscenzaCompetenza> >();
            var uow = ServiceLocator.Current.GetInstance <IUnitOfWork>();

            int idLivelloInsuff = reposLivelloConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            Ruolo ruolo = reposRuoli.SingleOrDefault(ru => ru.Id == r.Id);

            if (ruolo != null)
            {
                ruolo.Titolo      = r.Titolo;
                ruolo.Descrizione = r.Descrizione;

                //ruolo.Conoscenze = new List<ConoscenzaCompetenza>();
                //Mi scorro tutte le conoscenze
                for (int i = 0; i < r.Conoscenze.Count; i++)
                {
                    ConoscenzaCompetenza c = r.Conoscenze.ToList()[i];

                    //e salvo solo quelle diverse da 0
                    if (c.LivelloConoscenzaId != idLivelloInsuff)
                    {
                        ConoscenzaCompetenza conoscenza;
                        conoscenza = ruolo.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                        if (conoscenza == null)
                        {
                            conoscenza = new ConoscenzaCompetenza();
                            conoscenza.CompetenzaId = c.CompetenzaId;
                            ruolo.Conoscenze.Add(conoscenza);
                        }

                        conoscenza.LivelloConoscenzaId = c.LivelloConoscenzaId;
                    }
                    else
                    {
                        //E' una di quelle che erano presenti in precedenza e sono state settate a 0 per essere cancellate
                        var conosc = ruolo.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                        if (conosc != null)
                        {
                            ruolo.Conoscenze.Remove(conosc);
                            var cc = reposConoscenze.Single(con => con.Id == conosc.Id);
                            reposConoscenze.Delete(cc);
                        }
                    }
                }


                uow.Commit();

                return(ruolo);
            }
            else
            {
                //non l'ho trovato sul DB, id sbagliato? ne creo uno nuovo
                return(CreaRuolo(r));
            }
        }
Exemple #3
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
            });
        }
Exemple #4
0
        private Dipendente AggiornaDipendente(Dipendente d)
        {
            var reposLivelloConoscenza = ServiceLocator.Current.GetInstance <IRepository <LivelloConoscenza> >();
            int idLivelloInsuff        = reposLivelloConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            var reposDipendente = ServiceLocator.Current.GetInstance <IRepository <Dipendente> >();
            var reposConoscenze = ServiceLocator.Current.GetInstance <IRepository <ConoscenzaCompetenza> >();
            var uow             = ServiceLocator.Current.GetInstance <IUnitOfWork>();

            Dipendente dipendente = reposDipendente.SingleOrDefault(dip => dip.Id == d.Id);

            if (dipendente != null)
            {
                dipendente.Matricola        = d.Matricola;
                dipendente.Cognome          = d.Cognome;
                dipendente.Nome             = d.Nome;
                dipendente.DataNascita      = d.DataNascita;
                dipendente.RuoloInAziendaId = d.RuoloInAziendaId;

                for (int i = 0; i < d.Conoscenze.Count; i++)
                {
                    ConoscenzaCompetenza c = d.Conoscenze.ToList()[i];

                    //e salvo solo quelle diverse da 0
                    if (c.LivelloConoscenzaId != idLivelloInsuff)
                    {
                        ConoscenzaCompetenza conoscenza;
                        conoscenza = dipendente.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                        if (conoscenza == null)
                        {
                            conoscenza = new ConoscenzaCompetenza();
                            conoscenza.CompetenzaId = c.CompetenzaId;
                            dipendente.Conoscenze.Add(conoscenza);
                        }

                        conoscenza.LivelloConoscenzaId = c.LivelloConoscenzaId;
                    }
                    else
                    {
                        //E' una di quelle che erano presenti in precedenza e sono state settate a 0 per essere cancellate
                        var conosc = dipendente.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                        if (conosc != null)
                        {
                            dipendente.Conoscenze.Remove(conosc);
                            var cc = reposConoscenze.Single(con => con.Id == conosc.Id);
                            reposConoscenze.Delete(cc);
                        }
                    }
                }

                uow.Commit();

                return(dipendente);
            }
            else
            {
                return(CreaDipendente(d));
            }
        }
        private Dipendente AggiornaDipendente(Dipendente d)
        {
            int idLivelloInsuff = reposLivelloConoscenza.Get(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;          

            Dipendente dipendente = reposDipendenti.Get(dip => dip.Id == d.Id);

            dipendente.Matricola = d.Matricola;
            dipendente.Cognome = d.Cognome;
            dipendente.Nome = d.Nome;
            dipendente.DataNascita = d.DataNascita;

            for (int i = 0; i < d.Conoscenze.Count; i++ )
            {
                ConoscenzaCompetenza c = d.Conoscenze.ToList()[i];

                //e salvo solo quelle diverse da 0
                if (c.LivelloConoscenzaId != idLivelloInsuff)
                {
                    ConoscenzaCompetenza conoscenza;
                    conoscenza = dipendente.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                    if (conoscenza == null)
                    {
                        conoscenza = new ConoscenzaCompetenza();
                        conoscenza.CompetenzaId = c.CompetenzaId;
                        dipendente.Conoscenze.Add(conoscenza);
                    }

                    conoscenza.LivelloConoscenzaId = c.LivelloConoscenzaId;
                }
                else
                {
                    //E' una di quelle che erano presenti in precedenza e sono state settate a 0 per essere cancellate
                    var conosc = dipendente.Conoscenze.SingleOrDefault(con => con.CompetenzaId == c.CompetenzaId);
                    if (conosc != null)
                    {
                        dipendente.Conoscenze.Remove(conosc);
                        var cc = reposConoscenze.Get(con => con.Id == conosc.Id);
                        reposConoscenze.Delete(cc);
                    }
                }
            }

            unitOfWork.Commit();

            return dipendente;
        }
        private Dipendente SalvaDipendente(D[] lista, string matricola, string cognome, string nome, string ruolo)
        {
            /*var reposDipendenti = ServiceLocator.Current.GetInstance<IRepository<Dipendente>>();

            var reposComp = ServiceLocator.Current.GetInstance<IRepository<Competenza>>();
            var reposLivelli = ServiceLocator.Current.GetInstance<IRepository<LivelloConoscenza>>();
            var uow = ServiceLocator.Current.GetInstance<IUnitOfWork>();*/

            /*var reposDipendenti = new BaseRepository<Dipendente>(context);
            var reposRuoli = new BaseRepository<Ruolo>(context);
            var reposComp = new BaseRepository<Competenza>(context);
            var reposLivelli = new BaseRepository<LivelloConoscenza>(context);
            var uow = new UnitOfWork(context);*/

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

            foreach (var elemento in lista)
            {
                ConoscenzaCompetenza conoscenza = new ConoscenzaCompetenza();
                conoscenza.Competenza = context.Competenze.Single(c => c.Titolo == elemento.t && c.TipologiaCompetenza.MacroGruppo == elemento.mg);
                conoscenza.LivelloConoscenza = context.LivelliConoscenza.Single(lc => lc.Titolo == elemento.v);
                conoscenze.Add(conoscenza);
            }

            var dipendente = new Dipendente()
            {
                Matricola = matricola,
                Cognome = cognome,
                Nome = nome,
                Conoscenze = conoscenze
            };

            dipendente.RuoloInAziendaId = context.Ruoli.Single(r => r.Titolo == ruolo).Id;


            if (context.Dipendenti.SingleOrDefault(d => d.Cognome == dipendente.Cognome) == null)
            {
                context.Dipendenti.Add(dipendente);
                //uow.Commit();
                context.SaveChanges();
            }

            return dipendente;

        }
Exemple #7
0
        private Dipendente SalvaDipendente(D[] lista, string matricola, string cognome, string nome, string ruolo)
        {
            /*var reposDipendenti = ServiceLocator.Current.GetInstance<IRepository<Dipendente>>();
             *
             * var reposComp = ServiceLocator.Current.GetInstance<IRepository<Competenza>>();
             * var reposLivelli = ServiceLocator.Current.GetInstance<IRepository<LivelloConoscenza>>();
             * var uow = ServiceLocator.Current.GetInstance<IUnitOfWork>();*/

            /*var reposDipendenti = new BaseRepository<Dipendente>(context);
             * var reposRuoli = new BaseRepository<Ruolo>(context);
             * var reposComp = new BaseRepository<Competenza>(context);
             * var reposLivelli = new BaseRepository<LivelloConoscenza>(context);
             * var uow = new UnitOfWork(context);*/

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

            foreach (var elemento in lista)
            {
                ConoscenzaCompetenza conoscenza = new ConoscenzaCompetenza();
                conoscenza.Competenza        = context.Competenze.Single(c => c.Titolo == elemento.t && c.TipologiaCompetenza.MacroGruppo == elemento.mg);
                conoscenza.LivelloConoscenza = context.LivelliConoscenza.Single(lc => lc.Titolo == elemento.v);
                conoscenze.Add(conoscenza);
            }

            var dipendente = new Dipendente()
            {
                Matricola  = matricola,
                Cognome    = cognome,
                Nome       = nome,
                Conoscenze = conoscenze
            };

            dipendente.RuoloInAziendaId = context.Ruoli.Single(r => r.Titolo == ruolo).Id;


            if (context.Dipendenti.SingleOrDefault(d => d.Cognome == dipendente.Cognome) == null)
            {
                context.Dipendenti.Add(dipendente);
                //uow.Commit();
                context.SaveChanges();
            }

            return(dipendente);
        }
Exemple #8
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;
        }
Exemple #9
0
        private Ruolo SalvaRuolo(R[] lista, string nome, string keyRole)
        {
            /*var reposRuoli = ServiceLocator.Current.GetInstance<IRepository<Ruolo>>();

            var reposComp = ServiceLocator.Current.GetInstance<IRepository<Competenza>>();
            var reposLivelli = ServiceLocator.Current.GetInstance<IRepository<LivelloConoscenza>>();
            var uow = ServiceLocator.Current.GetInstance<IUnitOfWork>();*/
            /*var reposRuoli = new BaseRepository<Ruolo>(dbContext);

            var reposComp = new BaseRepository<Competenza>(dbContext);
            var reposLivelli = new BaseRepository<LivelloConoscenza>(dbContext);
            var uow = new UnitOfWork(dbContext);*/


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

            foreach (var elemento in lista)
            {
                ConoscenzaCompetenza conoscenza = new ConoscenzaCompetenza();
                conoscenza.Competenza = context.Competenze.Single(c => c.Titolo == elemento.t && c.TipologiaCompetenza.MacroGruppo == elemento.mg);
                conoscenza.LivelloConoscenza = context.LivelliConoscenza.Single(lc => lc.Titolo == elemento.v);
                conoscenze.Add(conoscenza);
            }

            var ruolo = new Ruolo()
            {
                Area = new Area() { Nome = keyRole },
                Titolo = nome,
                Conoscenze = conoscenze
            };



            if (context.Ruoli.SingleOrDefault(f => f.Titolo == ruolo.Titolo) == null)
            {
                context.Ruoli.Add(ruolo);
                //uow.Commit();
                context.SaveChanges();
            }

            return ruolo;

        }
Exemple #10
0
        private Dipendente CreaDipendente(Dipendente d)
        {
            var reposLivelloConoscenza = ServiceLocator.Current.GetInstance <IRepository <LivelloConoscenza> >();
            int idLivelloInsuff        = reposLivelloConoscenza.Single(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            //Controllo se l'id è uguale a 0
            //Ricreo l'oggetto

            Dipendente dipendente = new Dipendente();

            dipendente.Matricola        = d.Matricola;
            dipendente.Cognome          = d.Cognome;
            dipendente.Nome             = d.Nome;
            dipendente.DataNascita      = d.DataNascita;
            dipendente.RuoloInAziendaId = d.RuoloInAziendaId;

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

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

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

            var repos = ServiceLocator.Current.GetInstance <IRepository <Dipendente> >();
            var uow   = ServiceLocator.Current.GetInstance <IUnitOfWork>();

            repos.Add(dipendente);
            uow.Commit();

            return(dipendente);
        }
Exemple #11
0
        public void SalvaSurveyRevisionato(int idSurveySession, List <Answer> risposte)
        {
            Dipendente dipendente = new Dipendente();


            //List<LivelloConoscenza> livelli = dipendentiService.GetLivelliConoscenza();
            var session = GetSurveySession(idSurveySession);

            //Leggo le informazioni dell'utente
            UserProfile profilo = userService.GetUtente(session.User);

            dipendente.Nome      = profilo.Nome;
            dipendente.Cognome   = profilo.Cognome;
            dipendente.Matricola = profilo.Matricola;

            var domande = session.Survey.Questions;

            foreach (var r in risposte)
            {
                var domanda     = domande.Single(d => d.Id == r.DomandaId);
                var subquestion = reposSubQuestion.Get(sb => sb.Id == r.RispostaDataId);

                ConoscenzaCompetenza cc = new ConoscenzaCompetenza
                {
                    CompetenzaId        = domanda.CompetenzaId,
                    LivelloConoscenzaId = subquestion.LivelloConoscenzaId
                };

                dipendente.Conoscenze.Add(cc);
            }

            dipendentiService.SalvaDipendente(dipendente);

            //devo segnare la surveysession come revisionata
            session.Revisionato = true;
            reposSurveySession.Update(session);
            unityOfWork.Commit();
        }
Exemple #12
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);
        }
Exemple #13
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;
        }
        private Dipendente CreaDipendente(Dipendente d)
        {
            int idLivelloInsuff = reposLivelloConoscenza.Get(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            //Controllo se l'id è uguale a 0
            //Ricreo l'oggetto

            Dipendente dipendente = new Dipendente();

            dipendente.Matricola   = d.Matricola;
            dipendente.Cognome     = d.Cognome;
            dipendente.Nome        = d.Nome;
            dipendente.DataNascita = d.DataNascita;

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

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

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


            reposDipendenti.Add(dipendente);
            unitOfWork.Commit();

            return(dipendente);
        }
Exemple #15
0
        public void SalvaSurveyRevisionato(int idSurveySession, List<Answer> risposte)
        {
            Dipendente dipendente = new Dipendente();            


            //List<LivelloConoscenza> livelli = dipendentiService.GetLivelliConoscenza();
            var session = GetSurveySession(idSurveySession);
            
            //Leggo le informazioni dell'utente
            UserProfile profilo = userService.GetUtente(session.User);
            dipendente.Nome = profilo.Nome;
            dipendente.Cognome = profilo.Cognome;
            dipendente.Matricola = profilo.Matricola;
            
            var domande = session.Survey.Questions;

            foreach (var r in risposte)
            {
                
                var domanda = domande.Single(d => d.Id == r.DomandaId);
                var subquestion = reposSubQuestion.Get(sb => sb.Id == r.RispostaDataId);                

                ConoscenzaCompetenza cc = new ConoscenzaCompetenza
                {
                    CompetenzaId = domanda.CompetenzaId,
                    LivelloConoscenzaId = subquestion.LivelloConoscenzaId
                };

                dipendente.Conoscenze.Add(cc);
            }

            dipendentiService.SalvaDipendente(dipendente);

            //devo segnare la surveysession come revisionata
            session.Revisionato = true;
            reposSurveySession.Update(session);
            unityOfWork.Commit();
        }
        private Dipendente CreaDipendente(Dipendente d)
        {
            int idLivelloInsuff = reposLivelloConoscenza.Get(lc => lc.Titolo == Tipologiche.Livello.INSUFFICIENTE).Id;

            //Controllo se l'id è uguale a 0
            //Ricreo l'oggetto
                        
            Dipendente dipendente = new Dipendente();
            dipendente.Matricola = d.Matricola;
            dipendente.Cognome = d.Cognome;
            dipendente.Nome = d.Nome;
            dipendente.DataNascita = d.DataNascita;
            
            dipendente.Conoscenze = new List<ConoscenzaCompetenza>();

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

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

            
            reposDipendenti.Add(dipendente);
            unitOfWork.Commit();

            return dipendente;
        }