示例#1
0
        /// <summary>
        ///   metodo della classe
        /// </summary>
        /// <param name="command">il command con i parametri di ingresso</param>
        public void Handle(AddUtenteCommand command)
        {
            var personale     = _personaleByCF.Get(command.CodFiscale).Result;
            var listaPin      = new List <PinNodo>();
            var sediAlberate  = _getAlberaturaUnitaOperative.ListaSediAlberata();
            var distaccamento = _getDistaccamentoByCodiceSede.Get(personale.CodSede).Result;

            foreach (var ruolo in command.Ruoli)
            {
                listaPin.Add(new PinNodo(ruolo.CodSede, ruolo.Ricorsivo));
                foreach (var figli in sediAlberate.GetSottoAlbero(listaPin))
                {
                    if (figli.Codice.Equals(ruolo.CodSede))
                    {
                        ruolo.DescSede = figli.Nome;
                    }
                }
            }
            var utenteVVF = new Utente(command.CodFiscale, personale.Nominativo.Split(".")[0], personale.Nominativo.Split(".")[1])
            {
                Ruoli    = command.Ruoli,
                Username = personale.Nominativo.ToLower(),
                Password = "******",
                Sede     = new Sede($"{distaccamento.CodSede}", distaccamento.DescDistaccamento, distaccamento.Indirizzo, distaccamento.Coordinate, "", "", "", "", "")
            };

            _addUtente.Add(utenteVVF);
        }
示例#2
0
        /// <summary>
        ///   metodo della classe
        /// </summary>
        /// <param name="command">il command con i parametri di ingresso</param>
        public void Handle(AddUtenteCommand command)
        {
            var utenteSO      = _getUtenteByCF.Get(command.CodFiscale);
            var personale     = _personaleByCF.Get(command.CodFiscale).Result;
            var listaPin      = new List <PinNodo>();
            var sediAlberate  = _getAlberaturaUnitaOperative.ListaSediAlberata();
            var distaccamento = _getDistaccamentoByCodiceSede.Get(personale.CodSede).Result;

            foreach (var ruolo in command.Ruoli)
            {
                listaPin.Add(new PinNodo(ruolo.CodSede, ruolo.Ricorsivo));
                foreach (var figli in sediAlberate.GetSottoAlbero(listaPin))
                {
                    if (figli.Codice.Equals(ruolo.CodSede))
                    {
                        ruolo.DescSede = figli.Nome;
                    }
                }
            }

            if (_checkOmonimia.FindUserByUs(personale.Nominativo.Replace(" ", "").ToLower()) != null)
            {
                personale.Nominativo = personale.Nominativo.Replace(" ", "").ToLower() + "1";
            }
            //Test di refresh chain
            var utenteVVF = new Utente(command.CodFiscale, personale.Nominativo.Split(".")[0], personale.Nominativo.Split(".")[1])
            {
                Ruoli    = command.Ruoli,
                Username = personale.Nominativo.Replace(" ", "").ToLower(),
                Password = "******",
                Sede     = new Sede($"{distaccamento.CodSede}", distaccamento.DescDistaccamento, distaccamento.Indirizzo, distaccamento.Coordinate, "", "", "", "", "")
            };

            if (utenteSO != null)
            {
                _addRuoli.Add(command.CodFiscale, command.Ruoli);
            }
            else
            {
                _addUtente.Add(utenteVVF);
            }
        }