Ejemplo n.º 1
0
        public IHttpActionResult PostOrder(OrderCreateVM model)
        {
            if (ModelState.IsValidField(nameof(model.SessionID)))
            {
                var session = _context.Sessions.Find(model.SessionID);
                if (session == null)
                {
                    ModelState.AddModelError(nameof(model.SessionID), "Сеанс не найден");
                }
                else
                {
                    if (session.StartingDate < DateTime.Now.AddMinutes(-30.0))
                    {
                        ModelState.AddModelError(nameof(model.SessionID), "Запись на идущий сеанс запрещена");
                    }
                }
            }
            if (ModelState.IsValid)
            {
                var entityModel = new Order()
                {
                    SessionID = model.SessionID,
                    Count     = model.Count
                };

                _context.Set <Order>().Add(entityModel);
                _context.SaveChanges();

                return(Ok());
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public void PostOrder()
        {
            var data = new List <Session>()
            {
                new Session()
                {
                    ID     = 1,
                    FilmID = 2
                }
            };

            var mockSet        = new Mock <DbSet <Order> >();
            var mockSetSession = new Mock <DbSet <Session> >().SetupData(data);

            var context = new Mock <EFContext>();

            context.Setup(x => x.SaveChanges()).Returns(() => 1);
            context.Setup(m => m.Orders).Returns(mockSet.Object);
            context.Setup(m => m.Sessions).Returns(mockSetSession.Object);

            var controller = new OrderApiController(context.Object);
            var model      = new OrderCreateVM();

            controller.Request = new HttpRequestMessage();
            controller.Request.SetConfiguration(new HttpConfiguration());
            controller.Validate(model);

            //model null
            var result = controller.PostOrder(model);

            Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult));

            // invalid sessionID
            controller.ModelState.Clear();
            model.SessionID = 10;
            controller.Validate(model);
            result = controller.PostOrder(model);

            Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult));

            // count = -10;
            controller.ModelState.Clear();
            model.Count = -10;
            controller.Validate(model);
            result = controller.PostOrder(model);

            Assert.IsInstanceOfType(result, typeof(InvalidModelStateResult));

            //success
            controller.ModelState.Clear();
            model.SessionID = 1;
            model.Count     = 1;
            controller.Validate(model);
            result = controller.PostOrder(model);

            Assert.IsInstanceOfType(result, typeof(OkResult));
        }
Ejemplo n.º 3
0
        public IActionResult CreateOrder(OrderCreateVM VM)
        {
            if (!User.Identity.IsAuthenticated)// если неавторизован то редирект на авторизацию
            {
                Uri location = new Uri($"{Request.Scheme}://{Request.Host}/Account/Login");
                return(Redirect(location.AbsoluteUri));
            }

            VM.order.USER_ADD.ID_USER = Convert.ToInt64(User.Identity.Name);// присваиваем, кто добавляет пользователя

            long ID_ZAKAZ = VM.order.Save();

            Uri locat = new Uri($"{Request.Scheme}://{Request.Host}/Home/DetailOrder?ID_ZAKAZ={ID_ZAKAZ}");

            return(Redirect(locat.AbsoluteUri));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("Receiver,Company,Date,Amount,Reason")] OrderCreateVM order)
        {
            var num = 0;

            if (_context.Orders.Where(c => c.Company.Id == int.Parse(order.Company) && c.Date.Year == order.Date.Year).Any())
            {
                var a = _context.Orders.LastOrDefault(c => c.Company.Id == int.Parse(order.Company) && c.Date.Year == order.Date.Year).Number;
                num = _context.Orders.LastOrDefault(c => c.Company.Id == int.Parse(order.Company) && c.Date.Year == order.Date.Year).Number + 1;
            }

            if (num == 0)
            {
                num++;
            }

            var entity = new Order()
            {
                Number   = num,
                Reason   = order.Reason,
                Company  = _context.Companies.FirstOrDefault(c => c.Id == int.Parse(order.Company)),
                Date     = order.Date,
                Receiver = order.Receiver,
                Amount   = order.Amount
            };

            if (ModelState.IsValid)
            {
                _context.Add(entity);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }


            order.Companies = _context.Companies.Select(c =>

                                                        new SelectListItem()
            {
                Value = c.Id.ToString(),
                Text  = c.Name
            }

                                                        ).ToList();

            return(View(order));
        }
