Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.83 KB | None | 0 0
  1. using BusinessEntities;
  2. using BusinessLogic.EMS.Common;
  3. using Microsoft.AspNetCore.Mvc;
  4. using BusinessEntities.MasterModels;
  5. using Microsoft.AspNetCore.Authorization;
  6. using BusinessLogic.EMS.Master;
  7. using Microsoft.AspNetCore.Http;
  8. using System.IO;
  9. using System;
  10. using System.Net;
  11. using System.Collections.Generic;
  12. using BusinessLogic.Utility;
  13. using BusinessLogic.Utility.Enum;
  14. using Utilities;
  15. using System.Linq;
  16.  
  17. namespace SpectrumPro_API.Controllers.EMS.Commons
  18. {
  19. [Route("api/ems/commons/[controller]/[action]")]
  20. public class PrintController : BaseController<tbLabelParameter>
  21. {
  22. private Token _token;
  23. BizPrint BizPrint = new BizPrint();
  24. private readonly BizSystemConfig bizSystemConfig;
  25.  
  26. public PrintController(Token token) : base()
  27. {
  28. bizSystemConfig = new BizSystemConfig();
  29. _token = token;
  30. }
  31.  
  32. [HttpPost, AllowAnonymous]
  33. public IActionResult Preview([FromBody]LoftwarePrintTask data, string service = "")
  34. {
  35. BizPrint.Preview(data, service);
  36. var result = BizPrint.GetResult(data.jobname);
  37. BizPrint.ClearJob(data.jobname);
  38.  
  39. return Ok(result);
  40. }
  41.  
  42. [HttpPost, AllowAnonymous]
  43. public IActionResult PreviewBytbLabelsToPrint([FromBody]LoftwarePrintTask data, string service = "")
  44. {
  45. BizPrint.PreviewBytbLabelsToPrint(data, service);
  46. var result = BizPrint.GetPreviewPrintingResult(data.jobname);
  47. BizPrint.ClearPreviewPrintingJob(data.jobname);
  48.  
  49. return Ok(result);
  50. }
  51.  
  52. [HttpGet, AllowAnonymous]
  53. public IActionResult List(string service = "")
  54. {
  55. var task = BizPrint.List(service);
  56. var result = BizPrint.GetResult(task.jobname);
  57. BizPrint.ClearJob(task.jobname);
  58.  
  59. return Ok(result.templates);
  60. }
  61.  
  62. [HttpGet, AllowAnonymous]
  63. public IActionResult GetLabelsReadyToPrint()
  64. {
  65. var list = BizPrint.GetLoftwarePrintTasks();
  66. return Ok(list);
  67. }
  68.  
  69. [HttpGet, AllowAnonymous]
  70. public IActionResult GetTask(string service = "")
  71. {
  72. var result = BizPrint.GetTask(service);
  73.  
  74. if (result != null)
  75. {
  76. return Ok(result);
  77. }
  78. else
  79. {
  80. return Ok("");
  81. }
  82. }
  83.  
  84. [HttpPost, AllowAnonymous]
  85. public IActionResult SendTask(string token, string data)
  86. {
  87. if (!string.IsNullOrWhiteSpace(token))
  88. {
  89. BizPrint.SendTask(token, data);
  90. }
  91.  
  92. return Ok();
  93. }
  94.  
  95. [HttpGet]
  96. public IActionResult GetTables()
  97. {
  98. var list = BizPrint.GetTables();
  99. return Ok(list);
  100. }
  101.  
  102. [HttpGet]
  103. public IActionResult GetColumns(string tableName)
  104. {
  105. var columns = BizPrint.GetColumns(tableName);
  106. return Ok(columns);
  107. }
  108.  
  109.  
  110. [HttpGet]
  111. public IActionResult BuildCommand(string name)
  112. {
  113. var command = BizPrint.BuildCommand(name);
  114. return Ok(command);
  115. }
  116.  
  117. [HttpGet]
  118. public IActionResult BuildAndExecuteCommand(string name, string serialNumber)
  119. {
  120. var command = BizPrint.BuildAndExecuteCommand(serialNumber, name);
  121. return Ok(command);
  122. }
  123.  
  124. [HttpGet]
  125. public IActionResult GetLabelParameters(string keyword = "", int pageNumber = 1)
  126. {
  127. var list = BizPrint.GetLabelParameters(keyword, pageNumber);
  128. return Ok(list);
  129. }
  130.  
  131. [HttpGet]
  132. public IActionResult SearchScriptDefinitions(string keyword = "", int pageNumber = 1, string sortBy = "name", string sortType = "DESC")
  133. {
  134.  
  135. var list = BizPrint.SearchScriptDefinitions((keyword ?? "").Trim(), pageNumber, sortBy, sortType);
  136.  
  137. return Ok(list);
  138. }
  139.  
  140. [HttpGet]
  141. public IActionResult SearchLabelParameter(string keyword = "", int pageNumber = 1)
  142. {
  143.  
  144. var list = BizPrint.SearchLabelParameter((keyword ?? "").Trim(), pageNumber);
  145.  
  146. return Ok(list);
  147. }
  148.  
  149.  
  150. [HttpGet]
  151. public IActionResult GetLabelParameterList(QueryParameter queryParameters)
  152. {
  153. List<tbLabelParameter> result = new List<tbLabelParameter>();
  154. try
  155. {
  156. if (queryParameters.limit == null)
  157. queryParameters.limit = int.TryParse(bizSystemConfig
  158. .GetByName(SystemConfig.PaginationLimit.ToString()).value, out int paginationLimit) ? paginationLimit : 20;
  159.  
  160. if (IsPagination(queryParameters))
  161. {
  162. result = BizPrint.GetLabelParameterList(queryParameters, out totalData);
  163. }
  164. }
  165. catch (CTrackerException cusex)
  166. {
  167. cusex.CallStack.Push(GetType().FullName, System.Reflection.MethodBase.GetCurrentMethod().Name);
  168. _ = cusex.Log(true);
  169. }
  170.  
  171. return IsPagination(queryParameters) ? Ok(Paginate(result, totalData, queryParameters)) : Ok(result);
  172. }
  173.  
  174. [HttpGet]
  175. public IActionResult GetLabelParameter(int labelParameterId)
  176. {
  177. var model = BizPrint.GetLabelParameter(labelParameterId);
  178. return Ok(model);
  179. }
  180.  
  181. [HttpGet]
  182. public IActionResult GetLabelParameterTypes()
  183. {
  184. var list = BizPrint.GetLabelParameterTypes();
  185. return Ok(list);
  186. }
  187.  
  188. [HttpGet]
  189. public IActionResult GetStoredProcedures(string keyword = "")
  190. {
  191. var list = BizPrint.GetStoredProcedures(keyword);
  192. return Ok(list);
  193. }
  194.  
  195. [HttpPost]
  196. public IActionResult ManageScriptDefinition([FromBody]tbScriptDefinition model)
  197. {
  198. model.createdBy = _token.loginID;
  199. var message = BizPrint.ManageScriptDefinition(model);
  200.  
  201. return Ok(message);
  202. }
  203.  
  204. [HttpPost]
  205. public IActionResult GetLabelConfig([FromBody]LabelConfigViewModel model)
  206. {
  207. model.loginId = _token.loginID;
  208. BizPrint.GetLabelConfig(model);
  209.  
  210. return Ok(model);
  211. }
  212.  
  213. [HttpPost]
  214. public IActionResult SetLabelMapParameter([FromBody]tbLabelMapParameter model)
  215. {
  216. model.createdBy = _token.loginID;
  217. var result = BizPrint.SetLabelMapParameter(model);
  218.  
  219. return Ok(result);
  220. }
  221.  
  222. [HttpPost]
  223. public IActionResult ManageOperationLabel([FromBody]tbOperationLabel model)
  224. {
  225. model.createdBy = _token.loginID;
  226. var result = BizPrint.ManageOperationLabel(model);
  227.  
  228. return Ok(result);
  229. }
  230.  
  231. [HttpGet]
  232. public IActionResult GetOperationLabel(string keyword = "", int pageNumber = 1)
  233. {
  234. var list = BizPrint.GetOperationLabel((keyword ?? "").Trim(), pageNumber);
  235. return Ok(list);
  236. }
  237.  
  238. [HttpPost]
  239. public IActionResult ManagePrinter([FromBody]tbPrinter model)
  240. {
  241. model.createdBy = _token.loginID;
  242. var result = BizPrint.ManagePrinter(model);
  243.  
  244. return Ok(result);
  245. }
  246.  
  247. [HttpGet]
  248. public IActionResult GetLabelUsage(string keyword = "", int pageNumber = 1)
  249. {
  250. var result = BizPrint.GetLabelUsage((keyword ?? "").Trim(), pageNumber);
  251. return Ok(result);
  252. }
  253.  
  254. [HttpPost]
  255. public IActionResult ManageLabelUsage([FromBody]LabelUsageView model)
  256. {
  257. var result = BizPrint.ManageLabelUsage(model, _token.loginID);
  258.  
  259. return Ok(result);
  260. }
  261.  
  262. [HttpGet]
  263. public IActionResult GetPrinters(string keyword = "", int pageNumber = 1,string sortBy = "name",string sortType = "DESC")
  264. {
  265. var list = BizPrint.GetPrinters((keyword ?? "").Trim(), pageNumber, sortBy, sortType);
  266. return Ok(list);
  267. }
  268.  
  269. [HttpGet]
  270. public IActionResult SearchForSelectPrinter(string keyword = "")
  271. {
  272. var results = BizPrint.SearchForSelectPrinter((keyword ?? "").Trim());
  273. return Ok(new { results });
  274. }
  275.  
  276. [HttpGet]
  277. public IActionResult SearchForSelectLabelProfile(string keyword = "")
  278. {
  279. var results = BizPrint.SearchForSelectLabelProfile((keyword ?? "").Trim());
  280. return Ok(new { results });
  281. }
  282.  
  283. [HttpGet]
  284. public IActionResult SearchForSelectPackingProfile(string keyword = "")
  285. {
  286. var results = BizPrint.SearchForSelectPackingProfile((keyword ?? "").Trim());
  287. return Ok(new { results });
  288. }
  289.  
  290. [HttpGet]
  291. public IActionResult SearchForSelectShipProfile(string keyword = "")
  292. {
  293. var results = BizPrint.SearchForSelectShipProfile((keyword ?? "").Trim());
  294. return Ok(new { results });
  295. }
  296.  
  297. [HttpGet]
  298. public IActionResult OperationPrintingProcess(string serialNumber, int menuId, string operationType = "Any", string operationEvent = "PRINT_AFTER_COMPLETE_OPERATION")
  299. {
  300. var operationId = new BizMenu().GetOperationIdByMenuId(menuId);
  301.  
  302. if (operationId > 0)
  303. {
  304. var data = BizPrint.Process(serialNumber, (int)operationId, operationType, _token.loginID, operationEvent);
  305. return Ok(data);
  306. }
  307. else
  308. {
  309. return Ok();
  310. }
  311. }
  312.  
  313. [HttpGet]
  314. public IActionResult GetLabelProfiles(string keyword = "", int pageNumber = 1, string sortType = "DESC")
  315. {
  316. var list = BizPrint.GetLabelProfiles((keyword ?? "").Trim(), pageNumber, sortType);
  317. return Ok(list);
  318. }
  319.  
  320. [HttpPost]
  321. public IActionResult ManageLabelProfile([FromBody]tbLabelProfile model)
  322. {
  323. model.createdBy = _token.loginID;
  324. var result = BizPrint.ManageLabelProfile(model);
  325.  
  326. return Ok(result);
  327. }
  328.  
  329. [HttpGet]
  330. public IActionResult GetLabelProfileDetails(int labelProfileId)
  331. {
  332. var result = BizPrint.GetLabelProfileDetails(labelProfileId);
  333. return Ok(result);
  334. }
  335.  
  336. [HttpGet]
  337. public IActionResult DeleteLabelUsageById(int labelOpId)
  338. {
  339. var result = BizPrint.DeleteLabelUsageById(labelOpId);
  340. return Ok(result);
  341. }
  342.  
  343. [HttpGet]
  344. public IActionResult DeleteLabelProfileById(int labelProfileId)
  345. {
  346. var result = BizPrint.DeleteLabelProfileById(labelProfileId);
  347. return Ok(result);
  348. }
  349.  
  350. [HttpGet]
  351. public ResultMessage ValidationDeletePrinterById(int printerId)
  352. {
  353.  
  354. ResultMessage result = BizPrint.ValidationDeletePrinterById(printerId);
  355. return result;
  356. }
  357.  
  358. [HttpGet]
  359. public ResultMessage DeletePrinterById(int printerId)
  360. {
  361. ResultMessage result = BizPrint.DeletePrinterById(printerId);
  362. return result;
  363. }
  364.  
  365. [HttpGet]
  366. public IActionResult DeleteScriptDefinitionIdrById(int scriptDefinitionId)
  367. {
  368. var result = BizPrint.DeleteScriptDefinitionIdrById(scriptDefinitionId);
  369. return Ok(result);
  370. }
  371.  
  372. [HttpGet]
  373. public IActionResult GetLabelUsageById(int labelOpId)
  374. {
  375. var result = BizPrint.GetLabelUsage(labelOpId: labelOpId);
  376. return Ok(result);
  377. }
  378.  
  379. [HttpPost]
  380. public IActionResult ManageLabelProfileDetails([FromBody]tbLabelProfileDetail model)
  381. {
  382. model.createdBy = _token.loginID;
  383. BizPrint.ManageLabelProfileDetail(model);
  384. return Ok();
  385. }
  386.  
  387. [HttpGet]
  388. public IActionResult SetActivePrinter(int printerId, bool isActive)
  389. {
  390. BizPrint.SetActivePrinter(printerId, isActive, _token.loginID);
  391. return Ok();
  392. }
  393.  
  394. [HttpGet]
  395. public IActionResult SetActiveLabelUsage(int labelOpId, bool isActive)
  396. {
  397. BizPrint.SetActiveLabelUsage(labelOpId, isActive, _token.loginID);
  398. return Ok();
  399. }
  400.  
  401. [HttpGet]
  402. public IActionResult SetActiveLabelProfile(int labelProfileId, bool isActive)
  403. {
  404. BizPrint.SetActiveLabelProfile(labelProfileId, isActive, _token.loginID);
  405. return Ok();
  406. }
  407.  
  408. [HttpGet]
  409. public IActionResult SetActiveLabelProfileDetail(int labelProfileDetailId, bool isActive)
  410. {
  411. BizPrint.SetActiveLabelProfileDetail(labelProfileDetailId, isActive, _token.loginID);
  412. return Ok();
  413. }
  414.  
  415. [HttpGet]
  416. public IActionResult GetActiveWorkstation()
  417. {
  418. var list = BizPrint.GetActiveWorkstation();
  419. return Ok(list);
  420. }
  421.  
  422. [HttpGet]
  423. public IActionResult GetPrinterWorkstation(int printerId)
  424. {
  425. var list = BizPrint.GetPrinterWorkstation(printerId);
  426. return Ok(list);
  427. }
  428.  
  429. [HttpPost]
  430. public IActionResult SetActivePrinterWorkstation([FromBody]tbPrinterWorkstation model)
  431. {
  432. model.createdBy = _token.loginID;
  433. BizPrint.SetActivePrinterWorkstation(model);
  434.  
  435. return Ok(model);
  436. }
  437.  
  438. [HttpGet]
  439. public IActionResult SetActiveScriptDefinition(int scriptDefinitionId, bool isActive)
  440. {
  441. BizPrint.SetActiveScriptDefinition(scriptDefinitionId, isActive, _token.loginID);
  442. return Ok();
  443. }
  444.  
  445. [HttpPost]
  446. public IActionResult UploadTemplate(IFormFile file)
  447. {
  448. if (file != null)
  449. {
  450. var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources", "bartender-template");
  451. Directory.CreateDirectory(path);
  452.  
  453. using (var stream = new FileStream(Path.Combine(path, file.FileName), FileMode.Create))
  454. {
  455. file.CopyTo(stream);
  456. }
  457.  
  458. return Ok(file.FileName);
  459. }
  460. else
  461. {
  462. return Ok();
  463. }
  464. }
  465.  
  466. [HttpGet, AllowAnonymous]
  467. public IActionResult DownloadTemplate()
  468. {
  469. var directory = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Resources", "bartender-template"));
  470. if (!Directory.Exists(directory.ToString()))
  471. {
  472. return NotFound();
  473. }
  474. var files = directory.GetFiles();
  475.  
  476. if (files.Length > 0)
  477. {
  478. var file = files[0];
  479. var fileName = file.Name;
  480. var bytes = new byte[0];
  481.  
  482. using (var stream = System.IO.File.OpenRead(file.FullName))
  483. {
  484. using (var memoryStream = new MemoryStream())
  485. {
  486. stream.CopyTo(memoryStream);
  487. bytes = memoryStream.ToArray();
  488. }
  489. }
  490.  
  491. file.Delete();
  492.  
  493. return File(bytes, "application/octet-stream", fileName);
  494. }
  495. else
  496. {
  497. return NotFound();
  498. }
  499. }
  500.  
  501. [AllowAnonymous]
  502. public IActionResult GetToken()
  503. {
  504. var token = new BizToken().GetToken();
  505.  
  506. return Ok(new { token });
  507. }
  508.  
  509. [HttpGet]
  510. public IActionResult GetNCRParameters(int failureId)
  511. {
  512. var list = BizPrint.GetNCRParameters(failureId);
  513. return Ok(list);
  514. }
  515.  
  516. [HttpGet, AllowAnonymous]
  517. public IActionResult GetTaskPreviewLabelToPrint(string service = "")
  518. {
  519. LoftwarePrintTask result = BizPrint.GetTaskPreviewLabelToPrint(service);
  520.  
  521. if (result != null)
  522. {
  523. return Ok(result);
  524. }
  525. else
  526. {
  527. return Ok("");
  528. }
  529. }
  530.  
  531. [HttpPost, AllowAnonymous]
  532. public IActionResult SendTaskPreviewLabelToPrint(string token, string data)
  533. {
  534. if (!string.IsNullOrWhiteSpace(token))
  535. {
  536. BizPrint.SendTaskPreviewLabelToPrint(token, data);
  537. }
  538.  
  539. return Ok();
  540. }
  541. }
  542. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement