Пример #1
0
        public async Task <IActionResult> PutSalesOrder([FromRoute] int id, [FromBody] ViewModel.SalesOrder salesOrder)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != salesOrder.Id)
            {
                return(BadRequest());
            }
            var salesOrderCore = _mapper.Map <Core.Model.SalesOrder>(salesOrder);
            var response       = await salesOrderRepository.UpdateAsync(salesOrderCore);

            //_context.Entry(salesOrderCore).State = EntityState.Modified;

            /*
             *          try
             *          {
             *                  await _context.SaveChangesAsync();
             *          }
             *          catch (DbUpdateConcurrencyException)
             *          {
             *                  if (!SalesOrderExists(id))
             *                  {
             *                          return NotFound();
             *                  }
             *                  else
             *                  {
             *                          throw;
             *                  }
             *          }
             */
            return(Ok(salesOrder));
        }
Пример #2
0
        public async Task <IActionResult> PostSalesOrder([FromBody] ViewModel.SalesOrder salesOrder)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var salesOrderCore = _mapper.Map <Core.Model.SalesOrder>(salesOrder);

            if (await UserExists(salesOrder.BuyerID))
            {
                //var buyer = await _context.Users.FindAsync(salesOrder.BuyerID);
                var buyer = await userRepository.GetAsync(salesOrder.BuyerID);

                //USER REPOSITORY
                salesOrderCore.Buyer = buyer;
            }

            /*
             * if (await UserExists(salesOrder.TraderID))
             * {
             * //var trader = await _context.Users.FindAsync(salesOrder.TraderID);
             * var trader = await userRepository.GetAsync(salesOrder.TraderID);
             * //USER REPOSITORY
             * salesOrderCore.Trader = trader;
             * }*/
            salesOrderCore.Trader = null;
            salesOrder.TraderID   = 0;

            //_context.SalesOrders.Add(salesOrderCore);
            await salesOrderRepository.CreateAsync(salesOrderCore);

            //await _context.SaveChangesAsync();

            return(CreatedAtAction("GetSalesOrder", new { id = salesOrder.Id }, salesOrder));
        }