private void DisplayOutputInvoiceDocumentData()
        {
            OutputInvoiceDocumentDataLoading = true;

            OutputInvoiceDocumentListResponse response = new OutputInvoiceDocumentSQLiteRepository()
                                                         .GetOutputInvoiceDocumentsByOutputInvoice(MainWindow.CurrentCompanyId, CurrentOutputInvoice.Identifier);

            if (response.Success)
            {
                OutputInvoiceDocumentsFromDB = new ObservableCollection <OutputInvoiceDocumentViewModel>(
                    response.OutputInvoiceDocuments ?? new List <OutputInvoiceDocumentViewModel>());
            }
            else
            {
                OutputInvoiceDocumentsFromDB = new ObservableCollection <OutputInvoiceDocumentViewModel>();
            }

            OutputInvoiceDocumentDataLoading = false;
        }
        private void btnAddDocument_Click(object sender, RoutedEventArgs e)
        {
            #region Validation

            if (CurrentOutputInvoiceDocumentForm.Name == null)
            {
                MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Napomena"));
                return;
            }

            #endregion
            Thread th = new Thread(() =>
            {
                SubmitButtonEnabled = false;
                CurrentOutputInvoiceDocumentForm.OutputInvoice = CurrentOutputInvoice;

                CurrentOutputInvoiceDocumentForm.Company = new CompanyViewModel()
                {
                    Id = MainWindow.CurrentCompanyId
                };
                CurrentOutputInvoiceDocumentForm.CreatedBy = new UserViewModel()
                {
                    Id = MainWindow.CurrentUserId
                };

                new OutputInvoiceDocumentSQLiteRepository().Delete(CurrentOutputInvoiceDocumentForm.Identifier);

                var response = new OutputInvoiceDocumentSQLiteRepository().Create(CurrentOutputInvoiceDocumentForm);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = response.Message;

                    CurrentOutputInvoiceDocumentForm            = new OutputInvoiceDocumentViewModel();
                    CurrentOutputInvoiceDocumentForm.Identifier = Guid.NewGuid();
                    CurrentOutputInvoiceDocumentForm.ItemStatus = ItemStatus.Added;
                    CurrentOutputInvoiceDocumentForm.IsSynced   = false;

                    return;
                }

                CurrentOutputInvoiceDocumentForm            = new OutputInvoiceDocumentViewModel();
                CurrentOutputInvoiceDocumentForm.Identifier = Guid.NewGuid();
                CurrentOutputInvoiceDocumentForm.ItemStatus = ItemStatus.Added;
                CurrentOutputInvoiceDocumentForm.IsSynced   = false;

                OutputInvoiceCreatedUpdated();
                DisplayOutputInvoiceDocumentData();

                Application.Current.Dispatcher.BeginInvoke(
                    System.Windows.Threading.DispatcherPriority.Normal,
                    new Action(() =>
                {
                    txtDocumentName.Focus();
                })
                    );

                SubmitButtonEnabled = true;
            });
            th.IsBackground = true;
            th.Start();
        }