Как я могу отправить данные из моего REST WebService в мое приложение Xamarin? - PullRequest
0 голосов
/ 15 марта 2019

Мне нужна помощь с моей программой.Я утверждаю, что я все еще новичок, поэтому извините, если вопрос тривиален.

Проблема: Я закончил разработку своих веб-сервисов REST с использованием SqlConnection.Теперь моя проблема заключается в том, чтобы сделать данные, которые у меня есть в моем приложении форм xamarin (в настоящее время статические), динамическими.

Ниже приведена часть кода, в которой я статически объявляю данные:

public class MockDataStore: IDataStore <Item>
    {
        List <Item> items;

        // Allow me to assign values ​​to the declared variables

        public MockDataStore ()
        {
            items = new List <Item> ();
            var mockItems = new List <Item>
            {
                
                new Item {Id = Guid.NewGuid (). ToString (), Nome_cognome = "1xxx1", Email = "xxx", Phone = 3333333333, Role = "Programmer", ActivityMattina = "Is updating the databases", ActivitiesAfternoon = "Presentation ", Number_Inside = 123},
                               new Item {Id = Guid.NewGuid (). ToString (), Nome_cognome = "2xx2", Email = "xxx", Phone = 3333333333, Role = "Programmer", ActivityMattina = "Is updating the databases", ActivitiesAfternoon = "Presentation ", Number_Inside = 123},

                new Item {Id = Guid.NewGuid (). ToString (), Nome_cognome = "3xxx3", Email = "3xxx3", Phone = 3333333333, Role = "Programmer", ActivityMattina = "Is updating the databases", ActivitiesAfternoon = "Presentation ", Number_Inside = 123},
           };
            foreach (var item in mockItems)
            {
                Items.Add (item);
            }
        }

Вот вместо этого запрос, который я запускаю на своих веб-сервисах:

public List <Agenda> Rooms ()
        {
            List <Ansagenda> list = new List <Ansagenda> ();

            string queryString = "SELECT CDSISM, DESISM, TYPE, GSM, EMAIL, IP FROM [dbo]. [ANSIS00F] WHERE CDSISM = '44 'AND ANSIS00F.TIPO =' X ';";
            // string queryString = "SELECT CDSISM, DESISM, TYPE, GSM, EMAIL, IP, AGSIS, AGMAT, AGPOM, AGDAT, ORDER FROM [dbo]. [ANSIS00F] INNER JOIN [dbo]. [AGENDA] ON [CDSISM] = [AGSIS] WHERE ANSIS00F.TIPO = 'X' ORDER BY DESISM ASC, AGDAT ASC; ";

            SqlCommand command = new SqlCommand (queryString, connection);
            SqlDataAdapter adapter = new SqlDataAdapter (command);
            DataTable table = new DataTable ();

            connection.Open ();
            adapter.Fill (table);
            connection.Close ();

            foreach (DataRow dr in table.Rows)
            {
                list.Add (new Ansagenda
                {
                    CDSISM = Convert.ToString (dr ["CDSISM"]),
                    DESISM = Convert.ToString (dr ["DESISM"]),
                    TYPE = Convert.ToString (dr ["TYPE"]),
                    GSM = Convert.ToString (dr ["GSM"]),
                    EMAIL = Convert.ToString (dr ["EMAIL"]),
                    IP = Convert.ToString (dr ["IP"]),
                });
            }
            return list;
        }

1 Ответ

0 голосов
/ 15 марта 2019

Если вы хотите отобразить данные с вашего сервера в приложении, вам нужно как-то их получить. Вы можете сделать это, отправив HTTP-запрос на сервер. Давайте начнем с вопроса: можете ли вы спросить у своего сервера список повесток дня? Вы можете сделать это из браузера / POSTMAN?

Я настоятельно советую вам прочитать эту статью и попробовать сделать что-то подобное в вашем приложении. Это не так сложно сделать, и есть много преимуществ в использовании Refit.

Конечно, вы можете сделать запрос самостоятельно, но я не уверен, имеет ли это смысл, когда есть много библиотек, способных сделать это.

...