示例#1
0
 public GruppoDTO GetGruppoById(int id)
 {
     var dto = new GruppoDTO();
     var lista = (List<GruppoDTO>)_cache.GetData("AllGruppi");
     for (var i = 0; i < lista.Count; i++)
         if (lista[i].ID == id)
             dto = lista[i];
     return dto;
 }
示例#2
0
        public IList<GruppoDTO> GetGruppoByAzienda(int idAzienda)
        {
            try
            {
                var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
                var lista = daoFactory.GetGruppoDao().GetByAzienda(idAzienda).OrderBy(item => item.Descrizione);
                var tipi = new GruppoDTO[lista.Count()];

                var index = 0;
                foreach (var item in lista)
                {
                    tipi[index] = setGruppoDto(item);
                    index++;
                }

                return tipi;
            }
            catch (Exception ex)
            {
                
                _log.Error(
                    $"Errore nel caricamento dei gruppi - {Utility.GetMethodDescription()} - azienda:{idAzienda}", ex);
                throw;
            }
        }
示例#3
0
 public int? ManageDomainEntity(GruppoDTO gruppoDto)
 {
     try
     {
         return manageGruppo(gruppoDto).ID;
     }
     catch (Exception ex)
     {
         
         _log.Error($"Errore nel caricamento dei gruppi - {Utility.GetMethodDescription()} - id:{gruppoDto.ID}", ex);
         throw;
     }
 }
示例#4
0
        public GruppoDTO[] GetAllGruppo()
        {
            try
            {
                var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);
                var lista = daoFactory.GetGruppoDao().GetAll().OrderBy(item => item.Descrizione);
                var listaDto = new GruppoDTO[lista.Count()];

                var index = 0;
                foreach (var item in lista)
                {
                    listaDto[index] = setGruppoDto(item);
                    index++;
                }

                return listaDto;
            }
            catch (Exception ex)
            {
                
                _log.Error($"Errore nel caricamento dei gruppi - {Utility.GetMethodDescription()}", ex);
                throw;
            }
        }
示例#5
0
 private GruppoDTO setGruppoDto(Gruppo item)
 {
     var dto = new GruppoDTO { ID = item.ID, Descrizione = item.Descrizione, DescrizioneBreve = item.DescrizioneBreve, Ordine = item.Ordine };
     return dto;
 }
示例#6
0
        private Gruppo manageGruppo(GruppoDTO dto)
        {
            Gruppo item = null;
            bool result;

            // Controllo sullo stato U, I
            switch (dto.Stato.ToUpper())
            {
                case "U":
                    result = update(dto, out item);
                    if (!result)
                        throw new Exception("Il dato sul database è più recente di quello utilizzato");
                    break;
                case "I":
                    result = insert(dto, out item);
                    if (!result)
                        throw new Exception("Impossibile scrivere sul database");
                    break;
            }
            return item;
        }
示例#7
0
        private bool insert(GruppoDTO dto, out Gruppo item)
        {
            item = null;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                var descrizioneBreve = dto.DescrizioneBreve;
                if (!string.IsNullOrEmpty(descrizioneBreve) && descrizioneBreve.Length > 20)
                    descrizioneBreve = descrizioneBreve.Substring(0, 20);

                item = new Gruppo(dto.Descrizione) {DescrizioneBreve = descrizioneBreve, Ordine = dto.Ordine};
                daoFactory.GetGruppoDao().SaveOrUpdate(item);
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel salvataggio del gruppo - {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID);
                throw;
            }

            return true;
        }
示例#8
0
        private bool update(GruppoDTO dto, out Gruppo item)
        {
            bool result;
            item = null;
            var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda);

            try
            {
                item = daoFactory.GetGruppoDao().GetById(dto.ID, false);

                // Condizione necessare per il controllo del fatto che sul DB ho una versione uguale o più vecchia
                if (dto.Version == item.Version)
                {
                    var descrizioneBreve = dto.DescrizioneBreve;
                    if (!string.IsNullOrEmpty(descrizioneBreve) && descrizioneBreve.Length > 20)
                        descrizioneBreve = descrizioneBreve.Substring(0, 20);

                    item.DescrizioneBreve = descrizioneBreve;
                    item.Ordine = dto.Ordine;
                    item.Descrizione = dto.Descrizione;
                    result = true;
                }
                else
                {
                    // Eccezione: Sul db c'è qualche cosa di più nuovo.
                     
                    _log.ErrorFormat("Errore nel salvataggio del gruppo- il dato sul db è più recente di quello che si vuole salvare - {0} - id:{1}", Utility.GetMethodDescription(), dto.ID);
                    result = false;
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel salvataggio del gruppo - {0} - id:{1}", ex, Utility.GetMethodDescription(), dto.ID);
                throw;
            }

            return result;
        }