Esempio n. 1
0
        public async Task <IActionResult> RequestTrade([FromBody] BuyerDto user)
        {
            if (user == null)
            {
                return(BadRequest());
            }

            string userJson = JsonConvert.SerializeObject(user);
            HttpResponseMessage response = await client.PutAsync(TraderBrokerApiRequestTradeUri + "/" + user.StockTradeId + "/buy", new StringContent(userJson, Encoding.UTF8, "application/json"));

            if (response.IsSuccessStatusCode)
            {
                string responseResult = await response.Content.ReadAsStringAsync();

                StockTrade stockTradeResponse = JsonConvert.DeserializeObject <StockTrade>(responseResult);
                if (stockTradeResponse != null && stockTradeResponse.StockTransferComplete != false && stockTradeResponse.TransactionComplete != false)
                {
                    return(Ok(stockTradeResponse));
                }
                else
                {
                    return(BadRequest("Something went wrong"));
                }
            }
            return((IActionResult)response);
        }
        public async Task <IActionResult> AddBuyerToTrade(int tradeId, [FromBody] BuyerDto buyerdto)
        {
            if (tradeId != buyerdto.StockTradeId)
            {
                return(BadRequest("Trade id doesnt match"));
            }
            StockTrade stockTrade = _stockTraderBrokerService.UpdateBuyerOnStockTrade(buyerdto.StockTradeId, buyerdto.StockBuyerId);

            if (stockTrade == null)
            {
                return(BadRequest($"No trades with the id found"));
            }

            string json = JsonConvert.SerializeObject(stockTrade);

            HttpResponseMessage response = await _client.PostAsync(_tobinApiString, new StringContent(json, Encoding.UTF8, "application/json"));

            string responseResult = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                var stockTradeResponse = JsonConvert.DeserializeObject <StockTrade>(responseResult);
                _stockTraderBrokerService.DeleteStockTrade(stockTradeResponse.Id);
                return(Ok(stockTradeResponse));
            }
            else
            {
                return((IActionResult)response);
            }
        }
