using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Data.SqlClient; using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; using System.Collections.Generic; using System.Data; using System.Xml.Linq; using WIDESEA_Core; using WIDESEA_Core.BaseController; using WIDESEA_Core.Enums; using WIDESEA_DTO.Basic; using WIDESEA_IBasicRepository; using WIDESEA_IBasicService; using WIDESEA_IStockRepository; using WIDESEA_Model.Models; namespace WIDESEA_WMSServer.Controllers.Basic { [Route("api/LocationInfo")] [ApiController] public class LocationInfoController : ApiBaseController { private readonly ILocationInfoRepository _repository; private readonly IStockInfoRepository _stockInfoRepository; public LocationInfoController(ILocationInfoService service, ILocationInfoRepository repository,IStockInfoRepository stockInfoRepository) : base(service) { _repository = repository; } [HttpPost, Route("InitializationLocation")] public WebResponseContent InitializationLocation([FromBody] InitializationLocationDTO initializationLocationDTO) { return Service.InitializationLocation(initializationLocationDTO); } [HttpPost, Route("AdjacentDepthLocation"), AllowAnonymous] public Dt_LocationInfo AdjacentDepthLocation(string locationCode) { return Service.AdjacentDepthLocation(locationCode); } [HttpPost, Route("GetAllLocationGroups"), AllowAnonymous] public List GetAllLocationGroups(string roadway) { List locations = _repository.GetAllLocationGroups(roadway); return locations; } [HttpPost, Route("GetEmptyLocation"), AllowAnonymous] public string GetEmptyLocation() { Dt_LocationInfo locations = _repository.QueryDataBySql("select top 1 * from Dt_LocationInfo where LocationStatus=0 and EnableStatus=0 order by [Column]").First(); locations.LocationStatus = 99; _repository.UpdateData(locations); return locations.LocationCode; } [HttpPost, Route("GetLocationGroups"), AllowAnonymous] public List GetLocationGroups(string roadway, LocationStatusEnum locationAStatus, LocationStatusEnum locationBStatus) { List locations = _repository.GetLocationGroups(roadway, locationAStatus, locationBStatus); return locations; } [HttpPost, Route("LocationEnableStatus")] public WebResponseContent LocationEnableStatus([FromBody] int[] keys) { return Service.LocationEnableStatus(keys); ; } [HttpPost, Route("LocationDisableStatus")] public WebResponseContent LocationDisableStatus([FromBody] int[] keys) { return Service.LocationDisableStatus(keys); ; } } }