public void PostDealItem_InvalidMaterialId_ShouldBeBadRequest() { //init var materialsResult = materialController.GetMaterials(1, int.MaxValue).GetObject <PagedResult <Material> >().Queryable.Select(x => x.Id).ToList(); var deals = dealController.Deals(1, int.MaxValue).GetObject <PagedResult <Deal> >().Queryable.ToArray(); var materialIdArb = Arb.Generate <int>().Where(i => !materialsResult.Contains(i)).ToArbitrary(); var dealsGen = ControllerHelper.ChooseFrom(deals); Prop.ForAll(materialIdArb, (materialId) => { var deal = dealsGen.Sample(0, 1).Head; var dealItem = new DealItem { DealId = deal.Id, MaterialId = materialId, PricePerOne = Gen.Choose(1, 1000000).Sample(0, 1).Head, Quantity = Gen.Choose(1, 1000).Sample(0, 1).Head }; //execution var result = sut.PostDealItem(dealItem).Result; //assertion Assert.IsInstanceOf <BadRequestResult>(result); }).QuickCheckThrowOnFailure(); }
public async Task <IActionResult> PutDealItem([FromRoute] int id, [FromBody] DealItem dealItem) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != dealItem.Id) { return(BadRequest()); } _context.Entry(dealItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DealItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public void PostDealItem_InvalidQuantity_ShoulBeBadRequest() { //init var materialsResult = materialController.GetMaterials(1, int.MaxValue).GetObject <PagedResult <Material> >().Queryable.ToArray(); var deals = dealController.Deals(1, int.MaxValue).GetObject <PagedResult <Deal> >().Queryable.ToArray(); var materialsGen = ControllerHelper.ChooseFrom(materialsResult); var dealsGen = ControllerHelper.ChooseFrom(deals); Prop.ForAll <int[]>((i) => { var material = materialsGen.Sample(0, 1).Head; var deal = dealsGen.Sample(0, 1).Head; var dealItem = new DealItem { DealId = deal.Id, MaterialId = material.Id, PricePerOne = Gen.Choose(1, 1000000).Sample(0, 1).Head, Quantity = Gen.Choose(-1000000, -1).Sample(0, 1).Head }; //execution var result = sut.PostDealItem(dealItem).Result; //assertion Assert.IsInstanceOf <BadRequestResult>(result); }).QuickCheckThrowOnFailure(); }
// public HashSet <MyTextValue> GetDealItemList() { string key = "DEAL_ITEM"; if (null == _Cache[key]) { HashSet <MyTextValue> categories = new HashSet <MyTextValue>(); CacheItemPolicy policy = CreateCacheItemPolicy(); var query = DealItem.GetAll() .Select(x => new MyTextValue { Text = x.Text, Value = x.Value, Disabled = true } ).ToList(); categories = new HashSet <MyTextValue>(query); _Cache.Set(key, categories, policy); } return((HashSet <MyTextValue>)_Cache[key]); }
public virtual IEnumerable<DealItem> GetDeals() { Uri feedUri = new Uri(FeedURL); XmlReader reader = XmlReader.Create(feedUri.ToString()); SyndicationFeed feed = null; List<DealItem> dealItems = new List<DealItem>(); try { feed = SyndicationFeed.Load(reader); }catch(Exception ex) { throw; } if(feed != null) { IEnumerable<SyndicationItem> syndicationItems = feed.Items; foreach(SyndicationItem syndicationItem in syndicationItems) { DealItem item = new DealItem(); item.Title = syndicationItem.Title.Text; item.URI = syndicationItem.Links[0].Uri; dealItems.Add(item); } } return dealItems; }
public void TestAddDeal() { OrderItemManager or = new OrderItemManager(); or.AddItem(new Item("13", 14, 24.0m)); or.AddDeal(new DealItem(2.0m, new DateTime(2002, 10, 18), new DateTime(2002, 10, 19), "13", 14, 24.0m)); DealItem deal = (DealItem)or.GetItems.First(); Assert.IsNotNull(deal.StartDate); }
public async Task <IActionResult> PostDealItem([FromBody] DealItem dealItem) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.DealItem.Add(dealItem); await _context.SaveChangesAsync(); return(CreatedAtAction("GetDealItem", new { id = dealItem.Id }, dealItem)); }
public void AddDeal_Should_Add_Deal_Item_To_The_List() { var dealItem = new DealItem { ItemNumber = "deal01" }; _orderManager.AddDeal(dealItem); var deal = _item.Items.Where(x => x.ItemNumber == dealItem.ItemNumber).SingleOrDefault(); Assert.AreEqual(true, deal.IsDealItem); }
private void JY_NewDeal(object sender, DealItem e) { Order order = null; int unit_id = 0; string[] keys = TradeRA.KeySearch("O_" + e.order_no + "_*"); if (keys.Length > 0) { order = OrderRA.Get(keys[0]); unit_id = order.unit_id; } string key = "D_" + e.deal_no + "_O_" + e.order_no + "_U_" + unit_id; if (TradeRA.KeyExists(key)) { return; } Deal deal = new Deal() { code = e.code, name = e.name, type = int.Parse(e.type), count = (int)decimal.Parse(e.count), money = decimal.Parse(e.money), time_dt = DateTime.Parse(e.date.ToDate() + " " + e.time.ToTime()), deal_no = e.deal_no, order_no = e.order_no, price = decimal.Parse(e.price), unit_id = unit_id, account_id = account_id, transferred = unit_id > 0 ? 0 : 1, }; DealRA.Add(deal, key); //更新成交均价 DealAveragePrice(deal); //系统内成交 if (unit_id > 0) { MessageBiz.Send(order.user_id.ToString(), MessageTypeEnum.Order_Dealt, "[" + deal.code + "]" + deal.name + "已成交,成交数量:" + deal.count); TradeBiz.NewDeal(deal, order.price); MonitorRA.Increment("account_" + account_id, "deal_count"); } }
public void PutDealItem_InvalidDealItem_ShouldBeNotFound() { //init var materialsResult = materialController.GetMaterials(1, int.MaxValue).GetObject <PagedResult <Material> >().Queryable.ToArray(); var deals = dealController.Deals(1, int.MaxValue).GetObject <PagedResult <Deal> >().Queryable.ToArray(); var materialsGen = ControllerHelper.ChooseFrom(materialsResult); var dealsGen = ControllerHelper.ChooseFrom(deals); var dealItems = new List <int>(); foreach (var item in deals) { var dealitemofdeal = sut.GetDealItemsOfDeal(item.Id).GetObject <IEnumerable <DealItem> >().ToList().Select(x => x.Id); dealItems.AddRange(dealitemofdeal); } var invalidDealItemArb = Arb.Generate <int>().Where(i => !dealItems.Contains(i)).ToArbitrary(); Prop.ForAll(invalidDealItemArb, (i) => { var deal = dealsGen.Sample(0, 1).Head; var dealItem = new DealItem(); var material = materialsGen.Sample(0, 1).Head; dealItem.MaterialId = material.Id; dealItem.DealId = deal.Id; var price = Gen.Choose(1, 1000000).Sample(0, 1).Head; dealItem.PricePerOne = price; var quantity = Gen.Choose(1, 1000).Sample(0, 1).Head; dealItem.Quantity = quantity; //execution var result = sut.PutDealItem(dealItem.Id, dealItem).Result; //assertion Assert.IsInstanceOf <NotFoundResult>(result); }).QuickCheckThrowOnFailure(); }