demo20230512/Controllers/Api/ProductLCA/WasteTransportController.cs
2023-05-12 10:20:28 +08:00

97 lines
3.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Weee.Models;
using Weee.Models.Paramemter;
using Weee.Service;
using PagedList;
using Weee.Filter;
namespace Weee.Controllers
{
public class WasteTransportController : ApiControllerBase
{
private readonly WeeeParameterDataService parameterservice;
private readonly WeeeSheetDataService service;
public WasteTransportController(WeeeSheetDataService d, WeeeParameterDataService s) : base(d)
{
service = d;
parameterservice = s;
}
[Route("api/WasteTransport/GetByLcaId/{LCAID}/{page:min(1):int=1}/{search?}/{pagesize:min(4):int=15}")]
//[Filter.ApiMultilanguage]disable obsolete warning, not sure OK or not
public object GetByLcaId(int LCAID, int page = 1, string search = "", int pagesize = 15)
{
var query =service.GetSheet<ProductLCAFabSurveyForm_WasteTransports>(LCAID);
if (search != "")
{
query = query.Where(x => x.JourneyNO.Contains(search) ||
x.StartLocation.Contains(search) ||
x.WasteName.Contains(search) ||
x.EndLocation.Contains(search));
}
return new
{
WasteTransports = service.GetSheet<ProductLCAFabSurveyForm_WasteTransports>(LCAID),
Options = parameterservice.GetNonYearlyParameterOptions(Categories.Transport),
SheetHeader = service.GetSheetHeader(LCAID, Categories.SheetHeaderWasteTransport)
};
}
[Route("api/WasteTransport/SaveSheetHeader")]
[HttpPost]
public HttpResponseMessage SaveHeader(SheetHeader header)
{
return this.SaveSheetHeader(service, Weee.Models.Paramemter.Categories.SheetHeaderWasteTransport, header);
}
[Route("api/WasteTransport/SaveAll")]
[HttpPost]
[ApiEditableAttribute("ToBeSave", true)]
public object SaveAll(IEnumerable<ProductLCAFabSurveyForm_WasteTransports> ToBeSave)
{
if (!ModelState.IsValid)
{
throw new Exception("error");
}
var result = service.SaveSheet(ToBeSave);
return new { result = result };
}
[Route("api/WasteTransport/Save/{LCAID}/{id}")]
[HttpPost]
[ApiEditableAttribute("toBeSave", false)]
public Object Save(int LCAID, int id, ProductLCAFabSurveyForm_WasteTransports toBeSave)
{
if (!ModelState.IsValid)
return BadRequest();
if (id != toBeSave.ID || LCAID != toBeSave.LCAID)
return BadRequest();
toBeSave.ParameterUnit += "";
service.SaveSheetItem(toBeSave);
return toBeSave;
}
[Route("api/WasteTransport/DeleteAll/{LCAID}")]
[HttpDelete]
public IHttpActionResult DeleteAll(int LCAID)
{
service.DeleteSheet<ProductLCAFabSurveyForm_WasteTransports>(LCAID);
return Ok();
}
[Route("api/WasteTransport/Delete/{ID}")]
[HttpDelete]
public IHttpActionResult Delete(int ID)
{
service.DeleteSheetItem<ProductLCAFabSurveyForm_WasteTransports>(ID);
return Ok();
}
}
}