Beispiel #1
0
        public DatiCondomini Get([FromUri] SearchCriteria json)
        {
            var service = new SferaService();
            var info = new UserInfo(0, json.Azienda);

            var rate = service.GetRateByPersonaCondominio(json.Condominio, json.Persona, info).Where(item => item.ImportoRata > 0).ToList();
            var ratePerEsercizi = rate.OrderBy(item => item.DataScadenza).GroupBy(item => item.IdEsercizio);
            var esercizi = ratePerEsercizi.Select(kvp => new EsercizioDTO {ID = kvp.Key, Descrizione = kvp.ToList()[0].DescrizioneEsercizio}).ToList();

            var soggetti = service.GetSoggettiByPersona(json.Persona, info);

            var saldiSoggetto = new List<SaldoSoggettoVersamentoDTO>();
            foreach (var esercizioDTO in esercizi)
            {
                var importoRata = 0m;
                var importoVersamento = 0m;
                foreach (var soggettoCondominioDTO in soggetti)
                {
                    var rateVersamenti = service.GetVersatoBySoggetto(esercizioDTO.ID, soggettoCondominioDTO.ID, DateTime.Today, info);
                    importoRata += rateVersamenti.Sum(item => item.Importo.GetValueOrDefault());
                    importoVersamento += rateVersamenti.Sum(item => item.ImportoPagato.GetValueOrDefault());
                }

                saldiSoggetto.Add(new SaldoSoggettoVersamentoDTO { IdEsercizio = esercizioDTO.ID, ImportoRate = importoRata, ImportoVersamenti = importoVersamento });
            }

            return new DatiCondomini { Esercizi = esercizi, Rate = rate, SaldiSoggetto = saldiSoggetto};
        }
        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;
        }
		public DatiCondominiDto GetDati(int azienda)
		{
		    var rateTemp = new List<RataPersonaDTO>()
		    {
		        new RataPersonaDTO() {DataScadenza = new DateTime(2014, 2, 15), ImportoRata = 456.67m}
		    };
            return new DatiCondominiDto { Rate = rateTemp };


            var service = new SferaService();
            HttpContext.Current.Session["utente"] = service.GetPersonaByID(5375, new UserInfo(0, azienda));
            HttpContext.Current.Session["condomino"] = service.GetSoggettoCondominioById(206, new UserInfo(0, azienda));
            if (HttpContext.Current.Session["utente"] != null)
            {
                var info = new UserInfo(0, azienda);
                var condomino = (SoggettoCondominioDTO)HttpContext.Current.Session["condomino"];
                var rate = service.GetRateByPersonaCondominio(condomino.IdCondominio, ((PersonaDTO)HttpContext.Current.Session["utente"]).ID, info);

                return new DatiCondominiDto { Rate = rate.ToList()};
            }
            return new DatiCondominiDto();
		}
Beispiel #4
0
        public static IEnumerable<IGrouping<int, RataPersonaDTO>> GetRate(int azienda)
        {
            var log = LogManager.GetLogger("Sfera");

            try
            {
                if (HttpContext.Current.Session["utente"] != null)
                {
                    var service = new SferaService();
                    var info = new UserInfo(0, azienda);
                    var condomino = (SoggettoCondominioDTO)HttpContext.Current.Session["condomino"];
                    var rate = service.GetRateByPersonaCondominio(condomino.IdCondominio, ((PersonaDTO)HttpContext.Current.Session["utente"]).ID, info);
                    return rate.Where(item => item.ImportoRata > 0).GroupBy(item => item.IdEsercizio);
                }
                return new List<IGrouping<int, RataPersonaDTO>>();
            }
            catch (Exception ex)
            {
                log.ErrorException(string.Format("Load Rate fallito - azienda:{0}", azienda), ex);
                throw ex;
            }
        }