コード例 #1
0
        public Notary GetNotary(string name)
        {
            var notary = new Notary();

            notary.Address = new Address();

            var individ = (SparqlResultSet)rdfRepository.ProcessQuery("SELECT ?p ?o WHERE { notis2:" + name + " ?p ?o} order by ?p");

            SparqlResultSet rset = individ;

            foreach (SparqlResult result in rset)
            {
                var p      = result[0].ToString();
                var pValue = p.Substring(p.LastIndexOf('/') + 1);

                var o      = result[1].ToString();
                var oValue = o.Substring(o.LastIndexOf('/') + 1);

                switch (pValue)
                {
                case "firstName":
                {
                    notary.PersonName = oValue;
                    break;
                }

                case "lastName":
                {
                    notary.PersonName = notary.PersonName + " " + oValue;
                    break;
                }

                case "phoneNo":
                {
                    notary.PhoneNumber = oValue;
                    break;
                }

                case "isSupportedForeignCitizens":
                {
                    notary.IsSupportedForeignCitizens = Int32.Parse(o.Substring(0, 1)) != 0;
                    break;
                }

                case "schedule":
                {
                    notary.Schedule = sharedService.GetScheduleByString(oValue);
                    break;
                }

                case "address":
                {
                    var address = (SparqlResultSet)rdfRepository.ProcessQuery("SELECT ?p ?o WHERE { schema:" + oValue + " ?p ?o} order by ?p");

                    foreach (SparqlResult addr in address)
                    {
                        var p2      = addr[0].ToString();
                        var pValue2 = p2.Substring(p2.LastIndexOf('/') + 1);

                        if (addr[1] == null)
                        {
                            break;
                        }
                        var o2      = addr[1].ToString();
                        var oValue2 = o2.Substring(o2.LastIndexOf('/') + 1);

                        switch (pValue2)
                        {
                        case "city":
                        {
                            notary.Address.City = oValue2;
                            break;
                        }

                        case "locality":
                        {
                            notary.Address.Locality = oValue2;
                            break;
                        }

                        case "street":
                        {
                            notary.Address.Street = oValue2;
                            break;
                        }

                        case "coordinates":
                        {
                            notary.Address.Lat  = sharedService.GetLatOrLong("lat", oValue2);
                            notary.Address.Long = sharedService.GetLatOrLong("long", oValue2);
                            break;
                        }
                        }
                    }

                    break;
                }
                }
            }

            notary.Services = servicesService.GetServiceForOffice("notary", name);

            return(notary);
        }
コード例 #2
0
ファイル: TranslatorService.cs プロジェクト: madalina1/notis
        public Translator GetTranslator(string name)
        {
            var translator = new Translator();

            translator.Address = new Address();

            var individ = (SparqlResultSet)rdfRepository.ProcessQuery("SELECT ?p ?o WHERE { notis2:" + name + " ?p ?o} order by ?p");

            SparqlResultSet rset = individ;

            foreach (SparqlResult result in rset)
            {
                var p      = result[0].ToString();
                var pValue = p.Substring(p.LastIndexOf('/') + 1);

                var o      = result[1].ToString();
                var oValue = o.Substring(o.LastIndexOf('/') + 1);

                switch (pValue)
                {
                case "firstName":
                {
                    translator.PersonName = oValue;
                    break;
                }

                case "lastName":
                {
                    translator.PersonName = translator.PersonName + " " + oValue;
                    break;
                }

                case "phoneNo":
                {
                    translator.PhoneNumber = oValue;
                    break;
                }

                case "authorisationNr":
                {
                    translator.AuthorizedNumber = oValue;
                    break;
                }

                case "schedule":
                {
                    translator.Schedule = sharedService.GetScheduleByString(oValue);
                    break;
                }

                case "languages":
                {
                    translator.Languages = oValue
                                           .Replace("\'", "")
                                           .Replace("[", "")
                                           .Replace("]", "")
                                           .Split(", ").ToList();
                    break;
                }

                case "address":
                {
                    var address = (SparqlResultSet)rdfRepository.ProcessQuery("SELECT ?p ?o WHERE { schema:" + oValue + " ?p ?o} order by ?p");

                    foreach (SparqlResult addr in address)
                    {
                        var p2      = addr[0].ToString();
                        var pValue2 = p2.Substring(p2.LastIndexOf('/') + 1);

                        if (addr[1] == null)
                        {
                            break;
                        }
                        var o2      = addr[1].ToString();
                        var oValue2 = o2.Substring(o2.LastIndexOf('/') + 1);

                        switch (pValue2)
                        {
                        case "city":
                        {
                            translator.Address.City = oValue2;
                            break;
                        }

                        case "courtOfAppeal":
                        {
                            translator.Address.CourtOfAppeal = oValue2;
                            break;
                        }

                        case "coordinates":
                        {
                            translator.Address.Lat  = sharedService.GetLatOrLong("lat", oValue2);
                            translator.Address.Long = sharedService.GetLatOrLong("long", oValue2);
                            break;
                        }
                        }
                    }

                    break;
                }
                }
            }

            translator.Services = servicesService.GetServiceForOffice("translation", name);

            return(translator);
        }