예제 #1
0
        private void PopulateFromDb(string filterString = "")
        {
            Application.Current.Dispatcher.BeginInvoke(
                System.Windows.Threading.DispatcherPriority.Normal,
                new Action(() =>
            {
                StatusListResponse StatusResponse = new StatusSQLiteRepository().GetStatusesForPopup(MainWindow.CurrentCompanyId, filterString);
                if (StatusResponse.Success)
                {
                    if (StatusResponse.Statuses != null && StatusResponse.Statuses.Count > 0)
                    {
                        StatusesFromDB = new ObservableCollection <StatusViewModel>(
                            StatusResponse.Statuses.ToList() ?? new List <StatusViewModel>());

                        if (StatusesFromDB.Count == 1)
                        {
                            CurrentStatus = StatusesFromDB.FirstOrDefault();
                        }
                    }
                    else
                    {
                        StatusesFromDB = new ObservableCollection <StatusViewModel>();

                        CurrentStatus = null;
                    }
                }
            })
                );
        }
        public void DisplayStatusData()
        {
            StatusDataLoading = true;

            StatusListResponse response = new StatusSQLiteRepository()
                                          .GetStatusesByPage(MainWindow.CurrentCompanyId, StatusSearchObject, currentPage, itemsPerPage);

            if (response.Success)
            {
                StatusesFromDB = new ObservableCollection <StatusViewModel>(response.Statuses ?? new List <StatusViewModel>());
                totalItems     = response.TotalItems;
            }
            else
            {
                StatusesFromDB          = new ObservableCollection <StatusViewModel>();
                totalItems              = 0;
                MainWindow.ErrorMessage = response.Message;
            }

            int itemFrom = totalItems != 0 ? (currentPage - 1) * itemsPerPage + 1 : 0;
            int itemTo   = currentPage * itemsPerPage < totalItems ? currentPage * itemsPerPage : totalItems;

            PaginationDisplay = itemFrom + " - " + itemTo + " od " + totalItems;

            StatusDataLoading = false;
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            Thread th = new Thread(() =>
            {
                StatusDataLoading = true;

                if (CurrentStatus == null)
                {
                    MainWindow.WarningMessage = (string)Application.Current.FindResource("Morate_izabrati_stavku");
                    StatusDataLoading         = false;
                    return;
                }

                StatusResponse response = StatusService.Delete(CurrentStatus.Identifier);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = (string)Application.Current.FindResource("Greška_kod_brisanja_sa_serveraUzvičnik");
                    StatusDataLoading       = false;
                    return;
                }

                response = new StatusSQLiteRepository().Delete(CurrentStatus.Identifier);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = (string)Application.Current.FindResource("Greška_kod_lokalnog_brisanjaUzvičnik");
                    StatusDataLoading       = false;
                    return;
                }

                MainWindow.SuccessMessage = (string)Application.Current.FindResource("Stavka_je_uspešno_obrisanaUzvičnik");

                DisplayStatusData();

                StatusDataLoading = false;
            });

            th.IsBackground = true;
            th.Start();
        }
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            #region Validation

            if (String.IsNullOrEmpty(CurrentStatus.Name))
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("Obavezno_polje_naziv"));
                return;
            }

            if (String.IsNullOrEmpty(CurrentStatus.ShortName))
            {
                MainWindow.WarningMessage = ((string)Application.Current.FindResource("Obavezno_polje_skraćeni_naziv"));
                return;
            }

            #endregion

            Thread th = new Thread(() =>
            {
                SubmitButtonContent = ((string)Application.Current.FindResource("Čuvanje_u_tokuTriTacke"));
                SubmitButtonEnabled = false;

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

                StatusResponse response = new StatusSQLiteRepository().Delete(CurrentStatus.Identifier);
                response = new StatusSQLiteRepository().Create(CurrentStatus);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Greška_kod_čuvanja_na_serveruUzvičnik"));
                    SubmitButtonContent     = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled     = true;
                    return;
                }

                response = StatusService.Create(CurrentStatus);
                if (!response.Success)
                {
                    MainWindow.ErrorMessage = ((string)Application.Current.FindResource("Podaci_su_sačuvani_u_lokaluUzvičnikTačka_Greška_kod_čuvanja_na_serveruUzvičnik")) + response.Message;
                    SubmitButtonContent     = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled     = true;
                }

                if (response.Success)
                {
                    MainWindow.SuccessMessage = ((string)Application.Current.FindResource("Podaci_su_uspešno_sačuvaniUzvičnik"));
                    SubmitButtonContent       = ((string)Application.Current.FindResource("Proknjiži"));
                    SubmitButtonEnabled       = true;

                    StatusCreatedUpdated();

                    if (IsCreateProcess)
                    {
                        CurrentStatus            = new StatusViewModel();
                        CurrentStatus.Identifier = Guid.NewGuid();

                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            txtName.Focus();
                        })
                            );
                    }
                    else
                    {
                        Application.Current.Dispatcher.BeginInvoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(() =>
                        {
                            if (IsPopup)
                            {
                                FlyoutHelper.CloseFlyoutPopup(this);
                            }
                            else
                            {
                                FlyoutHelper.CloseFlyout(this);
                            }
                        })
                            );
                    }
                }
            });
            th.IsBackground = true;
            th.Start();
        }