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); }
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)); } }
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 }); }
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; }
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); }
/// <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; }
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; }
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); }
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 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); }
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); }
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; }