631 lines
18 KiB
C#
631 lines
18 KiB
C#
using CanteenBusinessLogic.BusinessLogics;
|
|
using CanteenContracts.BindingModels;
|
|
using CanteenContracts.BusinessLogicsContracts;
|
|
using CanteenContracts.SearchModel;
|
|
using CanteenContracts.View;
|
|
using CanteenContracts.ViewModels;
|
|
using CanteenDataModels.Models;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace CanteenRestApi.Controllers
|
|
{
|
|
[Route("api/[controller]/[action]")]
|
|
[ApiController]
|
|
public class MainController : ControllerBase
|
|
{
|
|
private readonly ILogger _logger;
|
|
private readonly ICookLogic _cook;
|
|
private readonly IDishLogic _dish;
|
|
private readonly IProductLogic _product;
|
|
private readonly ITablewareLogic _tableware;
|
|
private readonly IOrderLogic _order;
|
|
private readonly ILunchLogic _lunch;
|
|
private readonly IGraphicLogic _gl;
|
|
private readonly IReportLogic _reportLogic;
|
|
|
|
public MainController(ILogger<MainController> logger, IReportLogic reportLogic, ICookLogic cook, IDishLogic dish, IProductLogic product, ITablewareLogic tableware, IOrderLogic order, IGraphicLogic gl, ILunchLogic lunch)
|
|
{
|
|
_logger = logger;
|
|
_cook = cook;
|
|
_dish = dish;
|
|
_product = product;
|
|
_tableware = tableware;
|
|
_order = order;
|
|
_gl = gl;
|
|
_lunch = lunch;
|
|
_reportLogic = reportLogic;
|
|
}
|
|
|
|
[HttpPost]
|
|
public void SaveLunchesToPDF(ReportBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_reportLogic.saveLunchesToPdfFile(new ReportBindingModel()
|
|
{
|
|
DateAfter = model.DateAfter,
|
|
DateBefore = model.DateBefore,
|
|
UserId = model.UserId
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void SaveOrdersToPDF(ReportBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_reportLogic.saveCooksToPdfFile(new ReportBindingModel()
|
|
{
|
|
DateAfter = model.DateAfter,
|
|
DateBefore = model.DateBefore,
|
|
UserId = model.UserId
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public void SaveCooksToXSL(ReportBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_reportLogic.saveCooksToExcel(new ReportBindingModel()
|
|
{
|
|
DateAfter = model.DateAfter,
|
|
DateBefore = model.DateBefore,
|
|
UserId = model.UserId,
|
|
LunchId = model.LunchId
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public void SaveCooksToWORD(ReportBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_reportLogic.saveCooksToWord(new ReportBindingModel()
|
|
{
|
|
DateAfter = model.DateAfter,
|
|
DateBefore = model.DateBefore,
|
|
UserId = model.UserId,
|
|
LunchId = model.LunchId
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public void SaveOrdersToXSL(ReportBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_reportLogic.saveOrdersToExcel(new ReportBindingModel()
|
|
{
|
|
UserId = model.UserId,
|
|
ProductId = model.ProductId
|
|
});
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
public void SaveOrdersToWORD(ReportBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_reportLogic.saveOrdersToWord(new ReportBindingModel()
|
|
{
|
|
UserId = model.UserId,
|
|
ProductId = model.ProductId
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
[HttpGet]
|
|
public List<TablewareViewModel>? GetTablewareList(int visitorId)
|
|
{
|
|
try
|
|
{
|
|
return _tableware.ReadList(new TablewareSearchModel { VisitorId = visitorId });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void CreateTableware(TablewareBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_tableware.Create(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void DeleteTableware(TablewareBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_tableware.Delete(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void UpdateTableware(TablewareBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_tableware.Update(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public List<CookViewModel>? GetCookList(int managerId)
|
|
{
|
|
try
|
|
{
|
|
return _cook.ReadList(new CookSearchModel { ManagerId = managerId });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public List<CookViewModel>? GetCookFullList()
|
|
{
|
|
try
|
|
{
|
|
return _cook.ReadList(null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void CookCreate(CookBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_cook.Create(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void CookDelete(CookBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_cook.Delete(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void CookUpdate(CookBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_cook.Update(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public List<DishViewModel>? GetDishList(int managerId)
|
|
{
|
|
try
|
|
{
|
|
return _dish.ReadList(new DishSearchModel { ManagerId = managerId });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public DishViewModel? GetDish(int Id)
|
|
{
|
|
try
|
|
{
|
|
return _dish.ReadElement(new DishSearchModel { Id = Id });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void DishCreate(DishBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_dish.Create(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void DishDelete(DishBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_dish.Delete(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void DishUpdate(DishBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_dish.Update(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void DishAddProducts(Tuple<DishBindingModel, ProductViewModel, int> model)
|
|
{
|
|
try
|
|
{
|
|
_dish.AddProductsToDish(model.Item1, model.Item2, model.Item3);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public List<ProductViewModel>? GetProductList(int managerId)
|
|
{
|
|
try
|
|
{
|
|
return _product.ReadList(new ProductSearchModel { ManagerId = managerId });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public List<ProductViewModel>? GetProductFullList()
|
|
{
|
|
try
|
|
{
|
|
return _product.ReadList(null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public ProductViewModel? GetProduct(int Id)
|
|
{
|
|
try
|
|
{
|
|
return _product.ReadElement(new ProductSearchModel { Id = Id });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void ProductCreate(ProductBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_product.Create(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void ProductDelete(ProductBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_product.Delete(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void ProductUpdate(ProductBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_product.Update(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void ProductAddCooks(Tuple<ProductSearchModel, CookViewModel> model)
|
|
{
|
|
try
|
|
{
|
|
_product.AddCooksToProduct(model.Item1, model.Item2);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public List<OrderViewModel>? GetOrderList(int visitorId)
|
|
{
|
|
try
|
|
{
|
|
return _order.ReadList(new OrderSearchModel { VisitorId = visitorId });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public OrderViewModel? GetOrder(int Id)
|
|
{
|
|
try
|
|
{
|
|
return _order.ReadElement(new OrderSearchModel { Id = Id });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void CreateOrder(OrderBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_order.Create(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void DeleteOrder(OrderBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_order.Delete(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void UpdateOrder(OrderBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_order.Update(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void OrderAddTablewares(Tuple<OrderBindingModel, TablewareBindingModel, int> model)
|
|
{
|
|
try
|
|
{
|
|
_order.UpdateTablewares(model.Item1, model.Item2, model.Item3);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void OrderAddCooks(Tuple<OrderBindingModel, CookBindingModel> model)
|
|
{
|
|
try
|
|
{
|
|
_order.UpdateCooks(model.Item1, model.Item2);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void CreateLunch(LunchBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_lunch.Create(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void DeleteLunch(LunchBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_lunch.Delete(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void UpdateLunch(LunchBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_lunch.Update(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void LunchAddOrders(Tuple<LunchBindingModel, OrderBindingModel> model)
|
|
{
|
|
try
|
|
{
|
|
_lunch.UpdateOrders(model.Item1, model.Item2);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void LunchAddProducts(Tuple<LunchBindingModel, ProductBindingModel, int> model)
|
|
{
|
|
try
|
|
{
|
|
_lunch.UpdateProducts(model.Item1, model.Item2, model.Item3);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpPost]
|
|
public void LunchComplete(LunchBindingModel model)
|
|
{
|
|
try
|
|
{
|
|
_lunch.Finish(model);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public List<LunchViewModel>? GetLunchList(int visitorId)
|
|
{
|
|
try
|
|
{
|
|
return _lunch.ReadList(new LunchSearchModel { VisitorId = visitorId });
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_logger.LogError(ex, "Error during loading list of bouquets");
|
|
throw;
|
|
}
|
|
}
|
|
[HttpGet]
|
|
public GraphicViewModel[] GetGraphic()
|
|
{
|
|
return new GraphicViewModel[]
|
|
{
|
|
_gl.GetGraphicByCount(),
|
|
_gl.GetGraphicByPrice()
|
|
};
|
|
}
|
|
}
|
|
} |