Ejemplo n.º 5
0
        // GET: Orders/Create
        public IActionResult Create()
        {
            var vm = new OrderCreateVM
            {
                Companies = _context.Companies.Select(c =>

                                                      new SelectListItem()
                {
                    Value = c.Id.ToString(),
                    Text  = c.Name
                }

                                                      ).ToList()
            };

            return(View(vm));
        }
Ejemplo n.º 6
0
 public ActionResult Create(OrderCreateVM vm)
 {
     try
     {
         vm.Product = _productCategoryRepository.find(vm.ProductID, vm.CategoryID);
         vm.Product = _productCategoryRepository.GetProduct(vm.ProductCatID);
         _orderRepository.save(vm);
         Response.StatusCode = 200;
         return(Json(new
         {
             param1 = vm,
             param2 = _MESSAGES.SUCCESS
         }));
     }
     catch (Exception)
     {
         Response.StatusCode = 400;
         throw;
     }
 }
Ejemplo n.º 7
0
 // GET: Order
 public ActionResult Create()
 {
     try
     {
         OrderCreateVM       vm          = new OrderCreateVM();
         var                 products    = _productRepository.GetAll();
         List <DDLProductVM> productList = new List <DDLProductVM>();
         AutoMapper.Mapper.Map(products, productList);
         vm.Products = productList;
         var categories = new List <CategoryVM>();
         categories.Add(new CategoryVM {
             ID = 0, CategoryName = "Select Category"
         });
         vm.Categories = categories;
         return(View(vm));
     }
     catch (Exception ex)
     {
         Response.StatusCode = 400;
         throw ex;
     }
 }
Ejemplo n.º 8
0
        public IActionResult CreateOrder(long ID_ZAKAZ)
        {
            if (!User.Identity.IsAuthenticated)// если неавторизован то редирект на авторизацию
            {
                Uri location = new Uri($"{Request.Scheme}://{Request.Host}/Account/Login");
                return(Redirect(location.AbsoluteUri));
            }


            OrderCreateVM VM;

            if (ID_ZAKAZ == 0)
            {
                VM = new OrderCreateVM();
            }
            else
            {
                VM = new OrderCreateVM(ID_ZAKAZ);
            }


            return(View(VM));
        }
Ejemplo n.º 9
0
        public void save(OrderCreateVM vm)
        {
            try
            {
                OrderBookTbl order = new OrderBookTbl();
                if (vm.ID == 0)
                {
                    order.Name         = vm.Name;
                    order.MobileNumber = vm.MobileNumber;
                    order.Address      = vm.Address;
                    order.DeliveryDate = vm.DeliveryDate;
                    order.OrderDate    = vm.OrderDate;

                    _MarbalContext.Entry(order).State = EntityState.Added;
                    //_MarbalContext.SaveChanges();
                }

                OrderBookDetailTbl orderDetail = new OrderBookDetailTbl();
                orderDetail.OrderBookTbl       = order;
                orderDetail.Detail             = vm.Detail;
                orderDetail.ProductCategoryTbl = vm.Product;
                orderDetail.Length             = vm.Length;
                orderDetail.Width                       = vm.Width;
                orderDetail.ItemsCount                  = vm.ItemsCount;
                orderDetail.TotalSize                   = vm.Length * vm.Width;
                orderDetail.SingleSizePrice             = vm.SingleSizePrice;
                orderDetail.ItemTotalPrice              = vm.ItemsCount * vm.SingleSizePrice;
                _MarbalContext.Entry(orderDetail).State = EntityState.Added;
                _MarbalContext.SaveChanges();
                vm.ID = order.ID;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }