/*public UOSmistamento UOSmistamento * { * get * { * UOSmistamento res = new UOSmistamento(); * res.FlagCompetenza = (CheckType == SmistamentoCheckType.COMPETENZA); * res.FlagConoscenza = (CheckType == SmistamentoCheckType.CONOSCENZA); * res.ID = Id; * res.Descrizione = Descrizione; * res.UoInferiori = new ArrayList(); * res.Ruoli = new ArrayList(Ruoli.Select(e => e.RuoloSmistamento).ToList()); * return res; * } * }*/ public static SmistamentoUONode BuildInstance(UOSmistamento input, UserInfo userInfo, string idRuolo) { SmistamentoUONode res = new SmistamentoUONode(); if (input.FlagCompetenza) { res.CheckType = SmistamentoCheckType.COMPETENZA; } if (input.FlagConoscenza) { res.CheckType = SmistamentoCheckType.CONOSCENZA; } res.Descrizione = input.Descrizione; res.Id = input.ID; //IEnumerable<RuoloSmistamento> ruoli=input.Ruoli.OfType<RuoloSmistamento>().Where(e => !e.ID.Equals(idRuolo)); IEnumerable <RuoloSmistamento> ruoli = input.Ruoli.OfType <RuoloSmistamento>().Where(e => !e.ID.Equals(idRuolo) || e.Utenti.Count > 1); foreach (RuoloSmistamento temp in ruoli) { res.Ruoli.Add(SmistamentoRuoloNode.BuildInstance(temp, userInfo)); } //il ruolo dell'utente va messo solo se c'è almeno un'altra persona nel ruolo //IEnumerable<RuoloSmistamento> ruoloUtente = input.Ruoli.OfType<RuoloSmistamento>().Where(e => e.ID.Equals(idRuolo) && e.Utenti.Count > 1); //foreach (RuoloSmistamento temp in ruoloUtente) res.Ruoli.Add(SmistamentoRuoloNode.BuildInstance(temp, userInfo)); return(res); }
public void fillUOSmistamento(UOSmistamento uo) { if (!string.IsNullOrEmpty(IdUtente)) { if ((IdUtente.ToLower()) == "null") { IdUtente = null; } } if (!string.IsNullOrEmpty(IdRuolo)) { if ((IdRuolo.ToLower()) == "null") { IdRuolo = null; } } // MEV MOBILE - modifica per smistamento da ricerca #region OLD CODE if (!uo.ID.Equals(IdUO)) { return; } #endregion // fine MEV MOBILE if (!string.IsNullOrEmpty(IdUtente)) { //id utente valorizzato: smistamento ad utente. RuoloSmistamento ruolo = uo.Ruoli.OfType <RuoloSmistamento>().Single(e => e.ID.Equals(IdRuolo)); UtenteSmistamento utente = ruolo.Utenti.OfType <UtenteSmistamento>().Single(e => e.ID.Equals(IdUtente)); utente.FlagCompetenza = Competenza; utente.FlagConoscenza = Conoscenza; utente.datiAggiuntiviSmistamento.NoteIndividuali = NoteIndividuali; } else { if (!string.IsNullOrEmpty(IdRuolo)) { //il ruolo è specificato RuoloSmistamento ruolo = uo.Ruoli.OfType <RuoloSmistamento>().Single(e => e.ID.Equals(IdRuolo)); ruolo.FlagCompetenza = Competenza; ruolo.FlagConoscenza = Conoscenza; ruolo.datiAggiuntiviSmistamento.NoteIndividuali = NoteIndividuali; } else { uo.FlagCompetenza = Competenza; uo.FlagConoscenza = Conoscenza; } } }