Exemplo n.º 1
0
        public int getStockCountOfItem(string itemId)
        {
            StockCountItem item = context.StockCountItems.First(i => i.ItemID == itemId);

            context.Entry <StockCountItem>(item).Reload();
            return((int)item.QtyInStock);
        }
 public StockVoucherPayload(StockCountItem sci, IStockManagementService stockManagementService)
 {
     ItemID        = sci.ItemID;
     ItemName      = sci.ItemName;
     UnitOfMeasure = sci.UnitOfMeasure;
     QtyInStock    = sci.QtyInStock;
     UnitCost      = stockManagementService.getUnitCostOfItem(ItemID);
 }
Exemplo n.º 3
0
        private void AddItem(StockCountItem item)
        {
            DataRow[] rows = entryTable.Select(string.Format("ITEMNUMBER = '{0}'", item.ItemNumber));
            bool      isItemVarinatExists = false;
            DataRow   selectedRow         = GetCurrentRow();

            if (isEdit && selectedRow != null)
            {
                // Edit Quantity of an existing row
                selectedRow[DataAccessConstants.Quantity]  = item.Quantity;
                selectedRow[DataAccessConstants.JournalId] = this.SelectedJournalId;
            }
            else
            {
                if (rows != null && rows.Length > 0)
                {
                    foreach (DataRow row in rows)
                    {
                        if (row[DataAccessConstants.InventSizeId].ToString() == (saleLineItem.Dimension.SizeId ?? string.Empty) &&
                            row[DataAccessConstants.InventColorId].ToString() == (saleLineItem.Dimension.ColorId ?? string.Empty) &&
                            row[DataAccessConstants.InventStyleId].ToString() == (saleLineItem.Dimension.StyleId ?? string.Empty) &&
                            row[DataAccessConstants.ConfigId].ToString() == (saleLineItem.Dimension.ConfigId ?? string.Empty))
                        {
                            row[DataAccessConstants.JournalId] = this.SelectedJournalId;
                            // Increment Quantity of an existing row
                            decimal oldQuantity = (decimal)row[DataAccessConstants.Quantity];
                            row[DataAccessConstants.Quantity]      = oldQuantity + item.Quantity;
                            row[DataAccessConstants.UserId]        = ApplicationSettings.Terminal.TerminalOperator.OperatorId;
                            row[DataAccessConstants.TerminalId]    = ApplicationSettings.Terminal.TerminalId;
                            row[DataAccessConstants.CountDate]     = DateTime.Now;
                            row[DataAccessConstants.InventSizeId]  = saleLineItem.Dimension.SizeId ?? string.Empty;
                            row[DataAccessConstants.InventColorId] = saleLineItem.Dimension.ColorId ?? string.Empty;
                            row[DataAccessConstants.InventStyleId] = saleLineItem.Dimension.StyleId ?? string.Empty;
                            row[DataAccessConstants.ConfigId]      = saleLineItem.Dimension.ConfigId ?? string.Empty;
                            isItemVarinatExists = true;
                            break;
                        }
                    }

                    if (!isItemVarinatExists)
                    {
                        AddNewRow(item);
                    }
                }
                else
                {
                    AddNewRow(item);
                }
            }

            ResetNumpad();
        }
Exemplo n.º 4
0
        private void AddNewRow(StockCountItem item)
        {
            // add a new row
            DataRow row = entryTable.NewRow();

            row[DataAccessConstants.JournalId] = this.SelectedJournalId;

            row[DataAccessConstants.OperationType] = 0;
            row[DataAccessConstants.ItemNumber]    = item.ItemNumber;
            row[DataAccessConstants.ItemName]      = item.ItemName;
            row[DataAccessConstants.Counted]       = 0;
            row[DataAccessConstants.Quantity]      = item.Quantity;
            row[DataAccessConstants.Unit]          = item.Unit;
            row[DataAccessConstants.UserId]        = ApplicationSettings.Terminal.TerminalOperator.OperatorId;
            row[DataAccessConstants.TerminalId]    = ApplicationSettings.Terminal.TerminalId;
            row[DataAccessConstants.CountDate]     = DateTime.Now;
            row[DataAccessConstants.Status]        = (int)StockCountStatus.Pending;
            row[DataAccessConstants.InventSizeId]  = saleLineItem.Dimension.SizeId ?? string.Empty;
            row[DataAccessConstants.InventColorId] = saleLineItem.Dimension.ColorId ?? string.Empty;
            row[DataAccessConstants.InventStyleId] = saleLineItem.Dimension.StyleId ?? string.Empty;
            row[DataAccessConstants.ConfigId]      = saleLineItem.Dimension.ConfigId ?? string.Empty;
            row["COMMENT"] = ColorSizeStyleConfig(saleLineItem);

            try
            {
                entryTable.Rows.Add(row);
            }
            catch (ArgumentException ex)
            {
                LSRetailPosis.ApplicationExceptionHandler.HandleException(this.ToString(), ex);
            }
            catch (NoNullAllowedException ex)
            {
                LSRetailPosis.ApplicationExceptionHandler.HandleException(this.ToString(), ex);
            }
            catch (ConstraintException ex)
            {
                LSRetailPosis.ApplicationExceptionHandler.HandleException(this.ToString(), ex);
            }
        }
Exemplo n.º 5
0
        public async Task <IActionResult> OnPostInsert([FromBody] StockCountItem obj)
        {
            if (obj != null)
            {
                try
                {
                    _context.Add(obj);
                    await _context.SaveChangesAsync();

                    int id = obj.StockCountItemID; // Yes it's here
                    return(new JsonResult(id));
                }
                catch (DbUpdateException d)
                {
                    return(new JsonResult("Stock Item Not Added." + d.InnerException.Message));
                }
            }
            else
            {
                return(new JsonResult("Stock Item not Loaded"));
            }
        }
Exemplo n.º 6
0
        private void InventoryLookup(string barcode)
        {
            if (inputMode == NumPadMode.Barcode)
            {
                if (GetItemInfo(barcode))
                {
                    // set mode to quantity
                    SetInputMode(NumPadMode.Quantity);
                }
                else
                {
                    // clear the current item so the user can try again
                    ResetNumpad();
                }
            }
            else if ((inputMode == NumPadMode.Quantity) && (saleLineItem != null) && !string.IsNullOrEmpty(numPad1.EnteredValue))
            {
                // add to list
                StockCountItem item = new StockCountItem();

                item.ItemNumber = this.saleLineItem.ItemId;
                item.Unit       = this.saleLineItem.InventOrderUnitOfMeasure;
                item.ItemName   = this.saleLineItem.Description;

                Decimal quantity = 0;
                Decimal.TryParse(numPad1.EnteredValue, out quantity);

                item.Quantity = StockCount.InternalApplication.Services.Rounding.Round(quantity, 3);

                AddItem(item);
                SetInputMode(NumPadMode.Barcode);
            }

            // When finished, put focus back into the numpad
            numPad1.Select();
        }