示例#1
0
        /*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);
        }
示例#2
0
        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;
                }
            }
        }