Handlers of possible errors.

This commit is contained in:
Yuee Shiness 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 ComputerStoreEmployeeApp.Models;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
@ -122,6 +123,13 @@ namespace ComputerStoreEmployeeApp.Controllers
public IActionResult ComponentDelete()
{
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();
}
@ -219,8 +227,13 @@ namespace ComputerStoreEmployeeApp.Controllers
ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").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;
if (!id.HasValue)
{
var product = list.First();
@ -281,6 +294,11 @@ namespace ComputerStoreEmployeeApp.Controllers
public IActionResult ProductDelete()
{
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();
}
@ -321,9 +339,10 @@ namespace ComputerStoreEmployeeApp.Controllers
ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").Result;
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;
if(request == null)
{
@ -343,8 +362,8 @@ namespace ComputerStoreEmployeeApp.Controllers
{
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();
return componentsList;
@ -367,7 +386,7 @@ namespace ComputerStoreEmployeeApp.Controllers
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,
Price = pcprice,
@ -415,7 +434,14 @@ namespace ComputerStoreEmployeeApp.Controllers
{
ViewBag.Components = APIClient.GetRequest<List<ComponentViewModel>>("api/main/getcomponentslist").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;
if (!id.HasValue)
@ -477,6 +503,11 @@ namespace ComputerStoreEmployeeApp.Controllers
public IActionResult PCDelete()
{
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();
}

View File

@ -54,7 +54,7 @@ namespace ComputerStoreEmployeeApp.Controllers
{
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()
};
APIClient.productComponents.Clear();

View File

@ -43,7 +43,11 @@
<table>
@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>