public SaleServiceTest()
 {
     _saleService         = new SaleService(_saleRepo.Object, _saleDetailRepo.Object, _itemRepo.Object, _trasactionService.Object, _customerRepo.Object);
     _saleCreateDto       = new SaleCreateDTO();
     _saleDetailCreateDto = new SaleDetailCreateDTO();
     _sale       = new Sale();
     _saleDetail = new SaleDetails();
 }
예제 #2
0
        public async Task <IActionResult> Create(SaleCreateViewModel allSales)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var sale = new SaleCreateDTO()
                    {
                        CusId        = allSales.CusId,
                        discount     = allSales.discount,
                        total        = allSales.netTotal,
                        netTotal     = allSales.netTotal,
                        paidAmount   = allSales.paidAmount,
                        returnAmount = allSales.returnAmount
                    };

                    var saleDetails = new List <InventoryLibrary.Source.Dto.SaleDetail.SaleDetailCreateDTO>();
                    foreach (var data in allSales.SalesDetails)
                    {
                        var dto = new SaleDetailCreateDTO
                        {
                            ItemName = data.ItemName,
                            Qty      = data.Qty,
                            Total    = data.Total,
                            Price    = data.Price,
                            ItemId   = data.ItemId
                        };


                        saleDetails.Add(dto);
                    }

                    sale.SaleDetails = saleDetails;
                    var Sales = await _saleService.Create(sale).ConfigureAwait(true);

                    _toastNotification.AddSuccessToastMessage("Successfully Created Sale!");
                    return(Json(Sales.SaleId));
                }
            }
            catch (Exception ex)
            {
                _toastNotification.AddErrorToastMessage(ex.Message);
            }

            var saleView = new SaleIndexViewModel
            {
                customers = await _customerRepo.GetAllAsync().ConfigureAwait(true),
                items     = (await _itemRepo.GetAllAsync().ConfigureAwait(true)).Where(a => a.IsActive()).ToList()
            };

            return(View(saleView));
        }