Лешка преди 4 месеца
родител
ревизия
fda6f2a6fd

+ 2 - 1
BlazorApp-empty1/App.razor

@@ -1,5 +1,6 @@
 @using Microsoft.AspNetCore.Components.Routing
- 
+
+
 <!DOCTYPE html>
 <html>
 <head>

+ 78 - 9
BlazorApp-empty1/Classasync.cs

@@ -1,24 +1,30 @@
 using Newtonsoft.Json;
+using System;
 using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
 
 namespace BlazorApp
 {
     public class Classasync
     {
-       static string?  responseBody = null;
-       public static List<BlazorApp.region> regions = new List<BlazorApp.region>();
+        public static bool userautorisate = false;
+        static string? responseBody = null;
+        public static List<BlazorApp.region> regions = new List<BlazorApp.region>();
         static string? responseBody1 = null;
         public static List<BlazorApp.ReciplentMessage> message = new List<BlazorApp.ReciplentMessage>();
         public static string passwordtrue;
+        public static string addStatus = "";
 
 
-        async public static Task valera()
+
+        async public static Task getRegion()
         {
             using (var client = new HttpClient())
             {
-                client.BaseAddress = new Uri("https://localhost:7152/"); 
+                client.BaseAddress = new Uri("https://localhost:7152/");
+
 
-               
 
                 HttpResponseMessage response = await client.GetAsync("WeatherForecast");
                 if (response.IsSuccessStatusCode)
@@ -28,7 +34,7 @@ namespace BlazorApp
                 }
             }
         }
-        async public static Task valera1()
+        async public static Task getResiple()
         {
             using (var client = new HttpClient())
             {
@@ -44,7 +50,7 @@ namespace BlazorApp
                 }
             }
         }
-        async public static Task checkLoginAndPassword(string login, string password)
+        async public static Task<bool> checkLoginAndPassword(string login, string password)
         {
             using (var client = new HttpClient())
             {
@@ -59,14 +65,77 @@ namespace BlazorApp
                 HttpResponseMessage response = await client.GetAsync(fullUri);
                 if (response.IsSuccessStatusCode)
                 {
-                    
-                    
+                    userautorisate = true;
+                    return true;
+
                 }
                 else
                 {
+
                     passwordtrue = "Вы ввели неверные данные для входа";
+                    return false;
+                }
+            }
+        }
+        async public static Task AddRegion(string region)
+        {
+
+            using (var client = new HttpClient())
+            {
+                var requestParams = new Dictionary<string, string>
+               {
+                   {"region",region}
+
+               };
+                var requestUri = new Uri("https://localhost:7152/WeatherForecast/RegionUpdate");
+                var queryString = string.Join("&", requestParams.Select(param => $"{WebUtility.UrlEncode(param.Key)}={WebUtility.UrlEncode(param.Value)}"));
+                var fullUri = $"{requestUri}?{queryString}";
+                HttpResponseMessage response = await client.GetAsync(fullUri);
+                if (response.IsSuccessStatusCode)
+                {
+
+
+
+                }
+                else
+                {
+
+                   
+
                 }
             }
+
+
         }
+        async public static Task AddResiple(string resiple)
+        {
+            using (var client = new HttpClient())
+            {
+                var requestParams = new Dictionary<string, string>
+               {
+                   {"RecipientMessage",resiple}
+
+               };
+                var requestUri = new Uri("https://localhost:7152/WeatherForecast/resipleUpdate");
+                var queryString = string.Join("&", requestParams.Select(param => $"{WebUtility.UrlEncode(param.Key)}={WebUtility.UrlEncode(param.Value)}"));
+                var fullUri = $"{requestUri}?{queryString}";
+                HttpResponseMessage response = await client.GetAsync(fullUri);
+                if (response.IsSuccessStatusCode)
+                {
+                    
+
+
+                }
+                else
+                {
+
+                   
+
+                }
+            }
+
+        }
+       
+
     }
 }

Файловите разлики са ограничени, защото са твърде много
+ 0 - 110
BlazorApp-empty1/page/Admin.razor


+ 85 - 0
BlazorApp-empty1/page/AdminAddRegion.razor

@@ -0,0 +1,85 @@
+@page "/AddData"
+@using System.Net.Http
+@using Microsoft.AspNetCore.Authorization
+@using Microsoft.AspNetCore.Components.Forms
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using Microsoft.JSInterop
+@inject NavigationManager NavigationManager
+@using System.Text.RegularExpressions;
+@using Newtonsoft.Json;
+@inject NavigationManager NavigationManager
+@{
+    CheckConnect();
+    void CheckConnect()
+    {
+        if (BlazorApp.Classasync.userautorisate == false)
+        {
+            NavigationManager.NavigateTo("Authorization");
+        }
+    }
+}
+<head>
+
+
+    <link href="/css/autorizastion.css" rel="stylesheet" />
+
+
+</head>
+
+<div class="registration-cssave">
+    <form>
+        <h3 class="text-center">Добавление области и получателя обращения</h3>
+        <div class="form-group">
+            <input @bind="region" class="form-control item" type="text" name="username" maxlength="15" minlength="1" pattern="^[a-zA-Z0-9_.-]*$" id="username" placeholder="Область" required>
+        </div>
+        <div class="form-group">
+            <input @bind="apeal" class="form-control item" type="text" name="Пароль" minlength="1" id="password" placeholder="Получатель обращения" required>
+        </div>
+
+        <div class="form-group">
+            <button type=button @onclick="regionandapealUpdate">Добавить</button>
+        </div>
+        @code {
+            string region;
+            string apeal;
+            public async Task regionandapealUpdate()
+            {
+                BlazorApp.Classasync.addStatus = "";
+                if ((region != null) && (region != ""))
+                        {
+                    await BlazorApp.Classasync.AddRegion(region);
+                    BlazorApp.Classasync.addStatus = "регион успешно добавлен";
+
+                }
+                if ((apeal != null) && (apeal != ""))
+                {
+
+                    await BlazorApp.Classasync.AddResiple(apeal);
+                    BlazorApp.Classasync.addStatus = "получатель успешно добавлен";
+
+                }
+                if (((region != null) && (apeal != null)) && (region != "") && (apeal != ""))
+                {
+                    BlazorApp.Classasync.addStatus = "Регион и получатель успешно добавлены";
+                }
+                else if ((region == null) && (apeal == null)&&(region == "") && (apeal == ""))
+                {
+                    BlazorApp.Classasync.addStatus = "Вы ничего не ввели";
+                }
+           
+
+
+            }
+               }
+        <p text-center>@BlazorApp.Classasync.addStatus</p>
+
+        
+
+
+
+
+
+
+    </form>
+</div>

