Example #1
0
        private void Add()
        {
            Task.WaitAll(Task.Run(async() => await Load()));
            if (Block == null || Status == null || InputName == String.Empty || InputName == null)
            {
                MessageBox.Show("You must fill in all fields first!", "Notification", MessageBoxButton.OK, MessageBoxImage.Asterisk);
                return;
            }
            var temp = InputName.Insert(0, Block);

            if (!CheckInputName(temp))
            {
                MessageBox.Show("Name has existed, choose other name!", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }
            DataAccess.DataModels.Slot item = new DataAccess.DataModels.Slot
            {
                ID           = $"HCMUTEPL{temp}",
                Name         = temp,
                Status       = Status,
                Availability = "Yes",
                BlockID      = $"HCMUTEPL{Block}"
            };

            var updateblock = _blocksList.Find(param => param.ID == item.BlockID);

            updateblock.NumberOfSlots++;

            var task1 = Task.Run(async() => await _blocksRepository.UpdateBlockAsync(updateblock));

            var task2 = Task.Run(async() => await _slotsRepository.AddSlotAsync(item));

            Task.WaitAll(task1, task2);
            InputName = String.Empty;
            MessageBox.Show("Slot has been added!", "Successful", MessageBoxButton.OK, MessageBoxImage.Asterisk);
        }