public async Task <ResponseModel> getPage(string blogName, string pageName)
        {
            var response = await _client.GetAsync($"{_client.BaseAddress}api/v1/Blogs/GetPageData/{blogName}/{pageName}").ConfigureAwait(false);

            string responseContent = await response.Content.ReadAsStringAsync();

            return(ResponseUtilities.ResponseValidation(response.StatusCode, responseContent));
        }
        public async Task <ResponseModel> updateBlogData(BlogRequestBody body)
        {
            string json     = JsonConvert.SerializeObject(body);
            var    content  = new StringContent(json, Encoding.UTF8, "application/json");
            var    response = await _client.PutAsync($"{_client.BaseAddress}api/v1/Blogs/UpdateBlogData", content);

            return(ResponseUtilities.ResponseValidation(response.StatusCode, string.Empty));
        }
        public async Task <ResponseModel> lookForPost(string blogName, string postName)
        {
            var response = await _client.GetAsync($"{_client.BaseAddress}api/v1/Blogs/LookForPost/{blogName}/{postName}").ConfigureAwait(false);

            IsExistResponse responseData = await response.Content.ReadFromJsonAsync <IsExistResponse>();

            return(ResponseUtilities.ResponseValidation(response.StatusCode, responseData.isExist ? "true" : "false"));
        }
        public async Task <ResponseModel> getUserBlogs(string userName)
        {
            var response = await _client.GetAsync($"{_client.BaseAddress}api/v1/Blogs/GetUserBlogs/{userName}").ConfigureAwait(false);

            string repsonseContent = await response.Content.ReadAsStringAsync();

            return(ResponseUtilities.ResponseValidation(response.StatusCode, repsonseContent));
        }
Exemple #5
0
 /// <summary>
 /// Возвращает экземпляр ответа сервера с ошибкой
 /// </summary>
 /// <param name="error">Тип ошибки</param>
 /// <returns>Экземпляр ошибочного ответа сервера</returns>
 public static MainResponse GetError(RequestError error)
 {
     return(new MainResponse()
     {
         Success = false,
         Data = null,
         Error = ResponseUtilities.GetErrorResponse(error)
     });
 }
Exemple #6
0
        public async Task <ResponseModel> UploadImage(IBrowserFile file, string format)
        {
            var resizedImageFile = await file.RequestImageFileAsync(format, 500, 500);

            var buffer = new byte[resizedImageFile.Size];
            await resizedImageFile.OpenReadStream().ReadAsync(buffer);

            var imageDataUrl  = $"data:{format};base64,{Convert.ToBase64String(buffer)}";
            var serialized    = JsonConvert.SerializeObject(new { base64File = imageDataUrl, fileName = file.Name });
            var stringContent = new StringContent(serialized, Encoding.UTF8, "application/json");
            var response      = await _client.PostAsync($"{_client.BaseAddress}saveJpgImage", stringContent).ConfigureAwait(false);

            var responseData = await response.Content.ReadFromJsonAsync <ImageUrl>();

            return(ResponseUtilities.ResponseValidation(response.StatusCode, responseData.imageUrl));
        }
Exemple #7
0
        /// <summary>
        /// Сохраняет и рассылает сообщение всем подключеннымк чату пользователям
        /// </summary>
        /// <param name="chatId">Идентификатор чата</param>
        /// <param name="message">Данные сообщения для передачи</param>
        public async Task SendMessage(string chatId, ExtMessage message)
        {
            User user = Context.GetHttpContext().GetUser();

            if (user == null)
            {
                return;
            }

            Chat chat = await _database.Chats.FirstOrDefaultAsync(p => p.Id == chatId);

            if (chat == null)
            {
                await Clients.Caller.SendAsync("ChatError", ResponseUtilities.GetErrorResponse(RequestError.ChatNotFound)).ConfigureAwait(false);

                return;
            }

            Message internalMessage = new Message()
            {
                Chat             = chat,
                Date             = DateTime.Now,
                EncryptedMessage = message.encryptedMessage,
                Id     = RandomUtilities.GetCryptoRandomString(40),
                Sender = _database.Users.First(p => p.Id == user.Id),
                Status = MessageStatus.Encrypted
            };

            chat.LastMessageDate = internalMessage.Date;
            chat.LastMessageId   = internalMessage.Id;

            _database.Messages.Add(internalMessage);

            await _database.SaveChangesAsync();

            KeySession[] keySessions = chat.EncryptionChatDatas.Where(p => p.KeySession != null).Select(p => p.KeySession).ToArray();

            User[] users = await _database.Users.Where(p => keySessions.Contains(p.KeySession)).ToArrayAsync();

            for (int i = 0; i < users.Length; i++)
            {
                await Clients.User(users[i].Id).SendAsync("NewMessage", chatId, (ExtMessage)internalMessage);
            }
        }
        public async Task <ResponseModel> deleteBlog(string name)
        {
            var response = await _client.DeleteAsync($"{_client.BaseAddress}api/v1/Blogs/DeleteBlog/{name}");

            return(ResponseUtilities.ResponseValidation(response.StatusCode, string.Empty));
        }
        public async Task <ResponseModel> deletePage(string blogName, string pageName)
        {
            var response = await _client.DeleteAsync($"{_client.BaseAddress}api/v1/Blogs/DeletePageData/{blogName}/{pageName}");

            return(ResponseUtilities.ResponseValidation(response.StatusCode, string.Empty));
        }
Exemple #10
0
        public async Task <ResponseModel> DeleteImage(string fileName)
        {
            var response = await _client.DeleteAsync($"{_client.BaseAddress}deleteJpgImage/{fileName}");

            return(ResponseUtilities.ResponseValidation(response.StatusCode, String.Empty));
        }