Exemple #1
0
        public PartialViewResult OnGetNewTableRow()
        {
            // TODO: Set SelectableProducts in constructor?
            var allProducts = ApiHelper.GetProducts().Result;

            SelectableProducts = allProducts
                                 .Select(p => new SelectListItem
            {
                Value = p.ProductId.ToString(),
                Text  = p.Name
            })
                                 .ToList();

            var newLineItem = new LineItem {
                LineItemId    = -1,
                TransactionId = -1,
                ProductId     = allProducts.First().ProductId,
                Quantity      = 0,
                Price         = 0
            };

            var viewModel = new LineItemViewModel
            {
                LineItem           = newLineItem,
                SelectableProducts = SelectableProducts
            };

            // TODO: Why does this work but not return Partial("_LineItemsTablePartial", viewModel) ?
            return(new PartialViewResult()
            {
                ViewName = "_LineItemsTablePartial",
                ViewData = new ViewDataDictionary <LineItemViewModel>(ViewData, viewModel)
            });
        }
        private void OnQtyButtonClicked(int rowHandle)
        {
            LineItemViewModel lineItem = this.ViewModel.Items[rowHandle];

            // If it is not for pickup at the current store, the button should be disabled and thus no form should be shown.
            // If there's no remaining items to pick up, the button should be disable
            if (!lineItem.IsPickupAtStore(ApplicationSettings.Terminal.StoreId) || lineItem.QuantityRemaining == 0)
            {
                return;
            }

            using (frmInputNumpad inputDialog = new frmInputNumpad())
            {
                inputDialog.EntryTypes = NumpadEntryTypes.IntegerPositive;
                inputDialog.PromptText = LSRetailPosis.ApplicationLocalizer.Language.Translate(56396); // "Pickup quantity"
                inputDialog.Text       = LSRetailPosis.ApplicationLocalizer.Language.Translate(99656); // Item details page
                int qty;
                POSFormsManager.ShowPOSForm(inputDialog);
                if (inputDialog.DialogResult != DialogResult.Cancel)
                {
                    if (int.TryParse(inputDialog.InputText, out qty))
                    {
                        // Update the row source and repaint
                        if (qty <= lineItem.QuantityRemaining)
                        {
                            this.ViewModel.SetPickupQuantity(lineItem.ItemId, lineItem.LineId, qty);
                            this.ViewModel.CommitChanges();
                            this.gridView.RefreshRow(rowHandle);
                        }
                    }
                }
            }
        }
Exemple #3
0
 private bool CanExecuteLineItemDetails(LineItemViewModel obj)
 {
     if (selectedLineItem != null)
     {
         return(true);
     }
     return(false);
 }
        public async Task <ActionResult> Post([FromBody] LineItemViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest());
            }

            var li = mapper.Map <Services.Dtos.LineItem>(model);

            return(this.Created("", await lineItemService.AddAsync(li)));
        }
        public async Task <ActionResult> Put(Guid id, [FromBody] LineItemViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest());
            }

            var li = mapper.Map <Services.Dtos.LineItem>(model);

            await lineItemService.UpdateAsync(li);

            return(this.Ok());
        }
Exemple #6
0
        public IActionResult GetInvoiceLines(int invoiceId, int startingIndex)
        {
            const int linesPerGet = 5;
            var       vm          = new LineItemViewModel
            {
                LineItems = _invoiceService.GetLineItems(invoiceId, startingIndex, linesPerGet).ToList(),
                LineIndex = startingIndex,
                InvoiceId = invoiceId,
                ItemTypes = _invoiceService.GetItemTypes().ToList()
            };

            return(PartialView("_InvoiceLineItem", vm));
        }
        private List <LineItemViewModel> GetLineItems(Sales sales)
        {
            var lineItemViewModel = new List <LineItemViewModel>();

            foreach (var lineitem in sales.LineItems)
            {
                var li = new LineItemViewModel
                {
                    ProductId   = lineitem.ProductId,
                    ProductName = lineitem.Product.Name,
                    Quantity    = lineitem.Quantity,
                    UnitCost    = lineitem.Product.Price
                };
                lineItemViewModel.Add(li);
            }
            return(lineItemViewModel);
        }
