예제 #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 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);
        }