using ComputerShopImplementerApp.Models; using ComputerShopContracts.BindingModels; using ComputerShopContracts.ViewModels; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; using ComputerShopDataModels.Enums; using ComputerShopDataModels.Models; using ComputerShopContracts.SearchModels; using ComputerShopContracts.BusinessLogicContracts; using DocumentFormat.OpenXml.Bibliography; using Microsoft.AspNetCore.DataProtection.Repositories; namespace ComputerShopImplementerApp.Controllers { public class HomeController : Controller { private readonly ILogger<HomeController> _logger; private readonly IReportImplementerLogic _logic; public HomeController(ILogger<HomeController> logger, IReportImplementerLogic logic) { _logger = logger; _logic = logic; } public IActionResult Index() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } return View(/*APIUser.GetRequest<List<OrderViewModel>>($"api/main/getorders?userId={APIUser.User.Id}")*/); } // ЗАКАЗЫ ЗАКАЗЫ ЗАКАЗЫ ЗАКАЗЫ ЗАКАЗЫ //!!!МБ ДОБАВИТЬ [HttpGet] public IActionResult Orders() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } return View(APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}")); } [HttpGet] public OrderViewModel GetOrder(int orderId) { if (APIUser.User == null) { Response.Redirect("Enter"); } var result = APIUser.GetRequest<OrderViewModel>($"api/order/getorder?id={orderId}"); if (result == null) { return default; } return result; } [HttpGet] public IActionResult CreateOrder() { //!!!ПОТОМ УДАЛИТЬ //ViewBag.OrderStatuses = APIUser.GetRequest<List<String>>("api/order/getorderstatuses"); return View(); } [HttpPost] public void CreateOrder(OrderStatus status, DateTime date) { if (APIUser.User == null) { throw new Exception("Вход только авторизованным"); } //if (count <= 0) //{ // throw new Exception("Количество и сумма должны быть больше 0"); //} //if () if (date != DateTime.MinValue) { APIUser.PostRequest("api/order/createorder", new OrderBindingModel { UserId = APIUser.User.Id, Status = status, DateCreate = date, Sum = 0 }); } Response.Redirect("Orders"); //try //{ //} //catch (Exception) //{ // Response.Redirect("CreateOrder"); //} } [HttpGet] public IActionResult UpdateOrder() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); //ViewBag.Statuses = return View(); } //МБ ПОСТАВИТЬ int? и передавать order.Value [HttpPost] public void UpdateOrder(int order, OrderStatus status, DateTime date, double sum) { if (APIUser.User == null) { Response.Redirect("~/Home/Entry"); } //if (order == null) //{ // throw new Exception("Выберите заказ для изменения"); //} //if (status == null) //{ // throw new Exception("Выберите статус для заказа"); //} if (order > 0 && date != DateTime.MinValue) { APIUser.PostRequest("api/order/updateorder", new OrderBindingModel { Id = order, UserId = APIUser.User.Id, Status = status, DateCreate = date, Sum = sum }); } Response.Redirect("Orders"); } [HttpGet] public IActionResult DeleteOrder() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); //ViewBag.Statuses = return View(); } [HttpPost] public void DeleteOrder(int order) { if (APIUser.User == null) { Redirect("~/Home/Enter"); //throw new Exception("Вход только авторизованным"); } if (order > 0) { APIUser.PostRequest("api/order/deleteorder", new OrderBindingModel { Id = order }); } Response.Redirect("Orders"); } // ПАРТИИ ТОВАРОВ ПАРТИИ ТОВАРОВ ПАРТИИ ТОВАРОВ ПАРТИИ ТОВАРОВ ПАРТИИ ТОВАРОВ public async Task<IActionResult> Shipments() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } var shipments = await APIUser.GetRequestShipmentAsync<List<ShipmentViewModel>>($"api/shipment/getshipments?userId={APIUser.User.Id}"); return View(shipments); } [HttpGet] public async Task<ShipmentViewModel> GetShipment(int shipmentId) { if (APIUser.User == null) { Redirect("~/Home/Enter"); //throw new Exception("Вход только авторизованным"); } //GetRequestShipmentAsync var result = await APIUser.GetRequestShipmentAsync<ShipmentViewModel>($"api/shipment/getshipment?id={shipmentId}"); if (result == null) { return default; } return result; //try //{ //} //catch (Exception) //{ // Response.Redirect("Shipments"); // return default; //} } [HttpGet] public IActionResult CreateShipment() { if (APIUser.User == null) { Redirect("~/Home/Enter"); } ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); return View(); } [HttpPost] public void CreateShipment(string providerName, DateTime date, int[] orders) { if (APIUser.User == null) { Redirect("~/Home/Enter"); } // Создаем словарь из выбранных заказов var selectedOrders = new Dictionary<int, IOrderModel>(); foreach (var orderId in orders) { selectedOrders.Add(orderId, new OrderSearchModel { Id = orderId } as IOrderModel); //var orderModel = APIUser.GetRequest<OrderViewModel>($"api/order/getorder?id={orderId}"); //selectedOrders.Add(orderId, orderModel); } if (!string.IsNullOrEmpty(providerName) && date != DateTime.MinValue && APIUser.User != null) { APIUser.PostRequest("api/shipment/createshipment", new ShipmentBindingModel { UserId = APIUser.User.Id, ProviderName = providerName, DateShipment = date, ShipmentOrders = selectedOrders }); } Response.Redirect("Shipments"); } //!!!МБ СДЕЛАТЬ ПО АНАЛОГИИ С public async Task<IActionResult> Shipments() [HttpGet] public async Task<IActionResult> UpdateShipment() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Shipments = await APIUser.GetRequestShipmentAsync<List<ShipmentViewModel>>($"api/shipment/getshipments?userId={APIUser.User.Id}"); ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); return View(); } [HttpPost] public void UpdateShipment(int shipment, string providerName, DateTime date, int[] orders) { if (APIUser.User == null) { Redirect("~/Home/Enter"); } var selectedOrders = new Dictionary<int, IOrderModel>(); foreach (var orderId in orders) { selectedOrders.Add(orderId, new OrderSearchModel { Id = orderId } as IOrderModel); } if (shipment > 0 && !string.IsNullOrEmpty(providerName) && date != DateTime.MinValue && APIUser.User != null) { APIUser.PostRequest("api/shipment/updateshipment", new ShipmentBindingModel { Id = shipment, UserId = APIUser.User.Id, ProviderName = providerName, DateShipment = date, ShipmentOrders = selectedOrders }); } Response.Redirect("Shipments"); } [HttpGet] public async Task<IActionResult> DeleteShipment() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); //throw new Exception("Вход только авторизованным"); } ViewBag.Shipments = await APIUser.GetRequestShipmentAsync<List<ShipmentViewModel>>($"api/shipment/getshipments?userId={APIUser.User.Id}"); return View(); } //[HttpPost] //public void DeleteShipment(int shipment) //{ // if (APIUser.User == null) // { // throw new Exception("Вход только авторизованным"); // } // APIUser.PostRequest("api/shipment/deleteshipment", new ShipmentBindingModel // { // Id = shipment // }); // Response.Redirect("Shipments"); //} [HttpPost] public async Task<IActionResult> DeleteShipment(int shipment) { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } if (shipment > 0) { await APIUser.PostRequestAsync("api/shipment/deleteshipment", new ShipmentBindingModel { Id = shipment }); } return Redirect("Shipments"); } // ЗАЯВКИ НА СБОРКИ ЗАЯВКИ НА СБОРКИ ЗАЯВКИ НА СБОРКИ ЗАЯВКИ НА СБОРКИ ЗАЯВКИ НА СБОРКИ //public IActionResult Requests() //{ // if (APIUser.User == null) // { // return Redirect("~/Home/Enter"); // } // return View(APIUser.GetRequest<List<RequestViewModel>>($"api/request/getrequests?userId={APIUser.User.Id}")); //} //МБ ТАК Requests public async Task<IActionResult> Requests() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } var requests = await APIUser.GetRequestRequestAsync<List<RequestViewModel>>($"api/request/getrequests?userId={APIUser.User.Id}"); //var shipments = await APIUser.GetRequestShipmentAsync<List<ShipmentViewModel>>($"api/shipment/getshipments?userId={APIUser.User.Id}"); return View(requests); } [HttpGet] public async Task<RequestViewModel> GetRequest(int requestId) { if (APIUser.User == null) { Response.Redirect("~/Home/Enter"); } //GetRequestShipmentAsync var result = await APIUser.GetRequestRequestAsync<RequestViewModel>($"api/request/getrequest?id={requestId}"); if (result == null) { return default; } return result; } [HttpGet] public IActionResult CreateRequest() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); return View(); } [HttpPost] public void CreateRequest(string clientFIO, DateTime date, int[] orders) { if (APIUser.User == null) { Redirect("~/Home/Enter"); //throw new Exception("Вход только авторизованным"); } // Создаем словарь из выбранных заказов var selectedOrders = new Dictionary<int, IOrderModel>(); foreach (var orderId in orders) { selectedOrders.Add(orderId, new OrderSearchModel { Id = orderId } as IOrderModel); } if (!string.IsNullOrEmpty(clientFIO) && date != DateTime.MinValue) { APIUser.PostRequest("api/request/createrequest", new RequestBindingModel { UserId = APIUser.User.Id, ClientFIO = clientFIO, DateRequest = date, RequestOrders = selectedOrders }); } Response.Redirect("Requests"); } [HttpGet] public async Task<IActionResult> UpdateRequest() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); //throw new Exception("Вход только авторизованным"); } ViewBag.Requests = await APIUser.GetRequestRequestAsync<List<RequestViewModel>>($"api/request/getrequests?userId={APIUser.User.Id}"); ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); return View(); } [HttpPost] public void UpdateRequest(int request, string clientFIO, DateTime date, int[] orders) { if (APIUser.User == null) { Response.Redirect("~/Home/Enter"); } var selectedOrders = new Dictionary<int, IOrderModel>(); foreach (var orderId in orders) { selectedOrders.Add(orderId, new OrderSearchModel { Id = orderId } as IOrderModel); } if (request > 0 && !string.IsNullOrEmpty(clientFIO) && date != DateTime.MinValue) { APIUser.PostRequest("api/request/updaterequest", new RequestBindingModel { Id = request, UserId = APIUser.User.Id, ClientFIO = clientFIO, DateRequest = date, RequestOrders = selectedOrders }); } Response.Redirect("Requests"); } [HttpGet] public async Task<IActionResult> ConnectRequestAssembly() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Requests = await APIUser.GetRequestRequestAsync<List<RequestViewModel>>($"api/request/getrequests?userId={APIUser.User.Id}"); //ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); ViewBag.Assemblies = APIUser.GetRequest<List<AssemblyViewModel>>($"api/assembly/getassemblies"); return View(); } [HttpPost] public void ConnectRequestAssembly(int request, int assembly) { if (APIUser.User == null) { Redirect("~/Home/Enter"); } if (request > 0 && assembly > 0) { APIUser.PostRequest("api/request/connectRequestAssembly", new RequestBindingModel { Id = request, AssemblyId = assembly }); } Response.Redirect("Requests"); } [HttpGet] public async Task<IActionResult> DeleteRequest() { if (APIUser.User == null) { throw new Exception("Вход только авторизованным"); } ViewBag.Requests = await APIUser.GetRequestRequestAsync<List<RequestViewModel>>($"api/request/getrequests?userId={APIUser.User.Id}"); return View(); } [HttpPost] public async Task<IActionResult> DeleteRequest(int request) { if (APIUser.User == null) { throw new Exception("Вход только авторизованным"); } if (request > 0) { await APIUser.PostRequestAsync("api/request/deleterequest", new RequestBindingModel { Id = request }); } return RedirectToAction("Requests"); } //ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ ОТЧЁТЫ [HttpGet] public IActionResult ReportOrdersAssembliesToFile() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); //ViewBag.Statuses = return View(); } [HttpGet] public IActionResult GetWordFile() { return PhysicalFile("C:\\!КУРСОВАЯ\\Сборки по выбранным заказам.docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "Сборки по выбранным заказам.docx"); } public IActionResult GetExcelFile() { return PhysicalFile("C:\\!КУРСОВАЯ\\Сборки по выбранным заказам.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Сборки по выбранным заказам.xlsx"); } [HttpPost] public IActionResult ReportOrdersAssembliesToFile(int[] orders, string type) { if (APIUser.User == null) { Redirect("Index"); } if (orders.Length > 0 && !string.IsNullOrEmpty(type)) { //Преобразование массива в список List<int> ids = new List<int>(); foreach (var item in orders) { ids.Add(item); } if (type == "docx") { APIUser.PostRequest("api/order/createreporttowordfile", new ReportBindingModel { Ids = ids, FileName = "C:\\!КУРСОВАЯ\\Сборки по выбранным заказам.docx" }); return GetWordFile(); //Response.Redirect("GetWordFile"); } if (type == "xlsx") { APIUser.PostRequest("api/order/createreporttoexcelfile", new ReportBindingModel { Ids = ids, FileName = "C:\\!КУРСОВАЯ\\Сборки по выбранным заказам.xlsx" }); return GetExcelFile(); //Response.Redirect("GetExcelFile"); } } return Redirect("Index"); } [HttpGet] public IActionResult ReportOrdersByDates() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } //ViewBag.Orders = APIUser.GetRequest<List<OrderViewModel>>($"api/order/getorders?userId={APIUser.User.Id}"); //ViewBag.Statuses = return View(); } [HttpGet] public string GetOrdersReportByDates(DateTime dateFrom, DateTime dateTo) { if (APIUser.User == null) { throw new Exception("Вход только авторизованным"); } if (dateFrom != DateTime.MinValue && dateTo != DateTime.MinValue) { List<ReportOrdersViewModel> result; result = _logic.GetReportOrdersByDates(new ReportBindingModel { UserId = APIUser.User.Id, DateFrom = dateFrom, DateTo = dateTo }); string table = ""; //МБ НЕ НДО ПРИСВАИВАТЬ КЛАСС u-table-entity table += $"<table class=\"u-table-entity\">"; table += "<colgroup>"; //ID заказа table += "<col width=\"5%\" />"; //Дата заказа table += "<col width=\"10%\" />"; //Стоимость заказа table += "<col width=\"10%\" />"; //Статус заказа table += "<col width=\"10%\" />"; //ID заявки table += "<col width=\"5%\" />"; //ФИО клиента table += "<col width=\"15%\" />"; //Дата заявки table += "<col width=\"10%\" />"; //Название сборки table += "<col width=\"15%\" />"; //Категория сборки table += "<col width=\"10%\" />"; //Цена сборки table += "<col width=\"10%\" />"; table += "</colgroup>"; //МБ НЕ НДО ПРИСВАИВАТЬ КЛАСС table += "<thead class=\"u-custom-color-1 u-table-header u-table-header-1\">"; //МБ ИЗМЕНИТЬ ВЫСОТУ table += "<tr style=\"height: 31px\">"; //МБ ИЗМЕНИТЬ КЛАСС table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">ID заказа</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">Дата заказа</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">Стоимость заказа</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">Статус заказа</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">ID заявки</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">ФИО клиента</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">Дата заявки</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">Название сборки</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">Категория сборки</th>"; table += $"<th class=\"u-border-1 u-border-grey-50 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">Цена сборки</th>"; table += "</tr>"; table += "</thead>"; //МБ НЕ ПРИСВАИВАТЬ КЛАСС ИЛИ СДЕЛАТЬ ПЕРЕД ВНУТРЕННИМ ЦИКЛОМ table += "<tbody class=\"u-table-body\">"; foreach (var order in result) { if (order.RequestsAssemblies.Count < 1) { //МБ ПОМЕНЯТЬ ВЫСОТУ table += "<tr style=\"height: 75px\">"; table += $"<td class=\"u-border-1 u-border-grey-40 u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.OrderId.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.DateCreateOrder.ToShortDateString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.OrderSum.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.OrderStatus.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{"Заказ без заявок"}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{"Неизвестно"}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{"Неизвестно"}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{"Неизвестно"}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{"Неизвестно"}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{"Неизвестно"}</td>"; table += "</tr>"; } foreach (var request in order.RequestsAssemblies) { //МБ ПОМЕНЯТЬ ВЫСОТУ table += "<tr style=\"height: 75px\">"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.OrderId.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.DateCreateOrder.ToShortDateString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.OrderSum.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{order.OrderStatus.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{request.RequestId.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{request.ClientFIO.ToString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{request.DateRequest.ToShortDateString()}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{(string.IsNullOrEmpty(request.AssemblyName) ? "Сборка не привязана" : request.AssemblyName)}</td>"; table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{(string.IsNullOrEmpty(request.AssemblyCategory) ? "Неизвестная категория" : request.AssemblyCategory)}</td>"; //МБ тут не будет 0 у непривязанных сборок table += $"<td class=\"u-border-1 u-border-grey-40 u-border-no-left u-border-no-right u-table-cell\" style=\"text-align:center; border: 1px solid black; border-collapse:collapse\">{request.AssemblyPrice.ToString()}</td>"; table += "</tr>"; } } table += "</table>"; return table; } return ""; } [HttpPost] public void ReportOrdersByDates(DateTime dateFrom, DateTime dateTo) { if (APIUser.User == null) { throw new Exception("Вход только авторизованным"); } //if (string.IsNullOrEmpty(organiserEmail)) //{ // throw new Exception("Email пуст"); //} if (dateFrom != DateTime.MinValue && dateTo != DateTime.MinValue) { APIUser.PostRequest("api/order/CreateReportToPDFFile", new ReportBindingModel { FileName = "C:\\!КУРСОВАЯ\\Отчёт за период.pdf", DateFrom = dateFrom, DateTo = dateTo, UserId = APIUser.User.Id }); APIUser.PostRequest("api/order/SendPDFToMail", new MailSendInfoBindingModel { //!!!МБ СЮДА ПЕРЕДАВАТЬ ПОЧТУ, КОТОРУЮ ВВОДЯТ НА СТРАНИЦЕ MailAddress = APIUser.User.Email, Subject = "Отчет за период", Text = "Отчет по заказам с " + dateFrom.ToShortDateString() + " по " + dateTo.ToShortDateString() }); } Response.Redirect("Index"); } // ОСТАЛЬНОЕ ОСТАЛЬНОЕ ОСТАЛЬНОЕ ОСТАЛЬНОЕ ОСТАЛЬНОЕ ОСТАЛЬНОЕ ОСТАЛЬНОЕ [HttpGet] public IActionResult Privacy() { if (APIUser.User == null) { return Redirect("~/Home/Enter"); } return View(APIUser.User); } [HttpPost] public void Privacy(string login, string password, string email) { try { if (APIUser.User == null) { throw new Exception("Вход только авторизованным"); } if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(email)) { throw new Exception("Введите логин, пароль и почту"); } APIUser.PostRequest("api/user/updatedata", new UserBindingModel { Id = APIUser.User.Id, Login = login, Password = password, Email = email }); APIUser.User.Login = login; APIUser.User.Password = password; APIUser.User.Email = email; Response.Redirect("Index"); } catch (Exception) { Response.Redirect("Index"); } } [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public IActionResult Error() { return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); } [HttpGet] public IActionResult Enter() { return View(); } [HttpPost] public void Enter(string login, string password) { //if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password)) //{ // Response.Redirect("Enter"); //} //APIUser.User = APIUser.GetRequest<UserViewModel>($"api/user/loginimplementer?login={login}&password={password}"); //if (APIUser.User == null) //{ // Response.Redirect("Enter"); //} //Response.Redirect("Index"); try { if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password)) { throw new Exception("Введите логин и пароль"); } APIUser.User = APIUser.GetRequest<UserViewModel>($"api/user/loginimplementer?login={login}&password={password}"); if (APIUser.User == null) { throw new Exception("Неверный логин/пароль"); } Response.Redirect("Index"); } catch (Exception) { Response.Redirect("Enter"); } } [HttpGet] public IActionResult Register() { return View(); } [HttpPost] public void Register(string login, string password, string email) { try { if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(email)) { throw new Exception("Введите логин, пароль и почту"); } APIUser.PostRequest("api/user/registerimplementer", new UserBindingModel { Login = login, Password = password, Email = email }); Response.Redirect("Enter"); return; } catch (Exception) { Response.Redirect("Register"); } } } }