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; } } }
/*public RuoloSmistamento RuoloSmistamento * { * get * { * RuoloSmistamento res = new RuoloSmistamento(); * res.FlagCompetenza = (CheckType == SmistamentoCheckType.COMPETENZA); * res.FlagConoscenza = (CheckType == SmistamentoCheckType.CONOSCENZA); * res.ID = Id; * res.Utenti = new ArrayList(Utenti.Select(e => e.UtenteSmistamento).ToList()); * return res; * } * }*/ public static SmistamentoRuoloNode BuildInstance(RuoloSmistamento input, UserInfo userInfo) { SmistamentoRuoloNode res = new SmistamentoRuoloNode(); if (input.FlagCompetenza) { res.CheckType = SmistamentoCheckType.COMPETENZA; } if (input.FlagConoscenza) { res.CheckType = SmistamentoCheckType.CONOSCENZA; } res.Descrizione = input.Descrizione; res.Id = input.ID; IEnumerable <UtenteSmistamento> utenti = input.Utenti.OfType <UtenteSmistamento>().Where(e => !e.UserID.Equals(userInfo.UserId)); foreach (UtenteSmistamento temp in utenti) { res.Utenti.Add(SmistamentoUtenteNode.BuildInstance(temp)); } return(res); }