Queue Manager
This commit is contained in:
@@ -116,6 +116,7 @@ namespace Step.Controllers.WebApi
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
|
||||
[Route("shared_files"), HttpGet]
|
||||
public IHttpActionResult GetSharedFolderFileList(string sharedPath)
|
||||
@@ -156,5 +157,103 @@ namespace Step.Controllers.WebApi
|
||||
|
||||
return Ok(filelist);
|
||||
}
|
||||
|
||||
|
||||
#region Queue Manager
|
||||
|
||||
[Route("queue/add"), HttpPost]
|
||||
public async Task<IHttpActionResult> UploadToQueue()
|
||||
{
|
||||
if (!Request.Content.IsMimeMultipartContent())
|
||||
{
|
||||
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
|
||||
}
|
||||
|
||||
List<FormItem> formItems = await MultipartHandler.ManageMultiPartFileAsync(Request);
|
||||
|
||||
foreach (FormItem item in formItems)
|
||||
{
|
||||
if (item.IsAFile)
|
||||
{
|
||||
if (item.ParameterName == "file")
|
||||
{
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
|
||||
File.WriteAllBytes(TEMP_FILE + item.FileName, item.Data);
|
||||
|
||||
// Get reps
|
||||
var repsParam = formItems.Where(x => x.ParameterName == "reps").FirstOrDefault();
|
||||
// Check if reps parameter is null or isn't a valid int
|
||||
if (repsParam == null || !Int32.TryParse(repsParam.Value, out int reps))
|
||||
return BadRequest();
|
||||
|
||||
CmsError cmsError = ncHandler.UploadPartProgramAddToQueue(TEMP_FILE, item.FileName, reps, out ActiveProgramDataModel programData);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
}
|
||||
else if (item.ParameterName == "image")
|
||||
{
|
||||
File.WriteAllBytes(PART_PRG_IMAGES + item.FileName, item.Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[Route("queue/{processId:int}/remove/{itemId:int}"), HttpDelete]
|
||||
public IHttpActionResult RemoveFromQueue(int processId, int itemId)
|
||||
{
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
ncHandler.Connect();
|
||||
|
||||
CmsError cmsError = ncHandler.RemoveFromQueue(processId, itemId);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[Route("queue/{processId:int}/swap"), HttpPut]
|
||||
public IHttpActionResult SwapQueueItems(int processId, SwapItems itemsPositions)
|
||||
{
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
CmsError cmsError = ncHandler.SwapQueueItems(processId, itemsPositions.Item1Position, itemsPositions.Item2Position);
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[Route("queue/{processId:int}/edit/{positionId:int}"), HttpPut]
|
||||
public IHttpActionResult EditQueueItem(int processId, int positionId, SwapItems reps)
|
||||
{
|
||||
using (NcHandler ncHandler = new NcHandler())
|
||||
{
|
||||
CmsError cmsError = ncHandler.EditQueueItemReps(processId, positionId, reps.Reps );
|
||||
if (cmsError.IsError())
|
||||
return BadRequest(cmsError.localizationKey);
|
||||
}
|
||||
|
||||
return Ok();
|
||||
}
|
||||
|
||||
public class SwapItems
|
||||
{
|
||||
public int Item1Position;
|
||||
|
||||
public int Item2Position;
|
||||
|
||||
public int Reps;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user