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); }