Esempio n. 3
0
        public async Task <OrderDto> CreateOrderAsync(BuyerDto buyerDto, AddressDto addressDto, string comment)
        {
            var basket = await UnitOfWork.BasketRepository
                         .FindOneAsync(new BasketWithBasketProductsByUserOrAnonymousSpec(buyerDto.UserOrAnonymousId));

            if (basket is null)
            {
                throw new BasketNotExistException();
            }
            if (basket.BasketProducts?.Count < 1)
            {
                throw new BasketIsEmptyException();
            }

            var order = new Order
            {
                Date    = DateTimeOffset.UtcNow,
                Comment = comment,
                Status  = DeliveryStatus.Statement,
                Buyer   = Mapper.Map <Buyer>(buyerDto),
            };

            order.Address       = (await UnitOfWork.AddressRepository.FindByIdAsync(addressDto.Id)) ?? Mapper.Map <Address>(addressDto);
            order.OrderProducts = Mapper.Map <IEnumerable <OrderProduct> >(basket.BasketProducts)?.ToList();

            UnitOfWork.OrderRepository.Add(order);
            UnitOfWork.BasketProductRepository.RemoveRange(basket.BasketProducts);
            await UnitOfWork.SaveChangesAsync();

            return(Mapper.Map <OrderDto>(order));
        }
        public IActionResult PutBuyyer([FromBody] BuyerDto buyerDto)
        {
            if (buyerDto == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            //var model = ProductService.Current.Products.SingleOrDefault(x => x.Id == id);
            var model = _productRepository.GetBuyer(buyerDto.Account);

            // _productRepository.g
            if (model == null)
            {
                return(NotFound());
            }
            //这个方法会把第一个对象相应的值赋给第二个对象上
            Mapper.Map(buyerDto, model);
            if (!_productRepository.Save())
            {
                return(StatusCode(500, "保存产品出错"));
            }
            return(NoContent());
        }
        public BuyerDto GetBuyer()
        {
            var eventObj = _EventRepository.GetEventDetail();
            var objBuyer = new BuyerDto();

            objBuyer.Event = eventObj;
            return(objBuyer);
        }
Esempio n. 6
0
        public async Task <BuyerDto> GetById(int id)
        {
            var      data  = _context.BuyerParticipant.Find(id);
            BuyerDto model = new BuyerDto()
            {
            };

            return(model);
        }
        public void SaveBuyer(BuyerDto obj)
        {
            Buyer b = new Buyer();

            b.TesterKey = "dipalibhadeliya";
            b.EventId   = obj.EventId;
            b.BuyerName = obj.BuyerName;
            context.Buyer.Add(b);
            context.SaveChanges();
        }
Esempio n. 8
0
        public async void Update(BuyerDto model)
        {
            var data = _context.BuyerParticipant.Find(model.Id);

            if (data != null)
            {
                data.Description = model.Description;
                data.ReferenceNo = model.ReferenceNo;
                data.Id          = model.Id;
                data.ChainId     = model.ChainId;
                data.UserId      = model.UserId;
                _context.BuyerParticipant.Update(data);
                _context.SaveChanges();
            }
        }
Esempio n. 9
0
        public async Task <IActionResult> Create(
            [FromForm(Name = "buyer")] BuyerDto buyerDto,
            [FromForm(Name = "address")] AddressDto addressDto,
            [FromForm] string comment)
        {
            try
            {
                var orderDto = await _orderService.CreateOrderAsync(buyerDto, addressDto, comment);

                return(CreatedAtAction(nameof(GetOrderById), new { id = orderDto.Id }, orderDto));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
Esempio n. 10
0
        public async Task <BuyerDto> Create(BuyerDto model)
        {
            // validation
            BuyerParticipant data = new BuyerParticipant()
            {
                Description = model.Description,
                ReferenceNo = model.ReferenceNo,
                Id          = model.Id,
                ChainId     = model.ChainId,
                UserId      = model.UserId
            };

            _context.BuyerParticipant.Add(data);
            _context.SaveChanges();
            model.Id = data.Id;
            return(model);
        }
Esempio n. 11
0
        public void Joining_a_sale()
        {
            var connectionMock = new Mock <IStockItemConnection>();

            new BuyerViewModel("ItemId", 10, 1, "Buyer",
                               connectionMock.Object, new BuyerRepository(ConnectionString));

            BuyerDto buyer = DB.GetBuyer("ItemId");

            buyer.BuyerName.ShouldEqual("Buyer");
            buyer.MaximumPrice.ShouldEqual(10);
            buyer.NumberToBuy.ShouldEqual(1);
            buyer.State.ShouldEqual(BuyerState.Joining);
            buyer.BoughtSoFar.ShouldEqual(0);
            buyer.CurrentPrice.ShouldEqual(0);
            buyer.NumberInStock.ShouldEqual(0);
        }
 public JsonResult SaveBuyTckit(BuyerDto obj)
 {
     try
     {
         if (ModelState.IsValid)
         {
             _BuyerRepository.SaveBuyer(obj);
             return(Json(new { success = true }));
         }
         else
         {
             return(Json(new { success = false }));
         }
     }
     catch (Exception e)
     {
         return(Json(new { success = false, data = e.Message }));
     }
 }
Esempio n. 13
0
        public void Buying_an_item()
        {
            var connectionMock = new Mock <IStockItemConnection>();

            new BuyerViewModel("ItemId", 10, 1, "Buyer", connectionMock.Object,
                               new BuyerRepository(ConnectionString));

            connectionMock.Raise(x => x.MessageReceived += null,
                                 "Event: PRICE; CurrentPrice: 5; NumberInStock: 5");

            BuyerDto buyer = DB.GetBuyer("ItemId");

            buyer.BuyerName.ShouldEqual("Buyer");
            buyer.MaximumPrice.ShouldEqual(10);
            buyer.NumberToBuy.ShouldEqual(1);
            buyer.State.ShouldEqual(BuyerState.Buying);
            buyer.BoughtSoFar.ShouldEqual(0);
            buyer.CurrentPrice.ShouldEqual(5);
            buyer.NumberInStock.ShouldEqual(5);
            connectionMock.Verify(x => x.SendMessage("Command: BUY; Price: 5; Number: 1"));
        }
        public DataAgent <long> Update(BuyerDto input)
        {
            var result = new DataAgent <long>();

            try
            {
                result.Data = DbConnection.Query <BuyerDto, CityDto, BuyerStatusDto, long>(
                    StoredProcedures.BuyerUpdate,
                    (buyer, city, status) =>
                {
                    buyer.City        = city;
                    buyer.BuyerStatus = status;
                    return(buyer.Id);
                },
                    new
                {
                    input.Id,
                    input.FirstName,
                    input.LastName,
                    input.ShippingAddress,
                    input.Phone,
                    input.Password,
                    input.Email,
                    input.Birthday,
                    CityId        = input.City.Id,
                    BuyerStatusId = input.BuyerStatus.Id
                },
                    splitOn: "Name",
                    commandType: CommandType.StoredProcedure
                    ).SingleOrDefault();
            }
            catch (Exception ex)
            {
                result.ResponseMessage = ex.Message;
            }
            return(result);
        }
Esempio n. 15
0
 public IActionResult Put(int id, [FromBody] BuyerDto value)
 {
     _service.Update(value);
     return(Ok());
 }