예제 #1
0
 /// <summary>
 /// Crea un Log valido
 /// </summary>
 public LogTransazione(AzioneUtente azioneUtente, Computer computer, IpAddress clientIp, Utente utente, ComputerVersion version)
 {
     AzioneUtente = azioneUtente;
     Computer = computer;
     ClientIp = clientIp;
     Version = version;
     Utente = utente;
     Data = DateTime.Now;
 }
예제 #2
0
        public LogTransazione AddLog(Utente utente, ComputerDTO computerDto, IpAddress clientIp, AzioneUtente azioneUtente)
        {
            try
            {
                var azienda = _daoFactory.GetAziendaDao().GetById(utente.AziendaID.GetValueOrDefault(), false);
                var version = new ComputerVersion
                {
                    FrameworkVersion = computerDto.FrameworkVersion,
                    FrameworkServicePack = computerDto.FrameworkServicePack,
                    OsBits = computerDto.OsBits,
                    OsEdition = computerDto.OsEdition,
                    OsName = computerDto.OsName,
                    OsServicePack = computerDto.OsServicePack,
                    OsVersionString = computerDto.OsVersionString,
                    ProcessorBits = computerDto.ProcessorBits
                };

                var computer = _daoFactory.GetComputerDao().GetByNomeAzienda(computerDto.ComputerName, azienda.ID);
                if (computer != null)
                {
                    computer.Version = version;
                    computer.UltimoLogin = DateTime.Now;
                    _daoFactory.GetComputerDao().SaveOrUpdate(computer);
                }
                else
                {
                    computer = new Computer(computerDto.ComputerName, version, azienda);
                    _daoFactory.GetComputerDao().SaveOrUpdate(computer);
                }
                
                var logTransazione = new LogTransazione(azioneUtente, computer, clientIp, utente, version);
                _daoFactory.GetLogTransazioneDao().SaveOrUpdate(logTransazione);
                return logTransazione;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato durante log della transazione - {0} - azione:{1}", ex, Library.Utility.GetMethodDescription() ,azioneUtente);
                return null;
            }
        }