Exemplo n.º 1
0
        public async Task <OrderCreateViewModel> AddOrder(OrderCreateViewModel model)
        {
            var order = new Order
            {
                isOrder     = true,
                report_date = model.reportDate,
                shop_id     = model.shopId
            };

            order.OrderDetails = model.products.Select(p => new OrderDetail
            {
                prod_id = p.id,
                cost    = p.price.Value,
                count   = p.count
            }).ToList();

            var id = 0;

            try
            {
                id = await ordersRepo.AddOrderAsync(order);

                var orderDal = await ordersRepo.GetByIdAsync(id);

                await strategy.UpdateAverageCost(Direction.Order, orderDal);
            }
            catch (Exception)
            {
                throw new Exception("Случилась ошибка при добавлении прихода.");
            }

            model.id = id;
            return(model);
        }
 public ActionResult Create(OrderCreateViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     try
     {
         _orderManager.Add(Mapper.Map <OrderCreateViewModel, Order>(model));
         return(RedirectToAction("Index"));
     }
     catch (ValidationException exception)
     {
         model.Pharmacies = new SelectList(_pharmacyManager.FindAll(), "Id", "Number");
         model.Types      = new SelectList(new List <object>()
         {
             new { Id = 2, Value = "Purchase" }, new { Id = 1, Value = "Sale" }
         }, "Id", "Value");
         ModelState.AddModelError("", "Validation data error! Change values!");
         return(View(model));
     }
     catch
     {
         model.Pharmacies = new SelectList(_pharmacyManager.FindAll(), "Id", "Number");
         model.Types      = new SelectList(new List <object>()
         {
             new { Id = 2, Value = "Purchase" }, new { Id = 1, Value = "Sale" }
         }, "Id", "Value");
         ModelState.AddModelError("", "Adding new record error!");
         return(View(model));
     }
 }
        public IActionResult Edit(int Id, [Bind("Id,CustomerId,OrderNo,OrderDate,Products,Customer,Status,ShippingAddress,PaymentMethod,Phone,Products")] OrderCreateViewModel order)
        {
            if (Id != order.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var  aOrder    = _mapper.Map <Order>(order);
                bool isUpdated = _orderManager.Update(aOrder);
                if (isUpdated)
                {
                    var orders = _orderManager.GetAll();
                    ViewBag.SuccessMessage = "Order Updated Successfully!";
                    return(View("Index", orders));
                }
                //}
            }
            else
            {
                ViewBag.ErrorMessage = "Update Failed!";
            }
            order.OrderList = _orderManager.GetAll().ToList();
            return(View(order));
        }
        public async Task <IActionResult> Create(OrderCreateViewModel orderCVM)
        {
            if (ModelState.IsValid)
            {
                //_context.Add(order);

                //_context.Database.ExecuteSqlCommand("sp_Add_Recipient @RName", name);

                try
                {
                    //await _context.SaveChangesAsync();
                    await _context.Database.ExecuteSqlCommandAsync("INSERT INTO [order] ([recipient_id]) VALUES ( @OrderId  ); ", new SqlParameter("@OrderId", orderCVM.RecipientId));
                }
                catch (Exception)
                {
                    // ModelState.AddModelError("", "Out of Instock!!");
                    ViewData["RecipientId"] = new SelectList(await _context.GetRecipientsForSelection(), "RId", "IdFullName", orderCVM.RecipientId);
                    // ViewData["StatusId"] = new SelectList(_context.OrderStatus, "StatusId", "Content", orderCVM.StatusId);
                    //   ViewData["VolunteerId"] = new SelectList(await _context.GetVolunteersForSelection(null), "VId", "IdFullName", order.VolunteerId);
                    orderCVM.StatusMessage = "Oops, Out of Instock!! ";

                    return(View(orderCVM));
                }

                //return RedirectToAction(nameof(Index));
                ViewData["RecipientId"] = new SelectList(await _context.GetRecipientsForSelection(), "RId", "IdFullName");
                orderCVM.StatusMessage  = string.Format("Order for Recipient: {0} is Created!", _context.Recipient.FindAsync(orderCVM.RecipientId).Result.FirstName);
                return(View(orderCVM));
            }
            ViewData["RecipientId"] = new SelectList(await _context.GetRecipientsForSelection(), "RId", "IdFullName", orderCVM.RecipientId);
            //  ViewData["StatusId"] = new SelectList(_context.OrderStatus, "StatusId", "Content", order.StatusId);
            //    ViewData["VolunteerId"] = new SelectList(await _context.GetVolunteersForSelection(null), "VId", "IdFullName", order.VolunteerId);
            orderCVM.StatusMessage = "Oops, Something went wrong ! ";
            return(View(orderCVM));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> Create(OrderCreateViewModel model)
        {
            var browserId = this.HttpContext.GetBrowserId();

            model.BrowserId    = browserId;
            model.ShoppingCart = await this.shoppingCartService.GetAsync(browserId);

            model.UserId = this.User.Identity.IsAuthenticated
                ? this.User.GetIdentifier()
                : string.Empty;

            if (model.ShoppingCart.Items.Any(i => i.Count > i.Product.Availability))
            {
                this.ShowNotification(
                    $"Insufficient availability of some products, " +
                    $"please go to your Shopping cart for more information.");

                return(View());
            }

            await this.orderService.CreateAsync(model);

            await this.shoppingCartService.RemoveAsync(browserId);

            this.HttpContext.ClearBrowserId();

            this.ShowNotification(
                "Thank you for your order. We will contact you soon.",
                NotificationType.Success);

            return(RedirectToHome());
        }
Exemplo n.º 6
0
 public IActionResult Order(OrderCreateViewModel model)
 {
     if (ModelState.IsValid)
     {
         var order = new Order()
         {
             OrderId  = model.TableId,
             Using    = true,
             StarTime = DateTime.Now,
             EndTime  = DateTime.Now
         };
         var result = orderRepository.Edit(order);
         var pod    = new ProductOrderDetail()
         {
             ProductId            = model.ProductId,
             OrderDetailId        = model.OrderDetailId,
             ProductOrderDetailId = model.ProductOrderDetailId,
             Count = model.Count
         };
         var result2 = productOrderDetailRepository.Create(pod);
         if (result != null && result2 != null)
         {
             var url = "https://localhost:44366/Home/Index/" + model.TableId;
             return(Redirect(url));
         }
     }
     return(View());
 }
Exemplo n.º 7
0
        // GET: Orders/Create
        public ActionResult Create()
        {
            OrderCreateViewModel ordervm = new OrderCreateViewModel();
            Usuario usuario = db.Usuarios.Find(SessionHelper.GetUser());

            ViewBag.Title    = "Pedido del Centro " + usuario.Center?.Descripcion;
            ordervm.CenterId = usuario.CenterId.Value;
            ordervm.OrderProductViewModels = new List <OrderProductViewModel>();
            var products = db.Products.Where(x => x.Enable).ToList();
            // var centerProducts = db.CenterProducts.Where(x => x.CenterId == ordervm.CenterId).ToList();
            var center         = db.Centers.Where(x => x.Id == ordervm.CenterId).Include(x => x.CenterProducts).FirstOrDefault();
            var centerProducts = center.CenterProducts;

            ordervm.TieneStockSinCargar = center.TieneStockSinCargar();

            foreach (var item in products)
            {
                OrderProductViewModel orderProduct = new OrderProductViewModel
                {
                    Product           = item.Descripcion,
                    ProductId         = item.Id,
                    ProductType       = item.SupplieMedical.Descripcion,
                    Quantity          = 0,
                    QuantityDelivered = 0,
                    OutStock          = item.OutStock,
                    Stock             = centerProducts.Where(x => x.ProductId == item.Id).Select(x => x.Stock).FirstOrDefault()
                };

                ordervm.OrderProductViewModels.Add(orderProduct);
            }

            return(View(ordervm));
        }
Exemplo n.º 8
0
        public async Task CreateAsync(OrderCreateViewModel model)
        {
            var orderItems = new List <OrderItem>();

            foreach (var item in model.ShoppingCart.Items)
            {
                orderItems.Add(new OrderItem
                {
                    Count   = item.Count,
                    Product = await this.productRepository.GetAsync(item.Product.Id)
                });
            }

            var order = this.orderFactory.CreateInstance(
                model.BrowserId,
                model.CustomerName,
                model.CustomerPhoneNumber,
                model.DeliveryAddress,
                model.UserId,
                model.ShoppingCart.TotalAmount,
                orderItems);

            await this.orderRepository.AddAsync(order);

            foreach (var item in order.Items)
            {
                var product = await this.productRepository.GetAsync(item.Product.Id);

                product.Availability -= item.Count;

                await this.productRepository.UpdateAsync(product);
            }
        }
Exemplo n.º 9
0
 public ActionResult CreateIndividualOrder(OrderCreateViewModel viewModel)
 {
     if (ModelState.IsValid)
     {
         var transaction = NHibernateSession.Current.BeginTransaction();
         try
         {
             var order = _orderService.Create(
                 Guid.NewGuid(),
                 viewModel.SupplierId,
                 viewModel.Instructions,
                 viewModel.CurrencyId);
             transaction.Commit();
             return(RedirectToAction("PendingOrders"));
         }
         catch (DomainValidationException dex)
         {
             transaction.Rollback();
             ModelState.UpdateFromDomain(dex.Result);
         }
         finally
         {
             transaction.Dispose();
         }
     }
     viewModel.Currencies = _currencyService.GetCurrencies().ToSelectList();
     return(View(viewModel));
 }
Exemplo n.º 10
0
        public async Task <IActionResult> Create(string id)
        {
            var requestCulture = HttpContext.Features.Get <IRequestCultureFeature>();
            var cultCode       = requestCulture.RequestCulture.UICulture.Name;
            var exRes          = new ExecutionResult();

            if (string.IsNullOrEmpty(id))
            {
                return(RedirectToAction(nameof(Index)));
            }

            var pizza = await _context.Pizzas
                        .SingleOrDefaultAsync(m => m.NameEn == id);

            if (pizza == null)
            {
                exRes.AddError(_localizer["Requested pizza could not be found."]).PushTo(TempData);
                return(RedirectToAction(nameof(Index)));
            }

            var prices = _context.PizzaPriceInfo.Where(info => info.PriceCategoryId == pizza.PriceCategoryId);
            var vm     = new OrderCreateViewModel
            {
                ImagePath   = pizza.ImagePath,
                Name        = cultCode == "lt-LT" ? pizza.NameLt : pizza.NameEn,
                Prices      = prices,
                Description = cultCode == "lt-LT" ? pizza.DescriptionLt : pizza.DescriptionEn
            };

            vm.MinPrice = vm.Prices.DefaultIfEmpty(new PizzaPriceInfo()).Min(p => p.Price);
            return(View(vm));
        }
Exemplo n.º 11
0
        public IActionResult OrderCreationForm(OrderCreateViewModel model)
        {
            if (model.Tables == null)
            {
                model.Tables = new List <Table>();
            }
            var usrID    = HttpContext.Session.GetInt32("userID");
            var waiterId = _context.Users.Where(w => w.UserId == (int)usrID).Include(e => e.Employee).ThenInclude(w => w.Waiter).FirstOrDefault().Employee.Waiter.WaiterId;
            var table    = _context.Tables.Find(model.CurrentTable);

            model.Tables.Add(table);
            var order = new Order {
                Duration = 0, ManagedByWaiterId = waiterId, OrderDate = DateTime.Now, State = (int)OrderState.Created, Price = 0.0
            };

            _context.Add(order);
            _context.SaveChanges();

            foreach (var t in model.Tables)
            {
                var to = new TableOccupancy {
                    OrderId = order.OrderId, TableId = t.TableNum
                };
                _context.Add(to);
            }
            _context.SaveChanges();
            return(RedirectToAction("OrderList"));
        }
Exemplo n.º 12
0
        public async Task <OrderCreateViewModel> AddCancellations(OrderCreateViewModel model)
        {
            var order = new Order
            {
                isOrder     = false,
                report_date = model.reportDate,
                shop_id     = model.shopId
            };

            order.OrderDetails = model.products.Select(p => new OrderDetail
            {
                prod_id = p.id,
                cost    = costRepo.GetByProdId(p.id).FirstOrDefault() != null && costRepo.GetByProdId(p.id).FirstOrDefault().value.HasValue ?
                          costRepo.GetByProdId(p.id).FirstOrDefault().value.Value : 0,
                count = p.count
            }).ToList();

            var id = 0;

            try
            {
                id = await ordersRepo.AddCancellationAsync(order);

                var orderDal = (await ordersRepo.GetCancellationsByShopIdInDateRange(order.shop_id, model.reportDate.AddSeconds(-1), model.reportDate)).Last(p => p.id == id);
                await strategy.UpdateAverageCost(Direction.Cancellation, orderDal);
            }
            catch (Exception)
            {
                throw new Exception("Добавление списания не удалось.");
            }

            model.id = id;
            return(model);
        }
Exemplo n.º 13
0
        public async Task Create_Order_fail()
        {
            var pizza = _context.Pizzas.Single(e => e.NameEn == "Havaian");
            var order = new OrderCreateViewModel {
                Name = pizza.NameEn, Description = pizza.DescriptionLt, ImagePath = pizza.ImagePath, Comment = "dad", Quantity = -1, SizeId = 1
            };

            if (!Validator.TryValidateObject(order, new ValidationContext(order), null, true))
            {
                _controller.ModelState.AddModelError("err", "Error");
            }
            var res = await _controller.Create(pizza.NameEn, order);

            Assert.IsType <ViewResult>(res);

            order = new OrderCreateViewModel {
                Name = pizza.NameEn, Description = pizza.DescriptionLt, ImagePath = pizza.ImagePath, Comment = "dad", Quantity = 3, SizeId = 2
            };
            if (!Validator.TryValidateObject(order, new ValidationContext(order), null, true))
            {
                _controller.ModelState.AddModelError("err", "Error");
            }
            res = await _controller.Create(pizza.NameEn, order);

            Assert.IsType <ViewResult>(res);
        }
        // GET: Orders/Create
        public IActionResult Create(int id)
        {
            OrderCreateViewModel model = new OrderCreateViewModel();

            model.BusinessID = id;
            model.UserID     = User.FindFirstValue(ClaimTypes.NameIdentifier);

            model.BusMenu = _businessMenuManager.GetBusinessMenuForBusiness(id);
            if (model.BusMenu != null)
            {
                model.MenuItems = _menuItemManager.GetMenuItems(model.BusMenu.MenuID).Data;

                model.OrderLines = new List <OrderLine>();

                foreach (var item in model.MenuItems)
                {
                    OrderLine newOrderLine = new OrderLine
                    {
                        ItemID = item.ItemID,
                        Amount = 0
                    };

                    model.OrderLines.Add(newOrderLine);
                }
            }

            return(View(model));
        }
        private void ConvertCreateModelToBasicModel(OrderCreateViewModel createModel, Order orderEntity)
        {
            if (createModel.ItemsFormList == null)
            {
                createModel.ItemsFormList = new List <ItemBasicViewModel>();
            }

            var selectedItems = createModel.ItemsFormList.Select(i => i.ID).ToList();

            var orderItems = orderEntity.Rented_Items.Select(i => i.ItemID).ToList();

            foreach (int orderItemsID in orderItems)
            {
                if (!selectedItems.Contains(orderItemsID))
                {
                    m_Context.RentedItems.Remove(orderEntity.Rented_Items.Where(i => i.ItemID == orderItemsID).FirstOrDefault());
                    m_Context.Items.Where(i => i.ID == orderItemsID).FirstOrDefault().Avaiable = "1";
                }
            }
            foreach (ItemBasicViewModel selectedItem in createModel.ItemsFormList)
            {
                if (!orderItems.Contains(selectedItem.ID))
                {
                    orderEntity.Rented_Items.Add(new RentedItem()
                    {
                        ItemID  = selectedItem.ID,
                        OrderID = orderEntity.ID
                    });
                    m_Context.Items.Where(i => i.ID == selectedItem.ID).FirstOrDefault().Avaiable = "0";
                }
            }
        }
Exemplo n.º 16
0
        public async Task <IActionResult> Create([FromBody] OrderCreateViewModel order)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var success = await _domainService.Create(new Order
                {
                    UserId     = order.UserId,
                    OrderItems = order.OrderItems.Select(x => new OrderItem
                    {
                        ProductId    = x.ProductId,
                        Amount       = x.Amount,
                        CurrentPrice = x.CurrentPrice
                    }).ToList()
                });

                if (success)
                {
                    return(Ok("Order created."));
                }
                else
                {
                    return(NotFound("User or product not found."));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemplo n.º 17
0
        // GET: Orders/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var order = await _bll.Orders.FindAsync(id);

            if (order == null)
            {
                return(NotFound());
            }

            var vm = new OrderCreateViewModel()
            {
                Order             = order,
                ShipperSelectList = new SelectList(await _bll.Shippers.AllAsync(),
                                                   nameof(Shipper.Id), nameof(Shipper.ShipperName)),
                ShopSelectList = new SelectList(await _bll.Shops.GetShopByUserShopIdForDropDown(User.GetShopId()),
                                                nameof(Shop.Id), nameof(Shop.ShopName))
            };

            return(View(vm));
        }
        public ActionResult Edit(int id)
        {
            OrderCreateViewModel vm = new OrderCreateViewModel();

            vm.Model = _orderService.Get(id);

            return(View("Create", GetCreateViewModel(vm)));
        }
Exemplo n.º 19
0
        //private Context db2 = new Context();
        public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            HttpContextBase      objContext = controllerContext.HttpContext;
            OrderCreateViewModel obj        = new OrderCreateViewModel();

            obj.order.Annotation = objContext.Request.Form["OrderInfo"];
            return(obj);
        }
        public ServiceResult Add(OrderCreateViewModel createModel)
        {
            var v_item = _mapper.Map <Order>(createModel.Model);

            m_Context.Orders.Add(v_item);
            ConvertCreateModelToBasicModel(createModel, v_item);
            v_item.Date_Rented = DateTime.Now;
            return(SaveChanges());
        }
