Compare commits
2 Commits
95ed066239
...
24ab0decab
Author | SHA1 | Date | |
---|---|---|---|
24ab0decab | |||
cb248a286f |
9
Course/Contracts/ViewModels/MachineWorkshopTimeReport.cs
Normal file
9
Course/Contracts/ViewModels/MachineWorkshopTimeReport.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
namespace Contracts.ViewModels
|
||||||
|
{
|
||||||
|
public class MachineWorkshopTimeReport
|
||||||
|
{
|
||||||
|
public string WorkshopName { get; set; } = string.Empty;
|
||||||
|
public List<string> Machines { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
namespace Contracts.ViewModels
|
||||||
|
{
|
||||||
|
public class WorkerProductReportViewModel
|
||||||
|
{
|
||||||
|
public string WorkerName { get; set; } = string.Empty;
|
||||||
|
public List<string> Products { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@ using Contracts.SearchModels;
|
|||||||
using Contracts.StoragesContracts;
|
using Contracts.StoragesContracts;
|
||||||
using Contracts.ViewModels;
|
using Contracts.ViewModels;
|
||||||
using DatabaseImplement.Models;
|
using DatabaseImplement.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace DatabaseImplement.Implements
|
namespace DatabaseImplement.Implements
|
||||||
{
|
{
|
||||||
@ -14,6 +15,7 @@ namespace DatabaseImplement.Implements
|
|||||||
var newMachine = context.Machines.FirstOrDefault(x => x.Id == model.Id);
|
var newMachine = context.Machines.FirstOrDefault(x => x.Id == model.Id);
|
||||||
if (newMachine == null)
|
if (newMachine == null)
|
||||||
return null;
|
return null;
|
||||||
|
newMachine.UpdateWorkers(context, model);
|
||||||
context.Machines.Remove(newMachine);
|
context.Machines.Remove(newMachine);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
return newMachine.GetViewModel;
|
return newMachine.GetViewModel;
|
||||||
@ -22,34 +24,23 @@ namespace DatabaseImplement.Implements
|
|||||||
public MachineViewModel? GetElement(MachineSearchModel model)
|
public MachineViewModel? GetElement(MachineSearchModel model)
|
||||||
{
|
{
|
||||||
using var context = new FactoryGoWorkDatabase();
|
using var context = new FactoryGoWorkDatabase();
|
||||||
return context.Machines.FirstOrDefault(x => (!string.IsNullOrEmpty(model.Title) && x.Title.Contains(model.Title)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel;
|
return context.Machines.Include(p => p.Workers).ThenInclude(p => p.Worker).FirstOrDefault(x => (!string.IsNullOrEmpty(model.Title) && x.Title.Contains(model.Title)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<MachineViewModel> GetFilteredList(MachineSearchModel model)
|
public List<MachineViewModel> GetFilteredList(MachineSearchModel model)
|
||||||
{
|
{
|
||||||
if (!model.Id.HasValue && string.IsNullOrEmpty(model.Title) && !model.UserId.HasValue)
|
if (!model.UserId.HasValue)
|
||||||
{
|
{
|
||||||
return new();
|
return new();
|
||||||
}
|
}
|
||||||
using var context = new FactoryGoWorkDatabase();
|
using var context = new FactoryGoWorkDatabase();
|
||||||
if (model.Id.HasValue)
|
return context.Machines.Include(p => p.Workers).ThenInclude(p => p.Worker).Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList();
|
||||||
{
|
|
||||||
return context.Machines.Where(x => x.Id == model.Id).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
else if (model.UserId.HasValue)
|
|
||||||
{
|
|
||||||
return context.Machines.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return context.Machines.Where(x => model.Title == x.Title).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<MachineViewModel> GetFullList()
|
public List<MachineViewModel> GetFullList()
|
||||||
{
|
{
|
||||||
using var context = new FactoryGoWorkDatabase();
|
using var context = new FactoryGoWorkDatabase();
|
||||||
return context.Machines.Select(x => x.GetViewModel).ToList();
|
return context.Machines.Include(p => p.Workers).ThenInclude(p => p.Worker).Select(x => x.GetViewModel).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public MachineViewModel? Insert(MachineBindingModel model)
|
public MachineViewModel? Insert(MachineBindingModel model)
|
||||||
@ -70,6 +61,7 @@ namespace DatabaseImplement.Implements
|
|||||||
if (newMachine == null)
|
if (newMachine == null)
|
||||||
return null;
|
return null;
|
||||||
newMachine.Update(model);
|
newMachine.Update(model);
|
||||||
|
newMachine.UpdateWorkers(context, model);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
return newMachine.GetViewModel;
|
return newMachine.GetViewModel;
|
||||||
}
|
}
|
||||||
|
@ -27,24 +27,13 @@ namespace DatabaseImplement.Implements
|
|||||||
|
|
||||||
public List<WorkerViewModel> GetFilteredList(WorkerSearchModel model)
|
public List<WorkerViewModel> GetFilteredList(WorkerSearchModel model)
|
||||||
{
|
{
|
||||||
if (!model.Id.HasValue && string.IsNullOrEmpty(model.Name) && !model.UserId.HasValue)
|
if (!model.UserId.HasValue)
|
||||||
{
|
{
|
||||||
return new();
|
return new();
|
||||||
}
|
}
|
||||||
using var context = new FactoryGoWorkDatabase();
|
using var context = new FactoryGoWorkDatabase();
|
||||||
if (model.Id.HasValue)
|
|
||||||
{
|
|
||||||
return context.Workers.Where(x => x.Id == model.Id).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
else if (model.UserId.HasValue)
|
|
||||||
{
|
|
||||||
return context.Workers.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList();
|
return context.Workers.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return context.Workers.Where(x => model.Name == x.Name).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<WorkerViewModel> GetFullList()
|
public List<WorkerViewModel> GetFullList()
|
||||||
{
|
{
|
||||||
|
@ -4,6 +4,7 @@ using Contracts.SearchModels;
|
|||||||
using Contracts.StoragesContracts;
|
using Contracts.StoragesContracts;
|
||||||
using Contracts.ViewModels;
|
using Contracts.ViewModels;
|
||||||
using DatabaseImplement.Models;
|
using DatabaseImplement.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace DatabaseImplement.Implements
|
namespace DatabaseImplement.Implements
|
||||||
{
|
{
|
||||||
@ -15,6 +16,7 @@ namespace DatabaseImplement.Implements
|
|||||||
var newWorkshop = context.Workshops.FirstOrDefault(x => x.Id == model.Id);
|
var newWorkshop = context.Workshops.FirstOrDefault(x => x.Id == model.Id);
|
||||||
if (newWorkshop == null)
|
if (newWorkshop == null)
|
||||||
return null;
|
return null;
|
||||||
|
newWorkshop.UpdateWorkers(context, model);
|
||||||
context.Workshops.Remove(newWorkshop);
|
context.Workshops.Remove(newWorkshop);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
return newWorkshop.GetViewModel;
|
return newWorkshop.GetViewModel;
|
||||||
@ -23,34 +25,23 @@ namespace DatabaseImplement.Implements
|
|||||||
public WorkshopViewModel? GetElement(WorkshopSearchModel model)
|
public WorkshopViewModel? GetElement(WorkshopSearchModel model)
|
||||||
{
|
{
|
||||||
using var context = new FactoryGoWorkDatabase();
|
using var context = new FactoryGoWorkDatabase();
|
||||||
return context.Workshops.FirstOrDefault(x => (!string.IsNullOrEmpty(model.Title) && x.Title.Contains(model.Title)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel;
|
return context.Workshops.Include(x => x.Workers).ThenInclude(x => x.Worker).FirstOrDefault(x => (!string.IsNullOrEmpty(model.Title) && x.Title.Contains(model.Title)) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<WorkshopViewModel> GetFilteredList(WorkshopSearchModel model)
|
public List<WorkshopViewModel> GetFilteredList(WorkshopSearchModel model)
|
||||||
{
|
{
|
||||||
if (!model.Id.HasValue && string.IsNullOrEmpty(model.Title) && !model.UserId.HasValue)
|
if (!model.UserId.HasValue)
|
||||||
{
|
{
|
||||||
return new();
|
return new();
|
||||||
}
|
}
|
||||||
using var context = new FactoryGoWorkDatabase();
|
using var context = new FactoryGoWorkDatabase();
|
||||||
if (model.Id.HasValue)
|
return context.Workshops.Include(x => x.Workers).ThenInclude(x => x.Worker).Where(x => x.UserId == model.UserId).Select(x => x.GetViewModel).ToList();
|
||||||
{
|
|
||||||
return context.Workshops.Where(x => x.Id == model.Id).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
else if (model.UserId.HasValue)
|
|
||||||
{
|
|
||||||
return context.Workshops.Where(x => x.UserId == model.Id).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return context.Workshops.Where(x => model.Title == x.Title).Select(x => x.GetViewModel).ToList();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<WorkshopViewModel> GetFullList()
|
public List<WorkshopViewModel> GetFullList()
|
||||||
{
|
{
|
||||||
using var context = new FactoryGoWorkDatabase();
|
using var context = new FactoryGoWorkDatabase();
|
||||||
return context.Workshops.Select(x => x.GetViewModel).ToList();
|
return context.Workshops.Include(x => x.Workers).ThenInclude(x => x.Worker).Select(x => x.GetViewModel).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public WorkshopViewModel? Insert(WorkshopBindingModel model)
|
public WorkshopViewModel? Insert(WorkshopBindingModel model)
|
||||||
@ -71,6 +62,7 @@ namespace DatabaseImplement.Implements
|
|||||||
if (newWorkshop == null)
|
if (newWorkshop == null)
|
||||||
return null;
|
return null;
|
||||||
newWorkshop.Update(model);
|
newWorkshop.Update(model);
|
||||||
|
newWorkshop.UpdateWorkers(context, model);
|
||||||
context.SaveChanges();
|
context.SaveChanges();
|
||||||
return newWorkshop.GetViewModel;
|
return newWorkshop.GetViewModel;
|
||||||
}
|
}
|
||||||
|
@ -57,6 +57,7 @@ namespace DatabaseImplement.Models
|
|||||||
if (model == null)
|
if (model == null)
|
||||||
return;
|
return;
|
||||||
Name = model.Name;
|
Name = model.Name;
|
||||||
|
Birthday = model.Birthday;
|
||||||
Specialization = model.Specialization;
|
Specialization = model.Specialization;
|
||||||
Salary = model.Salary;
|
Salary = model.Salary;
|
||||||
}
|
}
|
||||||
|
@ -17,11 +17,12 @@ namespace DatabaseImplement.Models
|
|||||||
public string Director { get; set; } = string.Empty;
|
public string Director { get; set; } = string.Empty;
|
||||||
[Required]
|
[Required]
|
||||||
public int UserId { get; set; }
|
public int UserId { get; set; }
|
||||||
|
public virtual Guarantor User { get; set; }
|
||||||
public int? ProductionId { get; set; }
|
public int? ProductionId { get; set; }
|
||||||
public virtual Production? Production { get; set; }
|
public virtual Production? Production { get; set; }
|
||||||
private Dictionary<int, IWorkerModel>? _workerWorkshops = null;
|
private Dictionary<int, IWorkerModel>? _workerWorkshops = null;
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public Dictionary<int, IWorkerModel>? WorkerWorkshops
|
public Dictionary<int, IWorkerModel> WorkerWorkshops
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Contracts.BusinessLogicsContracts;
|
using AspNetCore;
|
||||||
|
using Contracts.BusinessLogicsContracts;
|
||||||
using Contracts.ViewModels;
|
using Contracts.ViewModels;
|
||||||
using GuarantorAPP.Models;
|
using GuarantorAPP.Models;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
@ -32,15 +33,70 @@ namespace GuarantorAPP.Controllers
|
|||||||
}
|
}
|
||||||
public IActionResult IndexMachine()
|
public IActionResult IndexMachine()
|
||||||
{
|
{
|
||||||
return View(new List<MachineViewModel>());
|
List<MachineViewModel> machines = new List<MachineViewModel>
|
||||||
|
{
|
||||||
|
new MachineViewModel
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Title = "Токарный станок",
|
||||||
|
Country = "Китай",
|
||||||
|
UserId = 1
|
||||||
|
},
|
||||||
|
new MachineViewModel
|
||||||
|
{
|
||||||
|
Id = 2,
|
||||||
|
Title = "Фрезерный станок",
|
||||||
|
Country = "Россия",
|
||||||
|
UserId = 2
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return View(machines);
|
||||||
}
|
}
|
||||||
public IActionResult CreateMachine()
|
public IActionResult CreateMachine()
|
||||||
{
|
{
|
||||||
return View();
|
var workers = new List<WorkerViewModel>();
|
||||||
|
workers.Add(new WorkerViewModel
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Name = "Фролов Феодосий Валерьевич",
|
||||||
|
Birthday = new DateTime(1989, 03, 29),
|
||||||
|
Specialization = "Металлург",
|
||||||
|
Salary = 55000,
|
||||||
|
UserId = 1
|
||||||
|
});
|
||||||
|
workers.Add(new WorkerViewModel
|
||||||
|
{
|
||||||
|
Id = 2,
|
||||||
|
Name = "Медведков Андрей Алексеевич",
|
||||||
|
Birthday = new DateTime(2004, 02, 29),
|
||||||
|
Specialization = "Слесарь",
|
||||||
|
Salary = 25000,
|
||||||
|
UserId = 2
|
||||||
|
});
|
||||||
|
return View(workers);
|
||||||
}
|
}
|
||||||
public IActionResult IndexWorker()
|
public IActionResult IndexWorker()
|
||||||
{
|
{
|
||||||
return View(new List<WorkerViewModel>());
|
var workers = new List<WorkerViewModel>();
|
||||||
|
workers.Add(new WorkerViewModel
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Name = "Фролов Феодосий Валерьевич",
|
||||||
|
Birthday = new DateTime(1989, 03, 29),
|
||||||
|
Specialization = "Металлург",
|
||||||
|
Salary = 55000,
|
||||||
|
UserId = 1
|
||||||
|
});
|
||||||
|
workers.Add(new WorkerViewModel
|
||||||
|
{
|
||||||
|
Id = 2,
|
||||||
|
Name = "Медведков Андрей Алексеевич",
|
||||||
|
Birthday = new DateTime(2004, 02, 29),
|
||||||
|
Specialization = "Слесарь",
|
||||||
|
Salary = 25000,
|
||||||
|
UserId = 2
|
||||||
|
});
|
||||||
|
return View(workers);
|
||||||
}
|
}
|
||||||
public IActionResult CreateWorker()
|
public IActionResult CreateWorker()
|
||||||
{
|
{
|
||||||
@ -48,16 +104,122 @@ namespace GuarantorAPP.Controllers
|
|||||||
}
|
}
|
||||||
public IActionResult IndexWorkshop()
|
public IActionResult IndexWorkshop()
|
||||||
{
|
{
|
||||||
return View(new List<WorkshopViewModel>());
|
List<WorkshopViewModel> workshops = new List<WorkshopViewModel>
|
||||||
|
{
|
||||||
|
new WorkshopViewModel
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Title = "Механический цех",
|
||||||
|
Address = "Ул. Пушкина, колотушкина",
|
||||||
|
Director = "Главный Андрей цеха",
|
||||||
|
UserId = 1,
|
||||||
|
ProductionId = 1,
|
||||||
|
},
|
||||||
|
new WorkshopViewModel
|
||||||
|
{
|
||||||
|
Id = 2,
|
||||||
|
Title = "Сварочный цех",
|
||||||
|
Address = "Ул. Пушкина, колотушкина 22",
|
||||||
|
Director = "Фрезер Давыд Анатольевич",
|
||||||
|
UserId = 2,
|
||||||
|
ProductionId = 2,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return View(workshops);
|
||||||
}
|
}
|
||||||
public IActionResult CreateWorkshop()
|
public IActionResult CreateWorkshop()
|
||||||
{
|
{
|
||||||
return View();
|
var workers = new List<WorkerViewModel>();
|
||||||
|
workers.Add(new WorkerViewModel
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Name = "Фролов Феодосий Валерьевич",
|
||||||
|
Birthday = new DateTime(1989, 03, 29),
|
||||||
|
Specialization = "Металлург",
|
||||||
|
Salary = 55000,
|
||||||
|
UserId = 1
|
||||||
|
});
|
||||||
|
workers.Add(new WorkerViewModel
|
||||||
|
{
|
||||||
|
Id = 2,
|
||||||
|
Name = "Медведков Андрей Алексеевич",
|
||||||
|
Birthday = new DateTime(2004, 02, 29),
|
||||||
|
Specialization = "Слесарь",
|
||||||
|
Salary = 25000,
|
||||||
|
UserId = 2
|
||||||
|
});
|
||||||
|
return View(workers);
|
||||||
}
|
}
|
||||||
public IActionResult Privacy()
|
public IActionResult Privacy()
|
||||||
|
{
|
||||||
|
GuarantorViewModel user = new()
|
||||||
|
{
|
||||||
|
Email = "mailtatar@mail.ru",
|
||||||
|
Login = "tatar",
|
||||||
|
Password = "password",
|
||||||
|
Name = "User",
|
||||||
|
};
|
||||||
|
return View(user);
|
||||||
|
}
|
||||||
|
public IActionResult MachineWorkshopTimeReport()
|
||||||
|
{
|
||||||
|
List<MachineWorkshopTimeReport> machineWorkshopTimeReports = new List<MachineWorkshopTimeReport>
|
||||||
|
{
|
||||||
|
new MachineWorkshopTimeReport
|
||||||
|
{
|
||||||
|
WorkshopName = "Цех А",
|
||||||
|
Machines = new List<string> { "Фрезерный станок", "Токарный станок" }
|
||||||
|
},
|
||||||
|
new MachineWorkshopTimeReport
|
||||||
|
{
|
||||||
|
WorkshopName = "Цех В",
|
||||||
|
Machines = new List<string> { "Станок А", "Станок В" }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return View(machineWorkshopTimeReports);
|
||||||
|
}
|
||||||
|
public IActionResult WorkerProductReport()
|
||||||
|
{
|
||||||
|
List<WorkerProductReportViewModel> workerProductReports = new List<WorkerProductReportViewModel>
|
||||||
|
{
|
||||||
|
new WorkerProductReportViewModel
|
||||||
|
{
|
||||||
|
WorkerName = "Работник 1",
|
||||||
|
Products = new List<string> { "Изделие первое", "Изделие второе" }
|
||||||
|
},
|
||||||
|
new WorkerProductReportViewModel
|
||||||
|
{
|
||||||
|
WorkerName = "Работник 2",
|
||||||
|
Products = new List<string> { "Изделие одно", "Изделие второе" }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return View(workerProductReports);
|
||||||
|
}
|
||||||
|
public IActionResult ReportsMenu()
|
||||||
{
|
{
|
||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
public IActionResult WorkshopProductionAdd()
|
||||||
|
{
|
||||||
|
List<ProductionViewModel> production = new List<ProductionViewModel>
|
||||||
|
{
|
||||||
|
new ProductionViewModel
|
||||||
|
{
|
||||||
|
Id = 1,
|
||||||
|
Name = "Производство старое",
|
||||||
|
Cost = 1,
|
||||||
|
UserId = 1,
|
||||||
|
},
|
||||||
|
new ProductionViewModel
|
||||||
|
{
|
||||||
|
Id = 2,
|
||||||
|
Name = "Производство новое",
|
||||||
|
Cost = 2,
|
||||||
|
UserId = 2,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return View(production);
|
||||||
|
}
|
||||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||||
public IActionResult Error()
|
public IActionResult Error()
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
@using Contracts.ViewModels
|
||||||
|
|
||||||
|
@model List<MachineWorkshopTimeReport>
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Machines and Workshops on Time Reports";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="display-4">Список цехов и станков в диапазоне времени</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form asp-controller="Report" method="post">
|
||||||
|
<button type="submit" class="btn btn-primary">Отправить отчет на почту</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Цех</th>
|
||||||
|
<th>Станки</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var workshop in Model)
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>@workshop.WorkshopName</td>
|
||||||
|
<td>
|
||||||
|
<ul>
|
||||||
|
@foreach (var machine in workshop.Machines)
|
||||||
|
{
|
||||||
|
<li>@machine</li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
42
Course/GuarantorAPP/Views/Home/WorkerProductReport.cshtml
Normal file
42
Course/GuarantorAPP/Views/Home/WorkerProductReport.cshtml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
@using Contracts.ViewModels
|
||||||
|
|
||||||
|
@model List<WorkerProductReportViewModel>
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Workers - Product Reports";
|
||||||
|
}
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="display-4">Список работников с отображением изделий</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form asp-controller="Report" method="post">
|
||||||
|
<button type="submit" class="btn btn-primary">Сгенерировать отчет в Word</button>
|
||||||
|
</form>
|
||||||
|
<form asp-controller="Report" method="post">
|
||||||
|
<button type="submit" class="btn btn-primary">Сгенерировать отчет в Excel</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<table class="table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Работник</th>
|
||||||
|
<th>Изделие</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var worker in Model)
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>@worker.WorkerName</td>
|
||||||
|
<td>
|
||||||
|
<ul>
|
||||||
|
@foreach (var product in worker.Products)
|
||||||
|
{
|
||||||
|
<li>@product</li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
31
Course/GuarantorAPP/Views/Home/WorkshopProductionAdd.cshtml
Normal file
31
Course/GuarantorAPP/Views/Home/WorkshopProductionAdd.cshtml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
@using Contracts.ViewModels
|
||||||
|
|
||||||
|
@model List<ProductionViewModel>
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Workshop-Add-Production";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="display-4">Цех - @ViewBag.Workshop</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<h1>Список цехов</h1>
|
||||||
|
<div class="row">
|
||||||
|
@foreach (var production in Model)
|
||||||
|
{
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="card mb-4">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title">@production.Name</h5>
|
||||||
|
<form asp-controller="Cart" asp-action="AddToCart" method="post">
|
||||||
|
<input type="hidden" name="workshopId" value="@production.Id" />
|
||||||
|
<button type="submit" class="btn btn-primary">Выбрать</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -12,7 +12,8 @@
|
|||||||
<header>
|
<header>
|
||||||
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
|
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Завод "Иди работать". Поручитель</a>
|
<img src="~/images/Work-transformed.png" width="150" height="150" alt="Логотип">
|
||||||
|
<a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">Поручитель</a>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
|
Loading…
Reference in New Issue
Block a user