コード例 #1
0
ファイル: LoginController.cs プロジェクト: gipasoft/Sfera
        public PersonaDTO Get(SearchCriteria json)
        {
            var service = new SferaService();
            var info = new UserInfo(0, json.Azienda);

            return service.GetPersonaByID(json.Persona, info);
        }
コード例 #2
0
        public IList<CondominioDTO> Get(PersonaDTO json)
        {
            var service = new SferaService();
            var info = new UserInfo(0, json.Azienda);

            return service.GetCondominiByPersona(json.ID, info);
        }
コード例 #3
0
ファイル: DocumentiController.cs プロジェクト: gipasoft/Sfera
        public DatiCondomini Get([FromUri]SearchCriteria json)
        {
            if (json.Condominio > 0)
            {
                var service = new SferaService();
                var info = new UserInfo(0, json.Azienda);

                var filter = new DocumentoFilter
                {
                    IdAzienda = json.Azienda,
                    CodiceCondominio = json.Condominio,
                    FreeText = json.FreeText,
                    PageNumber = json.PageNumber,
                    PageSize = json.PageSize,
                    Tipo = TipoDocumentoArchiviazione.Contratto,
                    VisibileCondomino = true,
                    CodiceFascicoloCondominio = json.IdFascicolo > 0 ? json.IdFascicolo : (int?)null
                };
                var documenti = service.GetDocumentiPubbliciByFilter(filter, info);

                var fascicoli = service.GetFascicoliNameValueConDocumentiPubbliciByCondominio(json.Condominio, info);
                fascicoli.Insert(0, new NameValueDTO<int, string>(0, "(Tutti i fascicoli)"));

                return new DatiCondomini { Documenti = documenti.Documenti, Fascicoli = fascicoli, TotalItems = documenti.TotaleDocumenti };
            }

            return new DatiCondomini();
        }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: gipasoft/Sfera
        public ActionResult Download(string id, int azienda)
        {
            if (!string.IsNullOrEmpty(id))
            {
                var service = new SferaService();
                var info = new UserInfo(0, azienda);

                var documentoFileName = getDocumentoFileName(id, service, info);
                var documento = documentoFileName.Documento;

                var docInfo = getDocumentInfo(documento, service, info);
                if (docInfo.Body != null)
                {
                    var fileName = documento.FileName;
                    if (!fileName.EndsWith(".pdf"))
                        fileName = $"{fileName}.pdf";

                    var cd = new System.Net.Mime.ContentDisposition
                    {
                        // for example foo.bak
                        FileName = fileName,

                        // always prompt the user for downloading, set to true if you want 
                        // the browser to try to show the file inline
                        Inline = true,
                    };

                    Response.AddHeader("set-cookie", "fileDownload=true; path=/");
                    Response.AppendHeader("Content-Disposition", cd.ToString());
                    return File(docInfo.Body, "application/pdf");
                }
            }

            return null;
        }
コード例 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (HttpContext.Current.Session["condominio"] != null)
            {
                if (Request.QueryString["id"] != null)
                {
                    var idDocumento = Request.QueryString["id"].Trim();
                    var fileName = "documenti/" + idDocumento + ".pdf";

                    if(!File.Exists(Request.PhysicalApplicationPath + fileName))
                    {
                        var service = new SferaService();
                        var info = new UserInfo(0, 1);
                        var documento = service.GetDocumentoByIdentificativo(idDocumento, info);
                        var docInfo = service.GetDocument(documento.ID, TipoDocumentoArchiviazione.FatturaPassiva, info);

                        var fs = File.Create(Request.PhysicalApplicationPath + fileName);
                        var writer = new BinaryWriter(fs);
                        writer.Write(docInfo.Body);
                        writer.Close();
                        fs.Close();
                        fs.Dispose();
                    }

                    documentFrame.Attributes.Add("src", fileName);
                }
            }
        }
コード例 #6
0
ファイル: RateController.cs プロジェクト: gipasoft/Sfera
        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};
        }
コード例 #7
0
        public string SalvaPersona(PersonaDTO value)
        {
            var service = new SferaService();
            var info = new UserInfo(0, value.Azienda);
            
            value.Stato = "U";
            foreach (var contattoDTO in value.Contatti)
                contattoDTO.Stato = "U";

            var idPersona = service.SetPersona(value, info);
            if (idPersona != null)
                return string.Empty;
            return "Si sono verificati problemi";
        }
