public IActionResult PostOrder([FromBody] OrderViewModel orderVmdl)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var vmdls = SplitOrders(orderVmdl);

                vmdls.ForEach(i =>
                {
                    var order = _bl.CreateOrder();
                    i.ApplyChanges(order, _bl);
                    i.LoadOrderItems(order).Refresh(order);
                });

                _bl.SaveChanges();
                vmdls.ForEach(i =>
                {
                    Task task = new Task(() => SendMail(i));
                    task.Start();
                    _log.LogInformation("Order '{0}' created by '{1}'", i.OrderGuid, User.Identity.Name);
                });


                return(Ok(vmdls));
            }
            catch (Exception ex)
            {
                _log.LogError("Exception: {0}", ex);
                return(StatusCode(500));
            }
        }
Exemple #2
0
        public void bl_should_create_order()
        {
            var obj = _bl.CreateOrder();

            Assert.NotNull(obj);
            obj.OrderId   = 1;
            obj.OrderGuid = Guid.NewGuid();
        }