Пример #1
0
        public async Task <ulong> Post()
        {
            var user = new User();
            await AzureDataBase.UploadUserData(user);

            return(user.ID);
        }
Пример #2
0
        public async Task <string> Get(string name)
        {
            try
            {
                List <Bird> allBirds = (List <Bird>) new DataContractJsonSerializer(typeof(List <Bird>))
                                       .ReadObject(await AzureDataBase.DownloadData("все_птицы.json", AzureDataBase.BlobContainerBirds));

                return((allBirds.Where(x => x.Name.Contains(name)).Distinct().First()).Serialize());

                //return (await AzureDataBase.DownloadBirdData(name)).Serialize();
            }
            catch (BirdBaseException e) { return("Ошибка: " + e.Message); }
            catch (Exception) { return("Неизвестная ошибка"); }
        }
Пример #3
0
        public async Task <string> Put([FromRoute] string birdName, [FromRoute] string coords, [FromRoute] ulong userID)
        {
            try
            {
                var bird = await AzureDataBase.DownloadBirdData(birdName);

                var user = await AzureDataBase.DownloadUserData(userID);

                bird.Coords = coords;
                user.AddBird(bird);
                if (user.BirdsCollection.Count % 5 == 0)
                {
                    user.LVL++;
                }
                await AzureDataBase.UploadUserData(user);

                return("Всё хорошо");
            }
            catch (Exception e) { return(e.Message); }
        }
Пример #4
0
        public async Task <string> Filter([FromRoute] string color, [FromRoute] string size)
        {
            try
            {
                // Подтянули всех птиц
                List <Bird> allBirds = (List <Bird>) new DataContractJsonSerializer(typeof(List <Bird>))
                                       .ReadObject(await AzureDataBase.DownloadData("все_птицы.json", AzureDataBase.BlobContainerBirds));

                //List<Bird> allBirds = JsonSerializer.Deserialize<List<Bird>>(await AzureDataBase.DownloadAllBirds());

                // Фильтруем птиц
                List <Bird> found_birds = allBirds.Where(x => x.Color.Contains(color) && x.Size.Contains(size)).GroupBy(x => x.Name).Select(g => g.First()).ToList();

                // Сереализуем массив и отправляем обратно
                var ms = new MemoryStream();
                // Serializer the List<Bird> object to the stream.
                new DataContractJsonSerializer(typeof(List <Bird>)).WriteObject(ms, found_birds);
                byte[] json = ms.ToArray();
                ms.Close();
                return(Encoding.UTF8.GetString(json, 0, json.Length));
            }
            catch (BirdBaseException e) { return("Ошибка: " + e.Message); }
            catch (Exception) { return("Неизвестная ошибка"); }
        }
Пример #5
0
 public async Task <string> GetUserData(ulong ID)
 => (await AzureDataBase.DownloadUserData(ID)).Serialize();
Пример #6
0
 public async Task <string> GetAllBirds()
 => await AzureDataBase.DownloadAllBirds();