コード例 #8
0
ファイル: LoginController.cs プロジェクト: gipasoft/Sfera
        public PersonaCondomini Login(string username, string password)
        {
            var service = new SferaService();
            var info = new UserInfo(0, 1);

            var persona = service.GetPersonaByUtentePassword(username, password, info);
            IList<CondominioDTO> condomini = null;
            if (persona != null)
            {
                info.Azienda = persona.Azienda;
                condomini = service.GetCondominiByPersona(persona.ID, info);
                _log.InfoFormat("Utente Loggato - {0} - persona:{1}", Library.Utility.GetMethodDescription(), persona.ID);
            }

            return new PersonaCondomini(persona, condomini);
        }
コード例 #9
0
        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;
        }
コード例 #10
0
ファイル: PersonaController.cs プロジェクト: gipasoft/Sfera
        public PersonaCondomini Get(SearchCriteria json)
        {
            if (json != null)
            {
                var service = new SferaService();
                var info = new UserInfo(0, json.Azienda);
                var persona = service.GetPersonaByID(json.Persona, info);
                IList<CondominioDTO> condomini = null;
                if (persona != null)
                    condomini = service.GetCondominiByPersona(persona.ID, info);

                return new PersonaCondomini(persona, condomini);
            }

            return new PersonaCondomini(null, null);
        }
コード例 #11
0
        public DatiCondomini Get([FromUri]SearchCriteria json)
        {
            var service = new SferaService();
            var info = new UserInfo(0, json.Azienda);

            var filter = new MovimentoBancarioFilter
            {
                IdCondominio = json.Condominio,
                DataContabileIniziale = json.DataIniziale,
                DataContabileFinale = json.DataFinale
            };

            var inizio = ((json.PageNumber - 1)*json.PageSize);
            var movimentiBancari = service.GetMovimentiByFilter(filter, inizio, json.PageSize, true, info);
            foreach (var movimentiBancariDTO in movimentiBancari)
            {
                if (movimentiBancariDTO.Segno == "D")
                    movimentiBancariDTO.Importo = movimentiBancariDTO.Importo*-1;
                movimentiBancariDTO.Descrizione = movimentiBancariDTO.DescrizioneBreve + movimentiBancariDTO.Descrizione;
            }

            var totaleMovimenti = service.GetMovimentiCountByFilter(filter, info);

            // Saldi
            var saldiBancari = service.GetSaldiBancariByCondominio(json.Condominio, info);
            var condominio = service.GetCondominioById(json.Condominio, true, false, info);
            var saldi = new List<SaldoContoCorrente>();
            foreach (var saldoBancarioDTO in saldiBancari)
            {
                var idContoCorrente = saldoBancarioDTO.IdContoCorrente;
                var datiBancari = condominio.DatiBancari.FirstOrDefault(item => item.ID == idContoCorrente);
                if (datiBancari != null)
                {
                    var descrizione = datiBancari.DisplayName;
                    var iban = datiBancari.Iban;
                    var importo = saldoBancarioDTO.SaldoContabileBanca;
                    saldi.Add(new SaldoContoCorrente(descrizione, iban, importo.GetValueOrDefault()));
                }
            }

            return new DatiCondomini { MovimentiBancari = movimentiBancari, TotalItems = totaleMovimenti, Saldi = saldi};
        }
コード例 #12
0
		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();
		}
コード例 #13
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();
        }
コード例 #14
0
ファイル: loadDocumento.aspx.cs プロジェクト: gipasoft/Sfera
        protected void Page_Load(object sender, EventArgs e)
        {
            if (HttpContext.Current.Session["condominio"] != null)
            {
                if (Request.QueryString["action"] != null && Request.QueryString["path"] != null)
                {
                    var action = Request.QueryString["action"].Trim();
                    //var azienda = int.Parse(Request.QueryString["azienda"].Trim());
                    var service = new SferaService();
                    var info = new UserInfo(0, int.Parse(Session["azienda"].ToString()));

                    var documentoFileName = getDocumentoFileName(service, info);
                    var documento = documentoFileName.Documento;

                    var docInfo = getDocumentInfo(documento, service, info);
                    if (docInfo.Body != null)
                    {

                        switch (action)
                        {
                            case "info":
                                getInfo(docInfo.Body, addDocumentoExtension(documento, documento.FileName.Trim()));
                                break;

                            case "download":
                                getFile(docInfo.Body, addDocumentoExtension(documento, documento.Descrizione.Trim()));
                                break;
                        }
                    }
                    else
                        Response.Write("NOTFOUND");

                    Response.Flush();
                    Response.End();
                }
            }
        }
