Пример #1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Date,Quantity")] AddInventoryModel addInventoryModel)
        {
            if (id != addInventoryModel.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(addInventoryModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AddInventoryModelExists(addInventoryModel.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(addInventoryModel));
        }
        private void ClearBtnClick(object sender, RoutedEventArgs e)
        {
            AddInventoryModel context = this.DataContext as AddInventoryModel;

            context.Number     = 0;
            context.ObjectName = context.Repack = string.Empty;
            context.InDate     = DateTime.Now;
            context.Price      = 0;
        }
        private void ClearContext()
        {
            AddInventoryModel context = this.DataContext as AddInventoryModel;

            context.Number     = 0;
            context.ObjectName = string.Empty;
            context.InDate     = DateTime.Now;
            context.Price      = 0;
            context.Repack     = string.Empty;
        }
        public AddInventory()
        {
            InitializeComponent();

            AddInventoryModel context = new AddInventoryModel();

            this.DataContext = context;
            context.InDate   = DateTime.Now;

            AddedList.ItemsSource = context.ObjectNumbers;
        }
        private Inventory GetInventoryFromContext()
        {
            AddInventoryModel context = this.DataContext as AddInventoryModel;

            return(new Inventory
            {
                Number = context.Number,
                Object = context.ObjectName,
                InDate = context.InDate,
                Price = context.Price,
                Repack = context.Repack
            });
        }
        private async void AddInventoryBtn_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            AddInventoryModel context = this.DataContext as AddInventoryModel;

            if (context.IsNull())
            {
                CustomMessageBox.ShowOK("Not enough information for inventory. Please try again.", "Error", "OK", MessageBoxImage.Error);
                return;
            }

            Inventory inventory = GetInventoryFromContext();

            using (SQLiteConnection connection = new SQLiteConnection(SqlHelpers.ConnectionString))
            {
                connection.Open();
                using (var cmd = connection.CreateCommand())
                {
                    cmd.CommandText = "SELECT Number FROM Inventory WHERE Number = @Number";
                    cmd.Parameters.AddWithValue("Number", inventory.Number);
                    using (var reader = await cmd.ExecuteReaderAsync())
                    {
                        if (reader.HasRows)
                        {
                            CustomMessageBox.ShowOK("The Inventory has already existed", "Error", "OK", MessageBoxImage.Error);
                            return;
                        }
                    }

                    cmd.CommandText = "INSERT INTO Inventory ([Number], [Object], [Incoming Date], [Repack], [Price]) VALUES (@Number, @Object, @InDate, @Repack, @Price)";
                    cmd.Parameters.AddWithValue("Number", inventory.Number);
                    cmd.Parameters.AddWithValue("Object", inventory.Object);
                    cmd.Parameters.AddWithValue("InDate", inventory.InDate);
                    cmd.Parameters.AddWithValue("Repack", inventory.Repack);
                    cmd.Parameters.AddWithValue("Price", inventory.Price);

                    var res = await cmd.ExecuteNonQueryAsync();

                    if (res != -1)
                    {
                        CustomMessageBox.ShowOK("Inventory added successfully.", "Information", "OK", MessageBoxImage.Information);
                        context.ObjectNumbers.Insert(0, inventory.Number);
                        ClearContext();
                        return;
                    }

                    CustomMessageBox.ShowOK("Something wrong while adding inventory. Please try again later.", "Error", "OK", MessageBoxImage.Error);
                }
            }
        }
Пример #7
0
        public async Task <ActionResult> Create(IFormCollection formCollection)
        {
            if (ModelState.IsValid)
            {
                //Save new AddInventoryModel
                AddInventoryModel addInventoryModel = new AddInventoryModel();
                addInventoryModel.UserName = User.Identity.Name;
                addInventoryModel.Date     = DateTime.Now;
                _context.Add(addInventoryModel);
                await _context.SaveChangesAsync();

                //Save new AddedItems to AddInventoryModel and update DB with new quantities
                var inventory = _context.InventoryItem;

                foreach (var _key in formCollection.Keys)
                {
                    if (_key != "__RequestVerificationToken")
                    {
                        var item   = inventory.Find(Convert.ToInt32(_key));
                        int addQty = Convert.ToInt32(formCollection[_key]);

                        //Add addedItem to _context and populate AddedItems
                        AddedItem addedItem = new AddedItem();
                        addedItem.AddInventoryModelId = addInventoryModel.ID;
                        addedItem.InventoryItemId     = item.ID;
                        addedItem.Quantity            = addQty;
                        _context.Add(addedItem);

                        //Update InventoryItem new StockQty
                        item.StockQty += addQty;
                    }
                }

                await _context.SaveChangesAsync();

                return(Redirect("../InventoryItems"));
            }

            return(RedirectToAction("AddInventory/Create"));
        }
Пример #8
0
        public static async Task <ErrorModel> AddInventory(long vintageId, long shelfId, int amount)
        {
            var url     = Links.baseLink + Links.inventories;
            var payload = new AddInventoryModel
            {
                VintageId = vintageId,
                ShelfId   = shelfId,
                Amount    = amount
            };

            var token = await GetToken();

            var responseBody = await RestVerbs.Post(url, payload, token);

            if (string.IsNullOrEmpty(responseBody))
            {
                return new ErrorModel {
                           ErrorCode = false, Message = "Inventeringen har inte lagts till", Object = new InventoryResponse {
                               InventoryId = 0, ShelfId = 0, Amount = 0
                           }
                }
            }
            ;

            try
            {
                var responseBodyJson = JsonConvert.DeserializeObject <InventoryResponse>(responseBody);

                return(new ErrorModel {
                    ErrorCode = true, Message = null, Object = responseBodyJson
                });
            }
            catch (Exception error)
            {
                return(new ErrorModel {
                    ErrorCode = false, Message = error.Message, Object = null
                });
            }
        }
        private async Task LoadObjectNumbers()
        {
            AddInventoryModel context = this.DataContext as AddInventoryModel;

            using (var connection = new SQLiteConnection(SqlHelpers.ConnectionString))
            {
                connection.Open();
                using (var cmd = connection.CreateCommand())
                {
                    cmd.CommandText = "SELECT Id,Number FROM Inventory ORDER BY Id DESC";
                    var reader = await cmd.ExecuteReaderAsync();

                    while (await reader.ReadAsync())
                    {
                        if (int.TryParse(Convert.ToString(reader["Number"]), out int objectNumber))
                        {
                            context.ObjectNumbers.Add(objectNumber);
                        }
                        await Task.Delay(1);
                    }
                }
            }
        }
        private void AddInventoryBtn_CanExecute(object sender, CanExecuteRoutedEventArgs e)
        {
            AddInventoryModel context = this.DataContext as AddInventoryModel;

            e.CanExecute = context.IsNull() == false;
        }