Exemplo n.º 21
0
        public ActionResult Create(OrderCreateViewModel model, CreateOrderSubmitEnum submit)
        {
            ModelState.Clear();
            var instance = new CreateOrderInstance(this, submit);

            instance.Provider.Execute(model);

            return(View(PartialViewConstants.CreatePartial, model));
        }
Exemplo n.º 22
0
 public IActionResult Create(OrderCreateViewModel vm)
 {
     if (ModelState.IsValid)
     {
         return(RedirectToAction("Create2", "Order", new { id = vm.CategoryId }));
     }
     // if not valid
     return(View(vm));
 }
        public ActionResult Create()
        {
            OrderCreateViewModel vm = new OrderCreateViewModel()
            {
                Model = new OrderDetailViewModel()
            };

            return(View(GetCreateViewModel(vm)));
        }
Exemplo n.º 24
0
        public IActionResult Create()
        {
            var model = new OrderCreateViewModel();

            model.Locations = _customerServices.GetLocations();


            return(View(model));
        }
Exemplo n.º 25
0
        public async Task <IActionResult> AddWithDeliveryRequest([FromBody] OrderCreateViewModel request)
        {
            var command = Mapper.Map <OrderWithDeliveryRequestCreateCommand>(request);

            command.ManagerId = Convert.ToInt32(User.Claims.First(c => c.Type == "Id").Value);

            var id = await _commandFunctionality.AddWithDeliveryRequestAsync(command);

            return(ResponseWithData(StatusCodes.Status201Created, id));
        }