コード例 #15
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        public static PersonaCondomini AggiornaAnagrafica(ContattiPersona contatti)
        {
            var result = new PersonaCondomini();
            if (HttpContext.Current.Session["utente"] != null)
            {
                var persona = HttpContext.Current.Session["utente"] as PersonaDTO;

                if (persona != null)
                {
                    result.TipoAutenticazione = "SOGGETTO";
                    result.Contatti = updateContatti(persona, contatti);

                    var service = new SferaService();
                    var info = new UserInfo(0, int.Parse(HttpContext.Current.Session["azienda"].ToString()));
                    result.Persona = service.GetPersonaByID(persona.ID, info);
                    HttpContext.Current.Session.Add("utente", result.Persona);
                }
            }
            else
                result.TipoAutenticazione = "FALLITA";

            return result;
        }
コード例 #16
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        static void updateContatto(string tipo, PersonaDTO persona, string valore, SferaService service, UserInfo info)
        {
            var dto = persona.Contatti.FirstOrDefault(item => item.TipoContatto.ToUpper() == tipo);
            if (dto != null)
                dto.Valore = valore;
            else
                dto = new ContattoDTO { TipoContatto = tipo, Valore = valore, CodiceRiferimento = persona.ID};

            dto.Stato = "U";
            service.SetContatto(dto, info);
        }
コード例 #17
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        public static Dictionary<string, Dictionary<string, string>> GetFascicoliCondominio(int azienda)
        {
            var lista = new Dictionary<string, Dictionary<string, string>>();
            if(HttpContext.Current.Session["condominio"] != null)
            {
                var service = new SferaService();
                var info = new UserInfo(0, azienda);

                var tipoDocumenti = service.GetFascicoliNameValueConDocumentiPubbliciByCondominio((int) HttpContext.Current.Session["condominio"], info);
                var listaTipo = new Dictionary<string, string>(tipoDocumenti.Count()) {{"0", "--- scegliere un tipo di documento ---"}};
                foreach (var nameValueDTO in tipoDocumenti)
                    listaTipo.Add(nameValueDTO.Value.ToString(), nameValueDTO.Name);

                lista.Add("Tipo di documento", listaTipo);
            }
            else
                lista.Add(string.Empty,  new Dictionary<string, string>());

            return lista;
        }
コード例 #18
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        public static IList<DocumentoDTO> GetDocumenti(int idFascicolo, int azienda)
        {
            if (HttpContext.Current.Session["condominio"] != null && idFascicolo > 0)
            {
                var service = new SferaService();
                var info = new UserInfo(0, azienda);

                // Commentata l'esecuzione del thread perchè provoca per alcuni documenti la creazione di file a 0 byte
                //var td = new Thread(loadDocumenti);
                //td.Start(idFascicolo + "&" + HttpContext.Current.Request.PhysicalApplicationPath);

                return service.GetDocumentiPubbliciByFascicolo(idFascicolo, info);
            }

            return new List<DocumentoDTO>();
        }