+ 10 - 3
BlazorApp-empty1/page/Autorization.razor

@@ -1,11 +1,11 @@
-@page "/autorization"
+@page "/Authorization"
 @using System.Net.Http
 @using Microsoft.AspNetCore.Authorization
 @using Microsoft.AspNetCore.Components.Forms
 @using Microsoft.AspNetCore.Components.Routing
 @using Microsoft.AspNetCore.Components.Web
 @using Microsoft.JSInterop
-
+@inject NavigationManager NavigationManager
 @using System.Text.RegularExpressions;
 @using Newtonsoft.Json;
 <head>
@@ -40,7 +40,14 @@
                 if (isBusy) return; // Если метод уже выполняется, возвращаемся без действий
                 isBusy = true; // Устанавливаем флаг, указывающий на то, что метод начал выполняться
 
-                await BlazorApp.Classasync.checkLoginAndPassword(login, password);
+                if (await BlazorApp.Classasync.checkLoginAndPassword(login, password) == true)
+                {
+                    NavigationManager.NavigateTo("AddData");
+                }
+                else
+                {
+                    
+                }
 
                 isBusy = false; // Сбрасываем флаг после завершения асинхронной операции
             }

+ 50 - 31
BlazorApp-empty1/page/MainPage.razor

@@ -310,8 +310,8 @@
                                                             protected override async Task OnInitializedAsync()
                                                             {
 
-                                                                await BlazorApp.Classasync.valera();
-                                                                await BlazorApp.Classasync.valera1();
+                                                                await BlazorApp.Classasync.getRegion();
+                                                                await BlazorApp.Classasync.getResiple();
                                                                 
 
                                                             }
@@ -549,8 +549,53 @@
                                             <div class="col-sm-12">
                                                 <div class="form-upload-file ">
 
-                                                    <InputFile id="photo"  />
-                                                   
+                                                    <InputFile id="photo" OnChange="HandleFileUpload" />
+                                                    @code {
+                                                        private async Task HandleFileUpload(InputFileChangeEventArgs e)
+                                                        {
+                                                            {
+                                                                var file = e.File;
+                                                                if (file != null)
+                                                                {
+                                                                    using (var memoryStream = new MemoryStream())
+                                                                    {
+                                                                        await file.OpenReadStream().CopyToAsync(memoryStream);
+                                                                        byte[] fileBytes = memoryStream.ToArray();
+
+                                                                        // Отправка файла на сервер
+                                                                        await SendFileToServer(fileBytes, file.Name);
+                                                                    }
+                                                                }
+                                                            }
+
+                                                             async Task SendFileToServer(byte[] fileBytes, string fileName)
+                                                            {
+                                                                // Замените URL на адрес вашего API
+                                                                var url = "https://localhost:7152/WeatherForecast/FileUpdate";
+
+                                                                using (var formData = new MultipartFormDataContent())
+                                                                {
+                                                                    formData.Add(new ByteArrayContent(fileBytes), "file", fileName);
+
+                                                                    using (var client = new HttpClient())
+                                                                    {
+                                                                        var response = await client.PostAsync(url, formData);
+
+                                                                        if (response.IsSuccessStatusCode)
+                                                                        {
+                                                                            // Обработка успешного ответа
+                                                                        }
+                                                                        else
+                                                                        {
+                                                                            // Обработка ошибки при загрузке файла
+                                                                        }
+                                                                    }
+                                                                }
+                                                            }
+
+
+                                                        }
+                                                    }
                                                     <div id="files" class="files"></div>
 
                                                     <p class="light-text">
@@ -734,33 +779,7 @@
                                                             }
                                                         }
                                                     }
-                                                   @*  public async Task FileUpdate()
-                                                    {
-                                                            // Параметры запроса
-
-
-                                                            // Создание клиента HTTP
-
-                                                        // URL, который соответствует маршруту вашего метода API
-                                                        await fileStream.LoadAsync(selectedFile.OpenReadStream());
-
-                                                        // Замените "api/upload" на путь к вашему API
-                                                        var response = await Http.PostAsync("api/upload", fileStream);
-
-                                                        if (response.IsSuccessStatusCode)
-                                                        {
-                                                           
-                                                            Console.WriteLine("File uploaded successfully.");
-                                                        }
-                                                        else
-                                                        {
-                                                            // Обработка ошибки
-                                                            Console.WriteLine("Error uploading file.");
-                                                        }
-                                                        
-                                                        
-                                                        
-                                                    } *@
+                                                 
                                                     public string Messagabutton = "";
                                                 }
 

Някои файлове не бяха показани, защото твърде много файлове са промени