public async Task <IActionResult> Put(int id, [FromBody] GarmentUnitDeliveryOrderViewModel ViewModel) { try { identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value; identityService.TimezoneOffset = int.Parse(Request.Headers["x-timezone-offset"].First()); IValidateService validateService = (IValidateService)serviceProvider.GetService(typeof(IValidateService)); validateService.Validate(ViewModel); var model = mapper.Map <GarmentUnitDeliveryOrder>(ViewModel); await facade.Update(id, model); Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.CREATED_STATUS_CODE, General.OK_MESSAGE) .Ok(); return(Created(String.Concat(Request.Path, "/", 0), Result)); } catch (ServiceValidationExeption e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.BAD_REQUEST_STATUS_CODE, General.BAD_REQUEST_MESSAGE) .Fail(e); return(BadRequest(Result)); } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public IActionResult Get(int id) { try { var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf"); var viewModel = facade.ReadById(id); if (viewModel == null) { throw new Exception("Invalid Id"); } else { foreach (var item in viewModel.Items) { GarmentUnitDeliveryOrder garmentUnitDeliveryOrder = facadeUnitDO.ReadById((int)viewModel.UnitDOId); if (garmentUnitDeliveryOrder != null) { GarmentUnitDeliveryOrderViewModel garmentUnitDeliveryOrderViewModel = mapper.Map <GarmentUnitDeliveryOrderViewModel>(garmentUnitDeliveryOrder); var garmentUnitDOItem = garmentUnitDeliveryOrder.Items.FirstOrDefault(i => i.Id == item.UnitDOItemId); if (garmentUnitDOItem != null) { item.DesignColor = garmentUnitDOItem.DesignColor; item.RONo = garmentUnitDOItem.RONo; } } } } if (indexAcceptPdf < 0) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.OK_STATUS_CODE, General.OK_MESSAGE) .Ok(viewModel); return(Ok(Result)); } else { int clientTimeZoneOffset = int.Parse(Request.Headers["x-timezone-offset"].First()); var stream = GarmentUnitExpenditureNotePDFTemplate.GeneratePdfTemplate(serviceProvider, viewModel); return(new FileStreamResult(stream, "application/pdf") { FileDownloadName = $"{viewModel.UENNo}.pdf" }); } } catch (Exception e) { Dictionary <string, object> Result = new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message) .Fail(); return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result)); } }
public async Task Should_Success_Validate_Data() { GarmentUnitDeliveryOrderViewModel viewModel = new GarmentUnitDeliveryOrderViewModel { UnitRequest = new Lib.ViewModels.NewIntegrationViewModel.UnitViewModel { Id = "1" }, UnitSender = new Lib.ViewModels.NewIntegrationViewModel.UnitViewModel { Id = "1" }, UnitDOType = "TRANSFER" }; Assert.True(viewModel.Validate(null).Count() > 0); GarmentUnitDeliveryOrderViewModel viewModelNullItems = new GarmentUnitDeliveryOrderViewModel { RONo = "RONo" }; Assert.True(viewModelNullItems.Validate(null).Count() > 0); GarmentUnitDeliveryOrderViewModel viewModelWithItems = new GarmentUnitDeliveryOrderViewModel { RONo = "RONo", Items = new List <GarmentUnitDeliveryOrderItemViewModel> { new GarmentUnitDeliveryOrderItemViewModel { IsSave = true, Quantity = 0 } } }; Assert.True(viewModelWithItems.Validate(null).Count() > 0); GarmentUnitDeliveryOrderViewModel viewModelLL = new GarmentUnitDeliveryOrderViewModel { UnitRequest = new Lib.ViewModels.NewIntegrationViewModel.UnitViewModel { Id = "1" }, UnitSender = new Lib.ViewModels.NewIntegrationViewModel.UnitViewModel { Id = "1" }, UnitDOType = "LAIN-LAIN" }; Assert.True(viewModelLL.Validate(null).Count() > 0); }
public async Task Should_Success_Validate_Data() { GarmentUnitDeliveryOrderViewModel viewModelNullItems = new GarmentUnitDeliveryOrderViewModel { DONo = "DONo" }; Assert.True(viewModelNullItems.Validate(null).Count() > 0); GarmentUnitDeliveryOrderViewModel viewModelWithItems = new GarmentUnitDeliveryOrderViewModel { DONo = "DONo", Items = new List <GarmentUnitDeliveryOrderItemViewModel> { new GarmentUnitDeliveryOrderItemViewModel { IsSave = true, Quantity = 0 } } }; Assert.True(viewModelWithItems.Validate(null).Count() > 0); var garmentUnitReceiptNoteFacade = new GarmentUnitReceiptNoteFacade(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); var data = await garmentUnitReceiptNoteDataUtil(garmentUnitReceiptNoteFacade, GetCurrentMethod()).GetTestData(); var item = data.Items.First(); var serviceProvider = GetServiceProvider(); serviceProvider.Setup(x => x.GetService(typeof(PurchasingDbContext))) .Returns(_dbContext(GetCurrentMethod())); GarmentUnitDeliveryOrderViewModel viewModelWithItemsQuantityOver = new GarmentUnitDeliveryOrderViewModel { DONo = "DONo", Items = new List <GarmentUnitDeliveryOrderItemViewModel> { new GarmentUnitDeliveryOrderItemViewModel { URNItemId = item.Id, IsSave = true, Quantity = (double)(item.SmallQuantity - item.OrderQuantity + 1) } } }; System.ComponentModel.DataAnnotations.ValidationContext validationDuplicateContext = new System.ComponentModel.DataAnnotations.ValidationContext(viewModelWithItemsQuantityOver, serviceProvider.Object, null); Assert.True(viewModelWithItemsQuantityOver.Validate(validationDuplicateContext).Count() > 0); }
public async Task Should_Success_Validate_Data() { GarmentUnitDeliveryOrderViewModel viewModel = new GarmentUnitDeliveryOrderViewModel { UnitRequest = new Lib.ViewModels.NewIntegrationViewModel.UnitViewModel { Id = "1" }, UnitSender = new Lib.ViewModels.NewIntegrationViewModel.UnitViewModel { Id = "1" }, UnitDOType = "TRANSFER" }; Assert.True(viewModel.Validate(null).Count() > 0); GarmentUnitDeliveryOrderViewModel viewModelNullItems = new GarmentUnitDeliveryOrderViewModel { RONo = "RONo" }; Assert.True(viewModelNullItems.Validate(null).Count() > 0); GarmentUnitDeliveryOrderViewModel viewModelWithItems = new GarmentUnitDeliveryOrderViewModel { RONo = "RONo", Items = new List <GarmentUnitDeliveryOrderItemViewModel> { new GarmentUnitDeliveryOrderItemViewModel { IsSave = true, Quantity = 0 } } }; Assert.True(viewModelWithItems.Validate(null).Count() > 0); var garmentUnitReceiptNoteFacade = new GarmentUnitReceiptNoteFacade(GetServiceProvider().Object, _dbContext(GetCurrentMethod())); var dataUtil = garmentUnitReceiptNoteDataUtil(garmentUnitReceiptNoteFacade, GetCurrentMethod()); var data = await dataUtil.GetTestData(); var item = data.Items.First(); var serviceProvider = GetServiceProvider(); serviceProvider.Setup(x => x.GetService(typeof(PurchasingDbContext))) .Returns(_dbContext(GetCurrentMethod())); GarmentUnitDeliveryOrderViewModel viewModelWithItemsQuantityOver = new GarmentUnitDeliveryOrderViewModel { RONo = "RONo", Items = new List <GarmentUnitDeliveryOrderItemViewModel> { new GarmentUnitDeliveryOrderItemViewModel { URNItemId = item.Id, DOItemsId = (int)dataUtil.ReadDOItemsByURNItemId((int)item.Id).Id, IsSave = true, Quantity = (double)10000 } } }; System.ComponentModel.DataAnnotations.ValidationContext validationDuplicateContext = new System.ComponentModel.DataAnnotations.ValidationContext(viewModelWithItemsQuantityOver, serviceProvider.Object, null); Assert.True(viewModelWithItemsQuantityOver.Validate(validationDuplicateContext).Count() > 0); GarmentUnitDeliveryOrderViewModel viewModel1 = new GarmentUnitDeliveryOrderViewModel { UnitDOType = "MARKETING", UnitDODate = DateTimeOffset.Now.AddDays(3) }; Assert.True(viewModel1.Validate(null).Count() > 0); }