Exemple #8
0
        public async Task <IActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var lineItem = await _repo.GetLineItemInclude(id);

            LineItemViewModel lineItemVm = new LineItemViewModel
            {
                LineItemId   = (Guid)id,
                LineItem     = lineItem,
                ClearCertPdf = false
            };

            ViewData["StaticPowderInfoId"] = new SelectList(await _repo.GetAllStaticPowderInfos(), "StaticPowderInfoId", "EndlasDescription");
            return(View(lineItemVm));
        }
        private ObjectState GetButtonState(int rowHandle, string column)
        {
            int  pressedRowHandle     = GridControl.InvalidRowHandle;
            int  highlightedRowHandle = GridControl.InvalidRowHandle;
            bool shouldDisable        = false;
            LineItemViewModel row     = this.ViewModel.Items[rowHandle];

            switch (column)
            {
            case COLQTY:
                pressedRowHandle     = QtyPressedRowHandle;
                highlightedRowHandle = QtyHighlightedRowHandle;
                shouldDisable        = (row.QuantityRemaining == 0) || !row.IsPickupAtStore(ApplicationSettings.Terminal.StoreId);
                break;

            default:
                break;
            }

            if (shouldDisable)
            {
                return(ObjectState.Disabled);
            }
            else if (rowHandle == pressedRowHandle)
            {
                return(ObjectState.Pressed);
            }
            else
            {
                // Show hot if row is highlighted or cell is focused
                if (rowHandle == highlightedRowHandle ||
                    (gridItems.IsFocused && (gridView.FocusedColumn.FieldName == column) &&
                     (gridView.FocusedRowHandle == rowHandle)))
                {
                    return(ObjectState.Hot);
                }
                else
                {
                    return(ObjectState.Normal);
                }
            }
        }
        public ActionResult AddItem(LineItemViewModel lineItemViewModel)
        {
            var shippingOptions = _getShippingOptions.Invoke(new GetShippingOptionsRequest()).ShippingOptions;

            var lineItem = new LineItem()
            {
                Amount         = lineItemViewModel.Amount,
                ProductId      = lineItemViewModel.ProductId,
                Shipping       = shippingOptions[lineItemViewModel.ShippingOption],
                SupplierId     = lineItemViewModel.SupplierId,
                DeliveryRegion = lineItemViewModel.DeliveryRegion,
            };

            _addToBasket.Invoke(new AddToBasketRequest()
            {
                LineItem = lineItem
            });

            return(RedirectToAction("Index"));
        }
Exemple #11
0
 public async Task <IActionResult> Edit(Guid id, [Bind("LineItemId,LineItem,CertPdfBytes")] LineItemViewModel lineItemVm)
 {
     if (id != lineItemVm.LineItemId)
     {
         return(NotFound());
     }
     if (ModelState.IsValid)
     {
         try
         {
             if (lineItemVm.LineItem.CertPdfFile != null)
             {
                 lineItemVm.LineItem.CertPdfBytes = await FileURL.GetFileBytes(lineItemVm.LineItem.CertPdfFile);
             }
             if (lineItemVm.ClearCertPdf)
             {
                 lineItemVm.LineItem.CertPdfBytes = null;
             }
             SetUIDs();
             await _repo.UpdateLineItem(lineItemVm.LineItem);
         }
         catch (DbUpdateConcurrencyException)
         {
             if (!(await LineItemExists(lineItemVm.LineItemId)))
             {
                 return(NotFound());
             }
             else
             {
                 throw;
             }
         }
         return(RedirectToAction("Index", "LineItems", new { powderOrderId = lineItemVm.LineItem.PowderOrderId }));
     }
     return(View(lineItemVm));
 }
Exemple #12
0
 private void ExecuteLineItemDetails(LineItemViewModel obj)
 {
 }