public void EditProductGoodsUseCaseEqualTest() { EditProductGoodsRequest editProductGoodsRequest = new EditProductGoodsRequest (id, unit, tareChange, count, provider, datetime, category, class_, expDate, arrivedGoods, 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); EditProductGoodsResponse editProductGoodsResponse = useCaseFactory.Create <IUseCase <EditProductGoodsRequest, EditProductGoodsResponse> >().Execute(editProductGoodsRequest); Assert.AreEqual(editProductGoodsResponse.Products[0].Unit, unit); Assert.AreEqual(editProductGoodsResponse.Products[0].Returned, returned); Assert.AreEqual(editProductGoodsResponse.Products[0].ArrivedGoods.Id, arrivedGoods.Id); Assert.AreEqual(editProductGoodsResponse.Products[0].Count, int.Parse(count)); }
public void EditProductGoodsUseCaseNotEqualTest() { Exception exception = null; try { IRepositoryFactory repositoryFactory = new RepositoryFactory(new DBContext()); IActivityFactory activityFactory = new ActivityFactory(repositoryFactory, new ValidationRuleFactory()); IUseCaseFactory useCaseFactory = new UseCaseFactory(activityFactory); EditProductGoodsRequest editProductGoodsRequest = new EditProductGoodsRequest (id, unit, tareChange, "", provider, datetime, category, class_, expDate, arrivedGoods, allPurchasePrice, allSalePrice, department, seller, returned, returnedDate, writenOff); EditProductGoodsResponse editProductGoodsResponse = useCaseFactory.Create <IUseCase <EditProductGoodsRequest, EditProductGoodsResponse> >().Execute(editProductGoodsRequest); } catch (Exception ex) { exception = ex; } Assert.AreEqual(exception.Message, "Count must have digits only"); }
public async Task <OperationStatusInfo> EditProductGoods(object editedProduct, object editedArrivedGoods) { return(await Task.Run(() => { Dictionary <Type, object> collection = new Dictionary <Type, object>(); OperationStatusInfo operationStatusInfo = new OperationStatusInfo(operationStatus: OperationStatus.Done); string attachedProductObjectText = editedProduct.ToString(); string attachedArrivedGoodsObjectText = editedArrivedGoods.ToString(); Product newProduct = JsonConvert.DeserializeObject <Product>(attachedProductObjectText); ArrivedGoods newArrivedGoods = JsonConvert.DeserializeObject <ArrivedGoods>(attachedArrivedGoodsObjectText); EditProductGoodsRequest editProductGoodsRequest = new EditProductGoodsRequest(newProduct.Id, newProduct.Unit, newProduct.TareChange, newArrivedGoods.Count.ToString(), newArrivedGoods.Provider, newArrivedGoods.DateTime.ToString(), newProduct.Category, newProduct.Class, newProduct.ExpirationDate.ToString(), newArrivedGoods, newArrivedGoods.AllPurchasePrice.ToString(), newArrivedGoods.AllSalesPrice.ToString(), newArrivedGoods.Department, newArrivedGoods.Seller, newProduct.Returned, newProduct.ReturnedDate.ToString(), newProduct.WritenOff); try { EditProductGoodsResponse editProductGoodsResponse = hubEnvironment.UseCaseFactory .Create <IUseCase <EditProductGoodsRequest, EditProductGoodsResponse> >() .Execute(editProductGoodsRequest); collection.Add(typeof(List <ArrivedGoods>), editProductGoodsResponse.ArrivedGoods); collection.Add(typeof(List <Product>), editProductGoodsResponse.Products); operationStatusInfo.AttachedObject = collection; operationStatusInfo.AttachedInfo = "Product is updated!"; } catch (Exception ex) { Console.WriteLine(ex.Message); operationStatusInfo.OperationStatus = OperationStatus.Cancelled; operationStatusInfo.AttachedInfo = ex.Message; } return operationStatusInfo; })); }