public void AddProductGoodsUseCaseEqualTest() { AddProductGoodsRequest addProductGoodsRequest = new AddProductGoodsRequest (unit, tareChange, count, provider, datetime, category, class_, expDate, allPurchasePrice, allSalePrice, department, seller, returned, returnedDate, writenOff); IRepositoryFactory repositoryFactory = new RepositoryFactory(new DBContext()); IActivityFactory activityFactory = new ActivityFactory(repositoryFactory, new ValidationRuleFactory()); IUseCaseFactory useCaseFactory = new UseCaseFactory(activityFactory); AddProductGoodsResponse addroductGoodsResponse = useCaseFactory.Create <IUseCase <AddProductGoodsRequest, AddProductGoodsResponse> >().Execute(addProductGoodsRequest); Assert.AreEqual(addroductGoodsResponse.Products[4].Unit, unit); Assert.AreEqual(addroductGoodsResponse.Products[4].Returned, returned); Assert.AreEqual(addroductGoodsResponse.Products[4].Count, int.Parse(count)); }
public void AddProductGoodsUseCaseNotEqualTest() { Exception exception = null; try { IRepositoryFactory repositoryFactory = new RepositoryFactory(new DBContext()); IActivityFactory activityFactory = new ActivityFactory(repositoryFactory, new ValidationRuleFactory()); IUseCaseFactory useCaseFactory = new UseCaseFactory(activityFactory); AddProductGoodsRequest addProductGoodsRequest = new AddProductGoodsRequest (unit, tareChange, "", provider, datetime, category, class_, expDate, allPurchasePrice, allSalePrice, department, seller, returned, returnedDate, writenOff); AddProductGoodsResponse addProductGoodsResponse = useCaseFactory.Create <IUseCase <AddProductGoodsRequest, AddProductGoodsResponse> >().Execute(addProductGoodsRequest); } catch (Exception ex) { exception = ex; } Assert.AreEqual(exception.Message, "Count must have digits only"); }
public async Task <OperationStatusInfo> AddProductGoods(object addedProduct, object addedArrivedGoods) { return(await Task.Run(() => { Dictionary <Type, object> collection = new Dictionary <Type, object>(); OperationStatusInfo operationStatusInfo = new OperationStatusInfo(operationStatus: OperationStatus.Done); string attachedProductObjectText = addedProduct.ToString(); string attachedArrivedGoodsObjectText = addedArrivedGoods.ToString(); Product newProduct = JsonConvert.DeserializeObject <Product>(attachedProductObjectText); ArrivedGoods newArrivedGoods = JsonConvert.DeserializeObject <ArrivedGoods>(attachedArrivedGoodsObjectText); AddProductGoodsRequest addProductGoodsRequest = new AddProductGoodsRequest(newProduct.Unit, newProduct.TareChange, newArrivedGoods.Count.ToString(), newArrivedGoods.Provider, newArrivedGoods.DateTime.ToString(), newProduct.Category, newProduct.Class, newProduct.ExpirationDate.ToString(), newArrivedGoods.AllPurchasePrice.ToString(), newArrivedGoods.AllSalesPrice.ToString(), newArrivedGoods.Department, newArrivedGoods.Seller, newProduct.Returned, newProduct.ReturnedDate.ToString(), newProduct.WritenOff); try { AddProductGoodsResponse addProductGoodsResponse = hubEnvironment.UseCaseFactory .Create <IUseCase <AddProductGoodsRequest, AddProductGoodsResponse> >() .Execute(addProductGoodsRequest); collection.Add(typeof(List <ArrivedGoods>), addProductGoodsResponse.ArrivedGoods); collection.Add(typeof(List <Product>), addProductGoodsResponse.Products); operationStatusInfo.AttachedObject = collection; operationStatusInfo.AttachedInfo = "Product is added!"; } catch (Exception ex) { Console.WriteLine(ex.Message); operationStatusInfo.OperationStatus = OperationStatus.Cancelled; operationStatusInfo.AttachedInfo = ex.Message; } return operationStatusInfo; })); }