using CPRNIMS.Domain.UIContracts.Canvass; using CPRNIMS.Infrastructure.Helper; using CPRNIMS.Infrastructure.ViewModel.Canvass; using CPRNIMS.WebApps.Controllers.Base; using Microsoft.AspNetCore.Mvc; namespace CPRNIMS.WebApps.Controllers.Canvass { public class CanvassMgmtController : BaseMethod { List? response; private readonly ICanvass _canvass; public CanvassMgmtController(TokenHelper tokenHelper, ErrorLogHelper errorMessageService, IWebHostEnvironment webHostEnvironment , ICanvass canvass ) : base(tokenHelper, errorMessageService, webHostEnvironment) { _canvass = canvass; } #region POST PUT public async Task PostCanvass(CanvassVM viewModel, List CanvassList) { if (CanvassList.Count > 0) { viewModel.CanvassList = new CanvassList { PRDetailsId = CanvassList.SelectMany(ic => ic.PRDetailsId).ToList(), ItemNo = CanvassList.SelectMany(ic => ic.ItemNo).ToList(), PRNo = CanvassList.SelectMany(ic => ic.PRNo).ToList(), }; var postPutItem = await _canvass.PostCanvass(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } } else { return Json(new { success = false, response = "Array Empty" }); } return Json(new { success = false }); } public async Task PostPutSupplier(CanvassVM viewModel) { var postPutItem = await _canvass.PostPutSupplier(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } return Json(new { success = false, response = postPutItem.errMessage }); } public async Task PostTaggingSupplier(CanvassVM viewModel, List SupplierList) { var postPutItem = new CanvassVM(); try { if (SupplierList.Count > 0) { viewModel.SupplierList = new SupplierList { SupplierId = SupplierList.SelectMany(ic => ic.SupplierId).ToList(), }; postPutItem = await _canvass.PostTaggingSupplier(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } } else { return Json(new { success = false, response = "Array Empty" }); } return Json(new { success = false }); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message, "WebApps"); return Json(new { success = false, response = postPutItem.errMessage }); } } public async Task PostPutItemTagging(CanvassVM viewModel, List ItemList) { var postPutItem = new CanvassVM(); try { if (ItemList.Count > 0) { viewModel.ItemList = new ItemList { ItemNo = ItemList.SelectMany(ic => ic.ItemNo).ToList(), }; postPutItem = await _canvass.PostPutItemTagging(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } } else { return Json(new { success = false, response = "Array Empty" }); } return Json(new { success = false }); } catch (Exception ex) { var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); await PostErrorMessage(message, "WebApps"); return Json(new { success = false, response = postPutItem.errMessage }); } } public async Task PostApprovedSupp(CanvassVM viewModel) { var postPutItem = await _canvass.PostApprovedSupp(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } return Json(new { success = false, Response = postPutItem.errMessage }); } public async Task PostSuggestedSupp(CanvassVM viewModel) { var postPutItem = await _canvass.PostSuggestedSupp(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } return Json(new { success = false, Response = postPutItem.errMessage }); } public async Task PutSuppUnitPrice(CanvassVM viewModel) { var postPutItem = await _canvass.PutSuppUnitPrice(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } return Json(new { success = false, Response = postPutItem.errMessage }); } public async Task PutSuppBidDetails(CanvassVM viewModel) { var postPutItem = await _canvass.PutSuppBidDetails(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } return Json(new { success = false, Response = postPutItem.errMessage }); } public async Task PostPutMySupplier(CanvassVM viewModel) { var postPutItem = await _canvass.PostPutMySupplier(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } return Json(new { success = false, Response = postPutItem.errMessage }); } public async Task UnlockFormLink(CanvassVM viewModel) { var postPutItem = await _canvass.UnlockFormLink(await GetUser(), viewModel); if (postPutItem.messCode != 0) { return Json(new { success = true }); } return Json(new { success = false, Response = postPutItem.errMessage }); } #endregion #region Get public async Task GetItemSupplierWOEmail(long PRNo) { var viewModels = new CanvassVM(); viewModels.PRNo = PRNo; response = await _canvass.GetItemSupplierWOEmail(await GetUser(), viewModels); return GetResponse(response); } public async Task GetSupplierById(CanvassVM viewModel) { response = await _canvass.GetSupplierById(await GetUser(), viewModel); return GetResponse(response); } public async Task GetSupplierItemWOEmail(long ItemNo) { var viewModels = new CanvassVM(); viewModels.ItemNo = ItemNo; response = await _canvass.GetSupplierItemWOEmail(await GetUser(), viewModels); return GetResponse(response); } public async Task GetCanvassPerSupplier() { var viewModels = new CanvassVM(); response = await _canvass.GetCanvassPerSupplier(await GetUser(), viewModels); return GetResponse(response); } public async Task GetCanvassPerSupplierEmail(CanvassVM viewModel) { response = await _canvass.GetCanvassPerSupplierEmail(await GetUser(), viewModel); return GetResponse(response); } public async Task GetCanvassPerSupplierId(CanvassVM viewModel) { response = await _canvass.GetCanvassPerSupplierId(await GetUser(), viewModel); return GetResponse(response); } public async Task GetSupplierBid(CanvassVM viewModels) { response = await _canvass.GetSupplierBid(await GetUser(), viewModels); return GetResponse(response); } public async Task GetAlternativeOfferByPRDetailId(CanvassVM viewModels) { response = await _canvass.GetAlternativeOfferByPRDetailId(await GetUser(), viewModels); return GetResponse(response); } public async Task GetSupplierBidByItem(CanvassVM viewModel) { response = await _canvass.GetSupplierBidByItem(await GetUser(), viewModel); return GetResponse(response); } public async Task GetSupplierBidById(CanvassVM viewModel) { response = await _canvass.GetSupplierBidById(await GetUser(), viewModel); return GetResponse(response); } public async Task GetCanvassByPRNo(long PRNo) { var viewModels = new CanvassVM(); viewModels.PRNo = PRNo; response = await _canvass.GetCanvassByPRNo(await GetUser(), viewModels); return GetResponse(response); } public async Task GetCanvassById() { var viewModels = new CanvassVM(); response = await _canvass.GetCanvassById(await GetUser(), viewModels); return GetResponse(response); } public async Task GetPRItemList() { var viewModels = new CanvassVM(); response = await _canvass.GetPRItemList(await GetUser(), viewModels); return GetResponse(response); } public async Task GetPRItem(long ItemNo) { var viewModels = new CanvassVM(); viewModels.ItemNo = ItemNo; response = await _canvass.GetPRItem(await GetUser(), viewModels); return GetResponse(response); } public async Task GetCanvassWOResponse() { var viewModels = new CanvassVM(); response = await _canvass.GetCanvassWOResponse(await GetUser(), viewModels); return GetResponse(response); } public async Task GetWOResponseBySuppId(CanvassVM viewModels) { response = await _canvass.GetWOResponseBySuppId(await GetUser(), viewModels); return GetResponse(response); } public async Task GetForCanvassPerItem() { var viewModels = new CanvassVM(); response = await _canvass.GetForCanvassPerItem(await GetUser(), viewModels); return GetResponse(response); } public async Task GetPRListByPRNo(CanvassVM viewModel) { response = await _canvass. GetPRListByPRNo(await GetUser(), viewModel); return GetResponse(response); } public async Task GetMySuppliers(CanvassVM viewModel) { response = await _canvass. GetMySuppliers(await GetUser(), viewModel); return GetResponse(response); } public async Task GetMyPRWOCanvass(CanvassVM viewModel) { response = await _canvass. GetMyPRWOCanvass(await GetUser(), viewModel); return GetResponse(response); } public async Task GetCanvassGroupByPRNo(CanvassVM viewModel) { response = await _canvass. GetCanvassGroupByPRNo(await GetUser(), viewModel); return GetResponse(response); } #endregion #region Views public async Task Suppliers() { return await IsAuthenTicated(); } public async Task WOResponse() { return await IsAuthenTicated(); } public async Task Canvass() { return await IsAuthenTicated(); } public async Task SupplierBid() { return await IsAuthenTicated(); } public async Task CanvassReport() { return await IsAuthenTicated(); } #endregion } }