コード例 #19
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        public static object GetMovimentiBancari(int? numRows, int? page, string sortField, string sortOrder, bool isSearch, string searchField, string searchString, string searchOper, string dataIniziale, string dataFinale, int idAzienda)
        {
            if (HttpContext.Current.Session["condomino"] != null)
            {
                var service = new SferaService();
                var info = new UserInfo(0, idAzienda);
                var condomino = (SoggettoCondominioDTO) HttpContext.Current.Session["condomino"];
                var filter = new MovimentoBancarioFilter
                                 {
                                     IdCondominio = condomino.IdCondominio,
                                     DataContabileIniziale = GetDataIniziale(),
                                     DataContabileFinale = GetDataFinale()
                                 };

                if (isSearch)
                {
                    switch (searchField)
                    {
                        case "Descrizione":
                            filter.Descrizione = searchString;
                            break;
                        case "DescrizioneCausale":
                            filter.DescrizioneCausale = searchString;
                            break;
                    }
                }

                if (!string.IsNullOrEmpty(dataIniziale))
                    filter.DataContabileIniziale = DateTime.Parse(dataIniziale);
                if (!string.IsNullOrEmpty(dataFinale))
                    filter.DataContabileFinale = DateTime.Parse(dataFinale);

                var inizio = (page*numRows) - numRows;
                var movimentiBancari = service.GetMovimentiByFilter(filter, inizio, numRows, true, info).OrderBy(item => item.DataContabile).ThenBy(item => item.ID).ToList();

                switch (sortField)
                {
                    case "DataContabile":
                        movimentiBancari = sortOrder == "asc"
                                               ? movimentiBancari.OrderBy(item => item.DataContabile).ToList()
                                               : movimentiBancari.OrderByDescending(item => item.DataContabile).ToList();
                        break;
                    case "Importo":
                        movimentiBancari = sortOrder == "asc"
                                               ? movimentiBancari.OrderBy(item => item.Importo).ToList()
                                               : movimentiBancari.OrderByDescending(item => item.Importo).ToList();
                        break;
                    case "DescrizioneCausale":
                        movimentiBancari = sortOrder == "asc"
                                               ? movimentiBancari.OrderBy(item => item.Causale).ToList()
                                               : movimentiBancari.OrderByDescending(item => item.Causale).ToList();
                        break;
                    case "Descrizione":
                        movimentiBancari = sortOrder == "asc"
                                               ? movimentiBancari.OrderBy(item => item.DescrizioneBreve).ToList()
                                               : movimentiBancari.OrderByDescending(item => item.DescrizioneBreve).
                                                     ToList();
                        break;
                }

                //--- format json
                var pageIndex = page ?? 1; //--- current page
                var pageSize = numRows ?? 10; //--- number of rows to show per page
                var totalRecords = service.GetMovimentiCountByFilter(filter, info);
                    //--- number of total items from query
                var totalPages = (int) Math.Ceiling(totalRecords/(decimal) pageSize); //--- number of pages

                var jsonData = new
                {
                    totalpages = totalPages,
                    //--- number of pages
                    page = pageIndex,
                    //--- current page
                    totalrecords = totalRecords,
                    //--- total items
                    rows = (
                                from row in movimentiBancari
                                select new {i = row.ID, cell =
                                    new[] { row.IdentificativoDocumentoSpesa, row.DescrizioneCausale,
                                            row.DescrizioneBreve + " " + row.Descrizione,
                                            row.DataContabile.GetValueOrDefault().ToShortDateString(),
                                            row.Importo.GetValueOrDefault().ToString("c") }
                                            }).ToArray()
                };

                return Newtonsoft.Json.JsonConvert.SerializeObject(jsonData);
            }

            return null;
        }
コード例 #20
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        public static IList<SaldoContoCorrente> GetSaldi(int azienda)
        {
            var log = LogManager.GetLogger("Sfera");

            try
            {
                if (HttpContext.Current.Session["condomino"] != null)
                {
                    IList<SaldoContoCorrente> saldi = new List<SaldoContoCorrente>();
                    var service = new SferaService();
                    var info = new UserInfo(0, azienda);
                    var idCondominio = (int)HttpContext.Current.Session["condominio"];
                    var condominio = service.GetCondominioById(idCondominio, true, false, info);

                    if (condominio != null)
                    {
                        var saldiBancari = service.GetSaldiBancariByCondominio(idCondominio, info);

                        foreach (var saldoBancarioDTO in saldiBancari)
                        {
                            var idContoCorrente = saldoBancarioDTO.IdContoCorrente;
                            var datiBancari = condominio.DatiBancari.FirstOrDefault(item => item.ID == idContoCorrente);
                            if (datiBancari != null)
                            {
                                var descrizione = datiBancari.DisplayName;
                                var iban = datiBancari.Iban;
                                var importo = saldoBancarioDTO.SaldoContabileBanca;
                                saldi.Add(new SaldoContoCorrente(descrizione, iban, importo.GetValueOrDefault().ToString("c")));
                            }
                        }
                    }
                    return saldi;
                }

            }
            catch (Exception ex)
            {
                log.Error($"Load SALDI fallito - azienda:{azienda}", ex);
                throw ex;
            }

            return null;
        }
コード例 #21
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
 public static IEnumerable<IGrouping<int, VersamentoSoggettoDTO>> GetVersamenti(int azienda)
 {
     var service = new SferaService();
     var info = new UserInfo(0, azienda);
     var condomino = (SoggettoCondominioDTO)HttpContext.Current.Session["condomino"];
     if (condomino != null)
     {
         var versamenti = service.GetVersamentiByPersonaCondominio(condomino.IdCondominio, ((PersonaDTO)HttpContext.Current.Session["utente"]).ID, info);
         return versamenti.GroupBy(item => item.IdEsercizio);
     }
     return new BindingList<IGrouping<int, VersamentoSoggettoDTO>>();
 }
コード例 #22
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        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;
            }
        }
コード例 #23
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        static ContattiPersona updateContatti(PersonaDTO persona, ContattiPersona contatti)
        {
            var service = new SferaService();
            var info = new UserInfo(0, int.Parse(HttpContext.Current.Session["azienda"].ToString()));

            updateContatto("TELEFONO", persona, contatti.Telefono, service, info);
            updateContatto("CELLULARE", persona, contatti.Cellulare, service, info);
            updateContatto("EMAIL", persona, contatti.Email, service, info);
            updateContatto("EMAILCERT",persona, contatti.EmailCertificata, service, info);

            return getContatti(persona);
        }
コード例 #24
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        public static PersonaCondomini AuthenticateUser(string user, string password, int azienda)
        {
            var log = LogManager.GetLogger("Sfera");
            try
            {
                var service = new SferaService();
                var info = new UserInfo(0, azienda);
                var result = new PersonaCondomini();

                decimal codiceFiscale;
                var isCodiceFiscale = decimal.TryParse(password, out codiceFiscale);
                if (!isCodiceFiscale)
                {
                    result.TipoAutenticazione = "SOGGETTO";
                    var persona = service.VerificaUtentePersona(user, password, info);

                    if (persona != null)
                    {
                        HttpContext.Current.Session.Add("utente", persona);
                        var soggetti = service.GetSoggettiByPersona(persona.ID, info);
                        if (soggetti.Count == 1)
                        {
                            var soggetto = soggetti.SingleOrDefault();
                            if (soggetto != null)
                            {
                                result.NumeroCondomini = 1;
                                result.Persona = persona;
                                result.Condomini = new Dictionary<string, string> { { soggetto.IdCondominio.ToString(), soggetto.DescrizioneUnitaImmobiliare } };

                                // Contatti
                                result.Contatti = getContatti(persona);

                                HttpContext.Current.Session.Add("azienda", azienda);
                                HttpContext.Current.Session.Add("condomino", soggetto);
                                HttpContext.Current.Session.Add("condominio", soggetto.IdCondominio);

                                log.Info("Utente autenticato - " + Utility.GetMethodDescription() + " - username:"******"azienda", azienda);
                                HttpContext.Current.Session.Add("condomino", soggetto);
                                HttpContext.Current.Session.Add("condominio", soggetto.IdCondominio);

                            }
                        }
                    }
                }
                else
                {
                    result.TipoAutenticazione = "CONDOMINIO";
                    var condominio = service.AutenticazioneCondominio(user, password, info);
                    if (condominio != null)
                    {
                        HttpContext.Current.Session.Add("azienda", condominio.AziendaID); 
                        HttpContext.Current.Session.Add("condominio", condominio.ID);
                        result.Condominio = condominio;
                    }
                    else
                        return new PersonaCondomini { TipoAutenticazione = "FALLITA", ExceptionMessage = "Utente o password non riconosciuti"};
                }

                return result;
            }
            catch (Exception ex)
            {
                log.ErrorException(string.Format("Autenticazione fallita - user:{0} - password:{1} - azienda:{2}", user, password, azienda), ex);
                return new PersonaCondomini{TipoAutenticazione = "FALLITA", ExceptionMessage = ex.Message + Environment.NewLine + ex.StackTrace};
            }
        }
コード例 #25
0
ファイル: index.aspx.cs プロジェクト: gipasoft/Sfera
        public static PersonaCondomini SetSoggettoCondominio(int idCondominio, int azienda)
        {
            var result = new PersonaCondomini();
            var persona = HttpContext.Current.Session["utente"] as PersonaDTO;
            if(persona != null)
            {
                var service = new SferaService();
                var info = new UserInfo(0, azienda);
                var soggetti = service.GetSoggettiByCondominioPersona(idCondominio, persona.ID, info);
                var soggetto = soggetti[0];
                HttpContext.Current.Session.Add("condomino", soggetto);
                HttpContext.Current.Session.Add("condominio", idCondominio);
                HttpContext.Current.Session.Add("azienda", azienda);

                result.Persona = persona;
                result.TipoAutenticazione = "SOGGETTO";
            }

            return result;
        }