Example #1
0
        public IActionResult Create()
        {
            if (ActiveUser.Instance.User == null)
            {
                return(RedirectToAction("Create", "Users"));
            }

            var ProductTypesId = context.ProductType
                                 .OrderBy(l => l.Name)
                                 .AsEnumerable()
                                 .Select(li => new SelectListItem {
                Text  = li.Name,
                Value = li.ProductTypeId.ToString()
            }).ToList();

            ProductTypesId.Insert(0, new SelectListItem {
                Text  = "Select a product type!",
                Value = 0.ToString()
            });

            SellProductViewModel model = new SellProductViewModel(context);

            model.ProductTypeId = ProductTypesId;

            return(View(model));
        }
Example #2
0
 public SellProductPage()
 {
     InitializeComponent();
     sellProductViewModel  = new SellProductViewModel();
     BindingContext        = sellProductViewModel;
     TagPicker.ItemsSource = categoryService.Categories;
 }
Example #3
0
        public async Task <ActionResult <int> > AddSellProductItem(SellProductViewModel model)
        {
            model.UserId = _userId;
            int saleId = await _productSellService.SellProducts(model);

            return(Ok(saleId));
        }
Example #4
0
        public async Task <int> SellProducts(SellProductViewModel model)
        {
            var sellProduct = new SellProduct(model.UserId, model.ConsumerId, model.TotalPaid, model.TotalPrice);

            if (model.SellHistory.Count > 0)
            {
                foreach (var item in model.SellHistory)
                {
                    sellProduct.AddSaleItem(sellProduct.Id, item.ProductId, item.SellPrice, item.Descrption, item.TaxRateInPercentage,
                                            item.DiscountInPercntage, item.Unit);

                    Product product = await _productRepository.GetProductItemById(item.ProductId);

                    product.RemoveStock(item.Unit);
                    _productRepository.UpdateProduct(product);
                }
            }
            await _repository.SellProducts(sellProduct);

            await _repository.UnitOfWork.SaveEntitiesAsync();

            return(sellProduct.Id);
        }