public DatiCondomini GetByCriteria(SearchCriteria json)
        {
            if (json == null)
                return null;

            var service = new SferaService();
            var info = new UserInfo(0, json.Azienda);

            var eserciziAttivi = service.GetEserciziByCondominio(json.Condominio, info).Where(item => item.StatoEsercizio == StatoEsercizioEnum.Aperto).ToList();
            _datiCondomini.Versamenti = service.GetVersamentiByEserciziAttiviPersone(json.Condominio, new List<int> {json.Persona}, info);
            _datiCondomini.Rate = service.GetRateByPersonaCondominio(json.Condominio, json.Persona, info);

            _datiCondomini.Esercizi = eserciziAttivi.Where(item => _datiCondomini.Versamenti.Any(vers => vers.IdEsercizio == item.ID) || _datiCondomini.Rate.Any(rate => rate.IdEsercizio == item.ID)).ToList();

            return _datiCondomini;
        }
Beispiel #2
0
        public DatiCondomini Get([FromUri]SearchCriteria json)
        {
            if (json.Azienda > 0)
            {
                var service = new SferaService();
                var info = new UserInfo(0, json.Azienda);

                if (json.Condominio > 0)
                {
                    var versamenti = service.GetVersamentiByEserciziAttiviPersone(json.Condominio, new List<int> {json.Persona}, info);
                    var versamentiPerEsercizi = versamenti.OrderBy(item => item.DataPagamento).GroupBy(item => item.IdEsercizio);
                    var esercizi = versamentiPerEsercizi.Select(kvp => new EsercizioDTO {ID = kvp.Key, Descrizione = kvp.ToList()[0].DescrizioneEsercizio}).ToList();

                    return new DatiCondomini {Esercizi = esercizi, Versamenti = versamenti};
                }
            }
            else
            {
                _log.ErrorFormat("Azienda NULL - {0} - persona:{1} - condominio:{2}", Library.Utility.GetMethodDescription(), json.Persona, json.Condominio);
            }

            return new DatiCondomini();
        }