diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs index dbf5c363..32da4d5d 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/AndroidApk/Index.cshtml.cs @@ -82,7 +82,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk private async System.Threading.Tasks.Task CreateDadmehrWorkshopFaceEmbedding() { - var basePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "faces", "11"); + var basePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "faces"); if (!Directory.Exists(basePath)) { @@ -94,63 +94,69 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk var client = new HttpClient(); - foreach (var directory in directories) + foreach (var mainDirectory in directories) { - var directoryName = Path.GetFileName(directory); - - var employee = await _context.Employees - .FirstOrDefaultAsync(x=>x.id == Convert.ToInt64(directoryName)); - var fullname = employee != null ? employee.FullName: "نامشخص"; - - var imageFiles = Directory.GetFiles(directory, "*.*") - .Take(2) - .ToArray(); - - if (imageFiles.Length < 2) + var subDirectories = Directory.GetDirectories(mainDirectory); + foreach (var directory in subDirectories) { - Console.WriteLine($"تعداد تصاویر کافی برای {directoryName} وجود ندارد"); - continue; - } + var directoryName = Path.GetFileName(directory); - using var formData = new MultipartFormDataContent(); - formData.Add(new StringContent(directoryName), "employee_id"); - formData.Add(new StringContent("11"), "workshop_id"); - formData.Add(new StringContent(fullname), "employee_full_name"); + var employee = await _context.Employees + .FirstOrDefaultAsync(x => x.id == Convert.ToInt64(directoryName)); + var fullname = employee != null ? employee.FullName : "نامشخص"; - FileStream file1Stream = null; - FileStream file2Stream = null; + var imageFiles = Directory.GetFiles(directory, "*.*") + .Take(2) + .ToArray(); - try - { - // ارسال فایل اول - file1Stream = new FileStream(imageFiles[0], FileMode.Open, FileAccess.Read); - var file1Content = new StreamContent(file1Stream); - file1Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg"); - formData.Add(file1Content, "picture1", Path.GetFileName(imageFiles[0])); - - // ارسال فایل دوم - file2Stream = new FileStream(imageFiles[1], FileMode.Open, FileAccess.Read); - var file2Content = new StreamContent(file2Stream); - file2Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg"); - formData.Add(file2Content, "picture2", Path.GetFileName(imageFiles[1])); - - var response = await client.PostAsync("http://127.0.0.1:8000/embeddings", formData); - - if (response.IsSuccessStatusCode) + if (imageFiles.Length < 2) { - var result = await response.Content.ReadAsStringAsync(); - Console.WriteLine($"✓ {directoryName}: {result}"); + Console.WriteLine($"تعداد تصاویر کافی برای {directoryName} وجود ندارد"); + continue; } - else + + using var formData = new MultipartFormDataContent(); + formData.Add(new StringContent(directoryName), "employee_id"); + formData.Add(new StringContent("11"), "workshop_id"); + formData.Add(new StringContent(fullname), "employee_full_name"); + + FileStream file1Stream = null; + FileStream file2Stream = null; + + try { - var error = await response.Content.ReadAsStringAsync(); - Console.WriteLine($"✗ {directoryName}: {response.StatusCode} - {error}"); + // ارسال فایل اول + file1Stream = new FileStream(imageFiles[0], FileMode.Open, FileAccess.Read); + var file1Content = new StreamContent(file1Stream); + file1Content.Headers.ContentType = + new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg"); + formData.Add(file1Content, "picture1", Path.GetFileName(imageFiles[0])); + + // ارسال فایل دوم + file2Stream = new FileStream(imageFiles[1], FileMode.Open, FileAccess.Read); + var file2Content = new StreamContent(file2Stream); + file2Content.Headers.ContentType = + new System.Net.Http.Headers.MediaTypeHeaderValue("image/jpeg"); + formData.Add(file2Content, "picture2", Path.GetFileName(imageFiles[1])); + + var response = await client.PostAsync("http://127.0.0.1:8000/embeddings", formData); + + if (response.IsSuccessStatusCode) + { + var result = await response.Content.ReadAsStringAsync(); + Console.WriteLine($"✓ {directoryName}: {result}"); + } + else + { + var error = await response.Content.ReadAsStringAsync(); + Console.WriteLine($"✗ {directoryName}: {response.StatusCode} - {error}"); + } + } + finally + { + file1Stream?.Dispose(); + file2Stream?.Dispose(); } - } - finally - { - file1Stream?.Dispose(); - file2Stream?.Dispose(); } } }