public void Fail_Return_Success() { //Setup string ApiVersion = "V1"; int StatusCode = 200; string Message = "OK"; StockTransferNoteViewModel viewModel = new StockTransferNoteViewModel(); ResultFormatter formatter = new ResultFormatter(ApiVersion, StatusCode, Message); ValidationContext validationContext = new ValidationContext(viewModel); var errorData = new { WarningError = "Format Not Match" }; string error = JsonConvert.SerializeObject(errorData); var exception = new ServiceValidationExeption(validationContext, new List <ValidationResult>() { new ValidationResult(error, new List <string>() { "WarningError" }) }); //Act var result = formatter.Fail(exception); //Assert Assert.True(0 < result.Count()); }
public StockTransferNote MapToModel(StockTransferNoteViewModel viewModel) { StockTransferNote model = new StockTransferNote(); PropertyCopier <StockTransferNoteViewModel, StockTransferNote> .Copy(viewModel, model); model.SourceStorageId = viewModel.SourceStorage._id; model.SourceStorageCode = viewModel.SourceStorage.code; model.SourceStorageName = viewModel.SourceStorage.name; model.TargetStorageId = viewModel.TargetStorage._id; model.TargetStorageCode = viewModel.TargetStorage.code; model.TargetStorageName = viewModel.TargetStorage.name; model.StockTransferNoteItems = new List <StockTransferNote_Item>(); foreach (StockTransferNote_ItemViewModel stn in viewModel.StockTransferNoteItems) { StockTransferNote_Item stockTransferNoteItem = new StockTransferNote_Item(); PropertyCopier <StockTransferNote_ItemViewModel, StockTransferNote_Item> .Copy(stn, stockTransferNoteItem); stockTransferNoteItem.ProductId = stn.Summary.productId; stockTransferNoteItem.ProductCode = stn.Summary.productCode; stockTransferNoteItem.ProductName = stn.Summary.productName; stockTransferNoteItem.UomId = stn.Summary.uomId; stockTransferNoteItem.UomUnit = stn.Summary.uom; stockTransferNoteItem.StockQuantity = stn.Summary.quantity; stockTransferNoteItem.TransferedQuantity = stn.TransferedQuantity != null ? (double)stn.TransferedQuantity: 0; model.StockTransferNoteItems.Add(stockTransferNoteItem); } return(model); }
public void Should_Success_ValidateNullDetailVM() { InventorySummaryRepository inventorySummaryRepository = new InventorySummaryRepository(serviceProvider.Object, inventoryDbContext); serviceProvider.Setup(s => s.GetService(typeof(IInventorySummaryRepository))) .Returns(inventorySummaryRepository); InventoryMovementRepository inventoryMovementRepository = new InventoryMovementRepository(serviceProvider.Object, inventoryDbContext); serviceProvider.Setup(s => s.GetService(typeof(IInventoryMovementRepository))) .Returns(inventoryMovementRepository); InventoryDocumentRepository inventoryDocumentRepository = new InventoryDocumentRepository(serviceProvider.Object, inventoryDbContext); serviceProvider.Setup(s => s.GetService(typeof(IInventoryDocumentRepository))) .Returns(inventoryDocumentRepository); StockTransferNoteRepository repository = new StockTransferNoteRepository(serviceProvider.Object, inventoryDbContext); var vm = new StockTransferNoteViewModel() { StockTransferNoteItems = new List <StockTransferNoteItemViewModel>() { new StockTransferNoteItemViewModel() } }; ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null); var response = vm.Validate(validationContext); Assert.True(response.Count() > 0); }
public void Should_Success_ValidateNullDetailVM() { var serviceProvider = GetServiceProvider(); InventorySummaryService inventorySummaryService = new InventorySummaryService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventorySummaryService))) .Returns(inventorySummaryService); InventoryMovementService inventoryMovementService = new InventoryMovementService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventoryMovementService))) .Returns(inventoryMovementService); InventoryDocumentService inventoryDocumentFacade = new InventoryDocumentService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventoryDocumentService))) .Returns(inventoryDocumentFacade); NewStockTransferNoteService service = new NewStockTransferNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod())); var vm = new StockTransferNoteViewModel() { StockTransferNoteItems = new List <StockTransferNote_ItemViewModel>() { new StockTransferNote_ItemViewModel() } }; ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null); var response = vm.Validate(validationContext); Assert.True(response.Count() > 0); }
public void Validate_Throws_ServiceValidationExeption() { Mock <IServiceProvider> serviceProvider = new Mock <IServiceProvider>(); StockTransferNoteViewModel viewModel = new StockTransferNoteViewModel(); ValidateService service = new ValidateService(serviceProvider.Object); Assert.Throws <ServiceValidationExeption>(() => service.Validate(viewModel)); }
public void Validate_When_TransferedQuantity_is_Greater_Than_Stock() { //Setup var serviceProvider = GetServiceProvider(); InventorySummaryService inventorySummaryService = new InventorySummaryService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventorySummaryService))) .Returns(inventorySummaryService); InventoryMovementService inventoryMovementService = new InventoryMovementService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventoryMovementService))) .Returns(inventoryMovementService); InventoryDocumentService inventoryDocumentFacade = new InventoryDocumentService(serviceProvider.Object, _dbContext(GetCurrentMethod())); serviceProvider.Setup(s => s.GetService(typeof(IInventoryDocumentService))) .Returns(inventoryDocumentFacade); NewStockTransferNoteService service = new NewStockTransferNoteService(serviceProvider.Object, _dbContext(GetCurrentMethod())); var vm = new StockTransferNoteViewModel() { StockTransferNoteItems = new List <StockTransferNote_ItemViewModel>() { new StockTransferNote_ItemViewModel() { Summary = new InventorySummaryViewModel() { productId = 1, productName = "productName", quantity = 1 }, TransferedQuantity = 2 }, new StockTransferNote_ItemViewModel() { Summary = new InventorySummaryViewModel() { productId = 1, productName = "productName" }, } } }; ValidationContext validationContext = new ValidationContext(vm, serviceProvider.Object, null); //Act var response = vm.Validate(validationContext); //Assert Assert.True(response.Count() > 0); }
public StockTransferNoteViewModel GetEmptyData() { StockTransferNoteViewModel Data = new StockTransferNoteViewModel(); Data.ReferenceNo = string.Empty; Data.ReferenceType = string.Empty; Data.SourceStorage = new StorageViewModel(); Data.TargetStorage = new StorageViewModel(); Data.StockTransferNoteItems = new List <StockTransferNote_ItemViewModel> { new StockTransferNote_ItemViewModel() }; return(Data); }
public StockTransferNoteViewModel MapToViewModel(StockTransferNote model) { StockTransferNoteViewModel viewModel = new StockTransferNoteViewModel(); PropertyCopier <StockTransferNote, StockTransferNoteViewModel> .Copy(model, viewModel); StorageViewModel SourceStorage = new StorageViewModel() { _id = model.SourceStorageId, code = model.SourceStorageCode, name = model.SourceStorageName }; StorageViewModel TargetStorage = new StorageViewModel() { _id = model.TargetStorageId, code = model.TargetStorageCode, name = model.TargetStorageName }; viewModel.SourceStorage = SourceStorage; viewModel.TargetStorage = TargetStorage; viewModel.StockTransferNoteItems = new List <StockTransferNote_ItemViewModel>(); if (model.StockTransferNoteItems != null) { foreach (StockTransferNote_Item stn in model.StockTransferNoteItems) { StockTransferNote_ItemViewModel stockTransferNoteItemViewModel = new StockTransferNote_ItemViewModel(); PropertyCopier <StockTransferNote_Item, StockTransferNote_ItemViewModel> .Copy(stn, stockTransferNoteItemViewModel); InventorySummaryViewModel Summary = new InventorySummaryViewModel() { productId = stn.ProductId, productCode = stn.ProductCode, productName = stn.ProductName, quantity = stn.StockQuantity, uomId = stn.UomId, uom = stn.UomUnit }; stockTransferNoteItemViewModel.Summary = Summary; viewModel.StockTransferNoteItems.Add(stockTransferNoteItemViewModel); } } return(viewModel); }
public StockTransferNoteViewModel MapToViewModel(StockTransferNote model) { StockTransferNoteViewModel viewModel = new StockTransferNoteViewModel(); PropertyCopier <StockTransferNote, StockTransferNoteViewModel> .Copy(model, viewModel); CodeNameViewModel SourceStorage = new CodeNameViewModel() { Id = model.SourceStorageId, Code = model.SourceStorageCode, Name = model.SourceStorageName }; CodeNameViewModel TargetStorage = new CodeNameViewModel() { Id = model.TargetStorageId, Code = model.TargetStorageCode, Name = model.TargetStorageName }; viewModel.SourceStorage = SourceStorage; viewModel.TargetStorage = TargetStorage; viewModel.StockTransferNoteItems = new List <StockTransferNoteItemViewModel>(); if (model.StockTransferNoteItems != null) { foreach (StockTransferNoteItem stn in model.StockTransferNoteItems) { StockTransferNoteItemViewModel stockTransferNoteItemViewModel = new StockTransferNoteItemViewModel(); PropertyCopier <StockTransferNoteItem, StockTransferNoteItemViewModel> .Copy(stn, stockTransferNoteItemViewModel); InventorySummaryViewModel Summary = new InventorySummaryViewModel() { ProductId = int.TryParse(stn.ProductId, out int prdId) ? prdId : 0, ProductCode = stn.ProductCode, ProductName = stn.ProductName, Quantity = stn.StockQuantity, UomId = int.TryParse(stn.UomId, out int unitId) ? unitId : 0, Uom = stn.UomUnit }; stockTransferNoteItemViewModel.Summary = Summary; viewModel.StockTransferNoteItems.Add(stockTransferNoteItemViewModel); } } return(viewModel); }
public StockTransferNoteViewModel GetEmptyData() { StockTransferNoteViewModel data = new StockTransferNoteViewModel { ReferenceNo = string.Empty, ReferenceType = string.Empty, SourceStorage = new CodeNameViewModel(), TargetStorage = new CodeNameViewModel(), StockTransferNoteItems = new List <StockTransferNoteItemViewModel> { new StockTransferNoteItemViewModel() } }; return(data); }
public void CreateInventoryDocument(StockTransferNote Model, string Type, string Context) { StockTransferNoteViewModel ViewModel = MapToViewModel(Model); string inventoryDocumentURI = "inventory/inventory-documents"; HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token); /* Create Inventory Document */ List <InventoryDocumentItemViewModel> inventoryDocumentItems = new List <InventoryDocumentItemViewModel>(); foreach (StockTransferNote_ItemViewModel stni in ViewModel.StockTransferNoteItems) { InventoryDocumentItemViewModel inventoryDocumentItem = new InventoryDocumentItemViewModel { productId = stni.Summary.productId, productCode = stni.Summary.productCode, productName = stni.Summary.productName, quantity = stni.TransferedQuantity != null ? (double)stni.TransferedQuantity : 0, uomId = stni.Summary.uomId, uom = stni.Summary.uom }; inventoryDocumentItems.Add(inventoryDocumentItem); } InventoryDocumentViewModel inventoryDocument = new InventoryDocumentViewModel { date = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), referenceNo = Model.ReferenceNo, referenceType = Model.ReferenceType, type = Type, storageId = string.Equals(Context.ToUpper(), "CREATE") || string.Equals(Context.ToUpper(), "DELETE-SOURCE") ? Model.SourceStorageId : Model.TargetStorageId, storageCode = string.Equals(Context.ToUpper(), "CREATE") || string.Equals(Context.ToUpper(), "DELETE-SOURCE") ? Model.SourceStorageCode : Model.TargetStorageCode, storageName = string.Equals(Context.ToUpper(), "CREATE") || string.Equals(Context.ToUpper(), "DELETE-SOURCE") ? Model.SourceStorageName : Model.TargetStorageName, items = inventoryDocumentItems }; var response = httpClient.PostAsync($"{APIEndpoint.Inventory}{inventoryDocumentURI}", new StringContent(JsonConvert.SerializeObject(inventoryDocument).ToString(), Encoding.UTF8, General.JsonMediaType)).Result; response.EnsureSuccessStatusCode(); }
public async Task <int> CreateInventoryDocument(StockTransferNote Model, string Type, string Context) { StockTransferNoteViewModel ViewModel = MapToViewModel(Model); IHttpServiceRepository httpClient = (IHttpServiceRepository)this.ServiceProvider.GetService(typeof(IHttpServiceRepository)); /* Create Inventory Document */ List <InventoryDocumentItem> inventoryDocumentItems = new List <InventoryDocumentItem>(); foreach (StockTransferNoteItemViewModel stni in ViewModel.StockTransferNoteItems) { InventoryDocumentItem inventoryDocumentItem = new InventoryDocumentItem { ProductId = stni.Summary.ProductId, ProductCode = stni.Summary.ProductCode, ProductName = stni.Summary.ProductName, Quantity = stni.TransferedQuantity != null ? (double)stni.TransferedQuantity : 0, UomId = stni.Summary.UomId, UomUnit = stni.Summary.Uom }; inventoryDocumentItems.Add(inventoryDocumentItem); } InventoryDocument inventoryDocument = new InventoryDocument { Date = DateTimeOffset.UtcNow, ReferenceNo = Model.ReferenceNo, ReferenceType = Model.ReferenceType, Type = Type, StorageId = string.Equals(Context.ToUpper(), "CREATE") || string.Equals(Context.ToUpper(), "DELETE-SOURCE") ? int.Parse(Model.SourceStorageId) : int.Parse(Model.TargetStorageId), StorageCode = string.Equals(Context.ToUpper(), "CREATE") || string.Equals(Context.ToUpper(), "DELETE-SOURCE") ? Model.SourceStorageCode : Model.TargetStorageCode, StorageName = string.Equals(Context.ToUpper(), "CREATE") || string.Equals(Context.ToUpper(), "DELETE-SOURCE") ? Model.SourceStorageName : Model.TargetStorageName, Items = inventoryDocumentItems }; var inventoryDocumentFacade = ServiceProvider.GetService <IInventoryDocumentRepository>(); return(await inventoryDocumentFacade.Create(inventoryDocument)); }
public void Fail_Throws_Exception() { //Setup string ApiVersion = "V1"; int StatusCode = 200; string Message = "OK"; StockTransferNoteViewModel viewModel = new StockTransferNoteViewModel(); ResultFormatter formatter = new ResultFormatter(ApiVersion, StatusCode, Message); ValidationContext validationContext = new ValidationContext(viewModel); var exception = new ServiceValidationExeption(validationContext, new List <ValidationResult>() { new ValidationResult("errorMessaage", new List <string>() { "WarningError" }) }); //Act var result = formatter.Fail(exception); //Assert Assert.True(0 < result.Count()); }