Exemplo n.º 26
0
        // GET: /Order/Create

        public ActionResult Create()
        {
            OrderCreateViewModel model = new OrderCreateViewModel();

            model.Customers         = GetAllCustomers();
            model.ShipTypes         = GetAllShipTypes();
            model.EstimatedShipDate = DateTime.Now;

            //NO VIEWBAG: ViewBag.CustomerId = new SelectList(db.Customers, "CustomerId", "FirstName");
            return(View(model));
        }
Exemplo n.º 27
0
        public ActionResult Create(OrderCreateViewModel viewModel)
        {
            if (ModelState.IsValid == false)
            {
                return(View(viewModel));
            }
            var dto = Mapper.Map <OrderCreateViewModel, OrderDto>(viewModel);

            this._orderService.CreateOrder(dto);
            return(RedirectToAction("Index"));
        }
Exemplo n.º 28
0
        public IActionResult Create()
        {
            var user             = _userManager.GetUserAsync(User);
            var orderCreateModel = new OrderCreateViewModel
            {
                User = user.Result,
                Cart = _cartRepository.GetAll().Where(n => n.UserId == user.Result.Id).ToList()
            };

            return(View(orderCreateModel));
        }
Exemplo n.º 29
0
        public ActionResult Create(OrderCreateViewModel ordersCreateViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(ordersCreateViewModel));
            }

            _orderService.Add(ordersCreateViewModel);

            return(RedirectToAction("Index"));
        }
Exemplo n.º 30
0
        // GET: Orders/Create
        public async Task <IActionResult> Create()
        {
            var vm = new OrderCreateViewModel()
            {
                ShipperSelectList = new SelectList(await _bll.Shippers.AllAsync(),
                                                   nameof(Shipper.Id), nameof(Shipper.ShipperName)),
                ShopSelectList = new SelectList(await _bll.Shops.GetShopByUserShopIdForDropDown(User.GetShopId()),
                                                nameof(Shop.Id), nameof(Shop.ShopName))
            };

            return(View(vm));
        }