Handlers of possible errors.

This commit is contained in:
2023-05-21 02:44:25 +04:00
parent e36877d0db
commit 00a90506c8
3 changed files with 43 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ using ComputerStoreContracts.ViewModels;
using ComputerStoreDataModels.Models; using ComputerStoreDataModels.Models;
using ComputerStoreEmployeeApp.Models; using ComputerStoreEmployeeApp.Models;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Data; using System.Data;
using System.Diagnostics; using System.Diagnostics;
@@ -122,6 +123,13 @@ namespace ComputerStoreEmployeeApp.Controllers
public IActionResult ComponentDelete() public IActionResult ComponentDelete()
{ {
ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result; ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result;
if(ViewBag.Components == null)
{
ViewBag.Message = "There are no components.";
return View("ComponentMenu");
}
return View(); return View();
} }
@@ -219,8 +227,13 @@ namespace ComputerStoreEmployeeApp.Controllers
ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result; ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result;
var list = APIClient.GetRequest<List<ProductViewModel>>("api/main/getproductslist").Result; var list = APIClient.GetRequest<List<ProductViewModel>>("api/main/getproductslist").Result;
if(!list.Any())
{
ViewBag.Message = "There are no products.";
return View("ProductMenu");
}
ViewBag.Products = list; ViewBag.Products = list;
if (!id.HasValue) if (!id.HasValue)
{ {
var product = list.First(); var product = list.First();
@@ -281,6 +294,11 @@ namespace ComputerStoreEmployeeApp.Controllers
public IActionResult ProductDelete() public IActionResult ProductDelete()
{ {
ViewBag.Products = APIClient.GetRequest<List<ProductViewModel>>("api/main/getproductslist").Result; ViewBag.Products = APIClient.GetRequest<List<ProductViewModel>>("api/main/getproductslist").Result;
if (ViewBag.Products == null)
{
ViewBag.Message = "There are no products.";
return View("ProductMenu");
}
return View(); return View();
} }
@@ -321,9 +339,10 @@ namespace ComputerStoreEmployeeApp.Controllers
ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result; ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result;
if(!APIClient.GetRequest<List<RequestComponentViewModel>>($"api/main/getrequestcomponentlist?id={null}").Result.Any()) if(!APIClient.GetRequest<List<RequestComponentViewModel>>($"api/main/getrequestcomponentlist?id={null}").Result.Any())
{ {
return Redirect("PCMenu"); ViewBag.Message = "There are no active reqeusts";
return View("PCMenu");
} }
ViewBag.Requests = APIClient.GetRequest<List<RequestComponentViewModel>>($"api/main/getrequestcomponentlist?id={null}").Result.Select(x => new RequestViewModel { ID = x.RequestID}).ToList(); ViewBag.Requests = APIClient.GetRequest<List<RequestComponentViewModel>>($"api/main/getrequestcomponentlist?id={null}").Result.Select(x => new RequestViewModel { ID = x.RequestID}).GroupBy(x => x.ID).Select(x => x.First()).ToList();
ViewBag.PCComponents = APIClient.pcComponents; ViewBag.PCComponents = APIClient.pcComponents;
if(request == null) if(request == null)
{ {
@@ -343,8 +362,8 @@ namespace ComputerStoreEmployeeApp.Controllers
{ {
var wholelist = APIClient.GetRequest<List<RequestComponentViewModel>>($"api/main/getrequestcomponentlist?id={null}").Result; var wholelist = APIClient.GetRequest<List<RequestComponentViewModel>>($"api/main/getrequestcomponentlist?id={null}").Result;
ViewBag.Requests = APIClient.GetRequest<List<RequestViewModel>>($"api/main/getrequestlist?id={null}").Result; ViewBag.Requests = APIClient.GetRequest<List<RequestComponentViewModel>>($"api/main/getrequestcomponentlist?id={null}").Result.Select(x => new RequestViewModel { ID = x.RequestID }).GroupBy(x => x.ID).Select(x => x.First()).ToList();
var componentsList = wholelist.Where(x => x.RequestID == ViewBag.Requests[0].ID).Select(x => new RequestComponentViewModel { ComponentName = x.ComponentName, ComponentCount = x.ComponentCount }).ToList(); var componentsList = wholelist.Where(x => x.RequestID == ViewBag.Requests[0].ID).Select(x => new RequestComponentViewModel { ComponentName = x.ComponentName, ComponentCount = x.ComponentCount }).ToList();
return componentsList; return componentsList;
@@ -367,7 +386,7 @@ namespace ComputerStoreEmployeeApp.Controllers
throw new Exception("Enter pc's name or pc doesn't have any components."); throw new Exception("Enter pc's name or pc doesn't have any components.");
} }
if (APIClient.PostRequest("api/main/insertpc",new PCBindingModel if (!APIClient.PostRequest("api/main/insertpc",new PCBindingModel
{ {
Name = pcname, Name = pcname,
Price = pcprice, Price = pcprice,
@@ -415,7 +434,14 @@ namespace ComputerStoreEmployeeApp.Controllers
{ {
ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result; ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result;
var list = APIClient.GetRequest<List<PCViewModel>>("api/main/getpcslist").Result; var list = APIClient.GetRequest<List<PCViewModel>>("api/main/getpcslist").Result;
if (!list.Any())
{
ViewBag.Message = "There are no products.";
return View("PCMenu");
}
ViewBag.PCs = list; ViewBag.PCs = list;
if (!id.HasValue) if (!id.HasValue)
@@ -477,6 +503,11 @@ namespace ComputerStoreEmployeeApp.Controllers
public IActionResult PCDelete() public IActionResult PCDelete()
{ {
ViewBag.PCs = APIClient.GetRequest<List<PCViewModel>>("api/main/getpcslist").Result; ViewBag.PCs = APIClient.GetRequest<List<PCViewModel>>("api/main/getpcslist").Result;
if (ViewBag.PCs.Count == 0)
{
ViewBag.Message = "There are no PCs.";
return View("PCMenu");
}
return View(); return View();
} }

View File

@@ -54,7 +54,7 @@ namespace ComputerStoreEmployeeApp.Controllers
{ {
var model = new ReportComponentsBindingModel var model = new ReportComponentsBindingModel
{ {
FileName = "ReportConsignments.xlsx", FileName = "ReportConsignments.doc",
Components = APIClient.productComponents.Select(x => new ComponentSearchModel { ID = x.Key, Name = x.Value.Component.Name }).ToList() Components = APIClient.productComponents.Select(x => new ComponentSearchModel { ID = x.Key, Name = x.Value.Component.Name }).ToList()
}; };
APIClient.productComponents.Clear(); APIClient.productComponents.Clear();

View File

@@ -43,7 +43,11 @@
<table> <table>
@foreach (var component in item.ProductComponents) @foreach (var component in item.ProductComponents)
{ {
<tr><td>@component.Value.Component.Name</td></tr> <tr>
<td>@component.Value.Component.Name</td>
<td></td>
<td>@component.Value.Quantity</td>
</tr>
} }
</table> </table>