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(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(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 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(LCAID); return Ok(); } [Route("api/WasteTransport/Delete/{ID}")] [HttpDelete] public IHttpActionResult Delete(int ID) { service.DeleteSheetItem(ID); return Ok(); } } }