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)); }
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)); }
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)); }
// 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)); }
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; } }
// 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; } }
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)); }
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; } }