Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate operator page for admin #37

Merged
merged 11 commits into from
May 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CheckDrive.Web/CheckDrive.Web/CheckDrive.Web.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
<Compile Include="Controllers\OperatorReviewsController.cs" />
<Compile Include="Controllers\OperatorsController.cs" />
<Compile Include="Controllers\TechniciansController.cs" />
<PackageReference Include="CheckDrive.ApiContracts" Version="1.0.4" />
<PackageReference Include="CheckDrive.DTOs" Version="1.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.4" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.2" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,8 @@ public AccountsController(IAccountDataStore accountDataStore)

public async Task<IActionResult> Index()
{
var accounts = await _accountDataStore.GetAccounts();
ViewBag.Accounts = accounts.Data;
return View();
var accounts = await _accountDataStore.GetAccounts(2);
return View(accounts);
}

public async Task<IActionResult> Details(int id)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ public IActionResult Index()
new SplineChartData { Days = "Mart", MaxTemp = 32, AvgTemp = 28, MinTemp = 22 },
new SplineChartData { Days = "Aprel", MaxTemp = 31, AvgTemp = 28, MinTemp = 23 },
new SplineChartData { Days = "May", MaxTemp = 29, AvgTemp = 26, MinTemp = 19 },
new SplineChartData { Days = "Iun", MaxTemp = 24, AvgTemp = 20, MinTemp = 13 },
new SplineChartData { Days = "Iul", MaxTemp = 18, AvgTemp = 15, MinTemp = 8 },
new SplineChartData { Days = "Iyun", MaxTemp = 24, AvgTemp = 20, MinTemp = 13 },
new SplineChartData { Days = "Iyul", MaxTemp = 18, AvgTemp = 15, MinTemp = 8 },
new SplineChartData { Days = "Avgust", MaxTemp = 18, AvgTemp = 23, MinTemp = 13 },
new SplineChartData { Days = "Sentabr", MaxTemp = 6, AvgTemp = 23, MinTemp = 3 },
new SplineChartData { Days = "Oktabr", MaxTemp = 23, AvgTemp = 15, MinTemp = 8 },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public DriversController(IDriverDataStore driverDataStore, IAccountDataStore acc

public async Task<IActionResult> Index()
{
var accounts = await _accountDataStore.GetAccounts();
var accounts = await _accountDataStore.GetAccounts(2);
var roles = await _roleDataStore.GetRoles();
var drivers = new List<Account>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@

namespace CheckDrive.Web.Controllers
{
public class OperatorReviewsController : Controller
public class OperatorReviewsController(IOperatorReviewDataStore operatorReviewDataStore) : Controller
{
private readonly IOperatorReviewDataStore _operatorReviewDataStore;

public OperatorReviewsController(IOperatorReviewDataStore operatorReviewDataStore)
{
_operatorReviewDataStore = operatorReviewDataStore;
}
private readonly IOperatorReviewDataStore _operatorReviewDataStore = operatorReviewDataStore;

public async Task<IActionResult> Index()
{
var operatorReviews = await _operatorReviewDataStore.GetOperatorReviews();
return View(operatorReviews);
var operatorReviews = await _operatorReviewDataStore.GetOperatorsReviews();

if (operatorReviews is null)
{
return BadRequest();
}

ViewBag.OperatorsReview = operatorReviews.Data;
return View();
}

public async Task<IActionResult> Details(int id)
Expand Down
12 changes: 9 additions & 3 deletions CheckDrive.Web/CheckDrive.Web/Controllers/OperatorsController.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
using CheckDrive.Web.Models;
using CheckDrive.Web.Stores.Accounts;
using CheckDrive.Web.Stores.Operators;
using CheckDrive.Web.Stores.Roles;
using Microsoft.AspNetCore.Mvc;
using Syncfusion.EJ2.PivotView;

namespace CheckDrive.Web.Controllers
{
public class OperatorsController : Controller
{
private readonly IOperatorDataStore _operatorDataStore;
private readonly IAccountDataStore _accountDataStore;
private readonly IRoleDataStore _roleDataStore;

public OperatorsController(IOperatorDataStore operatorDataStore)
public OperatorsController(IOperatorDataStore operatorDataStore, IAccountDataStore accountDataStore, IRoleDataStore roleDataStore)
{
_operatorDataStore = operatorDataStore;
_accountDataStore = accountDataStore;
_roleDataStore = roleDataStore;
}

public async Task<IActionResult> Index()
{
var operators = await _operatorDataStore.GetOperators();
return View(operators);
return View();
}

public async Task<IActionResult> Details(int id)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ public static IServiceCollection ConfigureDataStores(this IServiceCollection ser
services.AddScoped<IMechanicAcceptanceDataStore, MockMechanicAcceptanceDataStore>();
services.AddScoped<IMechanicHandoverDataStore, MockMechanicHandoverDataStore>();
services.AddScoped<IMechanicDataStore, MockMechanicDataStore>();
services.AddScoped<IOperatorReviewDataStore, MockOperatorReviewDataStore>();
services.AddScoped<IOperatorDataStore, MockOperatorDataStore>();
services.AddScoped<IOperatorReviewDataStore, OperatorReviewDataStore>();
services.AddScoped<IOperatorDataStore, OperatorDataStore>();
services.AddScoped<IRoleDataStore, RoleDataStore>();
services.AddScoped<ITechnicianDataStore, MockTechnicianDataStore>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace CheckDrive.Web.Responses
{
public class GetOperatorReviewResponse : GetBaseResponse<OperatorReview>
public class GetOperatorReviewResponse : GetBaseResponse<ApiContracts.OperatorReview.OperatorReviewDto>
{
}
}
2 changes: 1 addition & 1 deletion CheckDrive.Web/CheckDrive.Web/Service/ApiClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace CheckDrive.Web.Service
{
public class ApiClient
{
private const string baseUrl = "https://j066xkvj-7111.euw.devtunnels.ms/api";
private const string baseUrl = "https://srvsrv10-7111.asse.devtunnels.ms/api";

private readonly HttpClient _client = new();
private readonly IHttpContextAccessor _contextAccessor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,16 @@ public AccountDataStore(ApiClient apiClient)
_api = apiClient;
}

public async Task<GetAccountResponse> GetAccounts()
public async Task<GetAccountResponse> GetAccounts(int roleId)
{
StringBuilder query = new("");

var response = _api.Get("accounts");
if (roleId != null)
{
query.Append($"roleId={roleId}&");
}

var response = _api.Get("accounts?" + query.ToString());

if (!response.IsSuccessStatusCode)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace CheckDrive.Web.Stores.Accounts
{
public interface IAccountDataStore
{
Task<GetAccountResponse> GetAccounts();
Task<GetAccountResponse> GetAccounts(int roleId);
Task<Account> GetAccount(int id);
Task<Account> CreateAccount(Account account);
Task<Account> UpdateAccount(int id, Account account);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
using CheckDrive.Web.Models;
using CheckDrive.Web.Responses;

namespace CheckDrive.Web.Stores.OperatorReviews
{
public interface IOperatorReviewDataStore
{
Task<List<OperatorReview>> GetOperatorReviews();
Task<GetOperatorReviewResponse> GetOperatorsReviews();
Task<OperatorReview> GetOperatorReview(int id);
Task<OperatorReview> CreateOperatorReview(OperatorReview operatorReview);
Task<OperatorReview> UpdateOperatorReview(int id, OperatorReview operatorReview);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
using CheckDrive.Web.Models;
using CheckDrive.Web.Responses;
using CheckDrive.Web.Service;
using Newtonsoft.Json;

namespace CheckDrive.Web.Stores.OperatorReviews
{
public class OperatorReviewDataStore(ApiClient api) : IOperatorReviewDataStore
{
private readonly ApiClient _api = api;

public async Task<GetOperatorReviewResponse> GetOperatorsReviews()
{
var response = _api.Get("operators/reviews");

if (!response.IsSuccessStatusCode)
{
throw new Exception("Could not fetch drivers.");
}

var json = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
var result = JsonConvert.DeserializeObject<GetOperatorReviewResponse>(json);

return result;
}

public Task<OperatorReview> GetOperatorReview(int id)
{
throw new NotImplementedException();
}

public Task<OperatorReview> CreateOperatorReview(OperatorReview operatorReview)
{
throw new NotImplementedException();
}

public Task DeleteOperatorReview(int id)
{
throw new NotImplementedException();
}

public Task<OperatorReview> UpdateOperatorReview(int id, OperatorReview operatorReview)
{
throw new NotImplementedException();
}
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
using CheckDrive.Web.Models;
using CheckDrive.Web.Responses;

namespace CheckDrive.Web.Stores.Operators
{
public interface IOperatorDataStore
{
Task<List<Operator>> GetOperators();
Task<GetOperatorResponse> GetOperators();
Task<Operator> GetOperator(int id);
Task<Operator> CreateOperator(Operator @operator);
Task<Operator> UpdateOperator(int id, Operator @operator);
Expand Down

This file was deleted.

Loading