public void Handle(MessaInLavorazioneCommand command)
        {
            RichiestaAssistenza richiesta = _getRichiestaById.Get(command.IdRichiesta);
            Utente         utente         = _getUtenteById.GetUtenteById(command.IdUtente);
            AttivitaUtente attivita       = new AttivitaUtente();

            attivita.IdUtente           = utente.Id;
            attivita.Nominativo         = utente.Nome + " " + utente.Cognome;
            attivita.DataInizioAttivita = DateTime.UtcNow;

            if (richiesta.ListaUtentiInLavorazione != null)
            {
                richiesta.ListaUtentiInLavorazione.Add(attivita);
            }
            else
            {
                richiesta.ListaUtentiInLavorazione = new List <AttivitaUtente>();
                richiesta.ListaUtentiInLavorazione.Add(attivita);
            }

            if (command.Chiamata.ListaUtentiInLavorazione != null)
            {
                command.Chiamata.ListaUtentiInLavorazione.Add(attivita);
            }
            else
            {
                command.Chiamata.ListaUtentiInLavorazione = new List <AttivitaUtente>();
                command.Chiamata.ListaUtentiInLavorazione.Add(attivita);
            }

            richiesta.Id = richiesta.Codice;

            this._upDateRichiestaAssistenza.UpDate(richiesta);
        }
        public void Handle(PresaInCaricoCommand command)
        {
            var richiesta = _getRichiestaById.Get(command.IdRichiesta);
            var utente    = _getUtenteById.GetUtenteById(command.IdUtente);
            var attivita  = new AttivitaUtente
            {
                IdUtente           = utente.Id,
                Nominativo         = utente.Nome + " " + utente.Cognome,
                DataInizioAttivita = DateTime.UtcNow
            };

            richiesta.Id = richiesta.Codice;
            if (richiesta.ListaUtentiPresaInCarico != null)
            {
                new InizioPresaInCarico(richiesta, DateTime.UtcNow, richiesta.Operatore.Id);

                richiesta.ListaUtentiPresaInCarico.Add(attivita);
            }
            else
            {
                richiesta.ListaUtentiPresaInCarico = new List <AttivitaUtente>
                {
                    attivita
                };
            }

            if (command.Chiamata.ListaUtentiPresaInCarico != null)
            {
                command.Chiamata.ListaUtentiPresaInCarico.Add(attivita);
            }
            else
            {
                richiesta.ListaUtentiPresaInCarico = new List <AttivitaUtente>();
                command.Chiamata.ListaUtentiPresaInCarico.Add(attivita);
            }

            _updateRichiestaAssistenza.UpDate(richiesta);
        }