104 lines
3.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using DocumentFormat.OpenXml.Spreadsheet;
using FurnitureAssemblyContracts.BindingModels;
using FurnitureAssemblyContracts.BusinessLogicContracts;
using FurnitureAssemblyContracts.SearchModels;
using FurnitureAssemblyContracts.ViewModels;
using FurnitureAssemblyDatabaseImplement.Models;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
namespace FurnitureAssemblyRestApi.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class OrderInfoController : Controller
{
private readonly ILogger _logger;
private readonly IOrderInfoLogic _orderInfo;
public OrderInfoController(ILogger<OrderInfoController> logger, IOrderInfoLogic orderInfo)
{
_logger = logger;
_orderInfo = orderInfo;
}
[HttpGet]
public List<OrderInfoViewModel>? GetOrderInfoList()
{
try
{
return _orderInfo.ReadList(null);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения списка мебельных модулей");
throw;
}
}
[HttpGet]
public OrderInfoViewModel? GetOrderInfo(int Id)
{
try
{
return _orderInfo.ReadElement(new OrderInfoSearchModel { Id = Id });
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения мебельного модуля по id={Id}", Id);
throw;
}
}
[HttpGet]
public List<OrderInfoViewModel>? GetOrderInfoListByUser(int userId)
{
try
{
return _orderInfo.ReadList(new OrderInfoSearchModel { UserId = userId });
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения списка гарнитуров у пользователя по id={userId}", userId);
throw;
}
}
[HttpPost]
public OrderInfoViewModel? AddOrderInfo(OrderInfoBindingModel model)
{
try
{
return _orderInfo.Create(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка создания мебельного модуля");
throw;
}
}
[HttpPost]
public void UpdateOrderInfo(OrderInfoBindingModel model)
{
try
{
_orderInfo.Update(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка обновления мебельного модуля");
throw;
}
}
[HttpPost]
public void DeleteOrderInfo(OrderInfoBindingModel model)
{
try
{
_orderInfo.Delete(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка удаления мебельного модуля");
throw;
}
}
}
}