Ejemplo n.º 1
0
        private void TaskPage_OnLoaded(object sender, RoutedEventArgs e)
        {
            AdministrationClass.OpenNewModuleEntry(AdministrationClass.Modules.TasksPage);
            NotificationManager.ClearNotifications(AdministrationClass.Modules.TasksPage);

            if (_firstRun)
            {
                var backgroundWorker = new BackgroundWorker();
                backgroundWorker.DoWork += (o, args) => _viewModel = new TasksViewModel(_fullAccess);

                backgroundWorker.RunWorkerCompleted += (o, args) =>
                {
                    DataContext = _viewModel;

                    var mainWindow = Application.Current.MainWindow as MainWindow;
                    if (mainWindow != null)
                    {
                        mainWindow.HideWaitAnnimation();
                    }
                };

                backgroundWorker.RunWorkerAsync();

                _firstRun = false;
            }
            else
            {
                _viewModel.FillTasksData();
                var mainWindow = Application.Current.MainWindow as MainWindow;
                if (mainWindow != null)
                {
                    mainWindow.HideWaitAnnimation();
                }
            }
        }
Ejemplo n.º 2
0
        public void ReceiveRequest(string globalId, string receivedNotes)
        {
            var rows = _tpr.TechnologyProblemsTable.AsEnumerable().Where(r => r.Field <string>("GlobalID") == globalId);

            if (!rows.Any())
            {
                return;
            }

            var techProblem      = rows.First();
            var techProblemId    = Convert.ToInt32(techProblem["TechnologyProblemID"]);
            var receivedDate     = App.BaseClass.GetDateFromSqlServer();
            var receiverWorkerId = AdministrationClass.CurrentWorkerId;

            _tpr.FillReceivedInfo(techProblemId, receivedDate, receiverWorkerId, receivedNotes);
            AdministrationClass.AddNewAction(18);

            var requestDate     = Convert.ToDateTime(techProblem["RequestDate"]);
            var requestWorkerId = Convert.ToInt32(techProblem["RequestWorkerID"]);
            var workerName      =
                new IdToNameConverter().Convert(receiverWorkerId, typeof(string), "ShortName", new CultureInfo("ru-RU"))
                .ToString();
            var newsText = string.Format(ReceivedText, workerName, receivedDate);

            NewsHelper.AddTextToNews(requestDate, requestWorkerId, newsText);
        }
Ejemplo n.º 3
0
        private void PasswordBox_PasswordSubmited(object sender, RoutedEventArgs e)
        {
            AdministrationClass.OpenNewProgramEntry(Convert.ToInt32(UsersComboBox.SelectedValue));

            HideLoginGrid(true);
            App.SW();

            //if (UsersComboBox.SelectedValue == null)
            //{
            //    UsersComboBox.Text = string.Empty;
            //    PasswordBox.Password = string.Empty;
            //    return;
            //}

            //if (!string.IsNullOrEmpty(PasswordBox.Password))
            //{
            //    if (_sc.CheckPassword(PasswordBox.Password, Convert.ToInt32(UsersComboBox.SelectedValue)))
            //    {
            //        AdministrationClass.OpenNewProgramEntry(Convert.ToInt32(UsersComboBox.SelectedValue));

            //        HideLoginGrid(true);
            //        App.SW();
            //    }
            //    else
            //    {
            //        PasswordBox.EmphasisText = "Неверный пароль";
            //        PasswordBox.IsEmphasized = true;
            //    }
            //}
            //else
            //{
            //    PasswordBox.EmphasisText = "Введите пароль";
            //}
        }
Ejemplo n.º 4
0
 private void LoadPersonalInformation()
 {
     UserNameLabel.Content   = _sc.GetWorkerName(AdministrationClass.CurrentWorkerId);
     CurrentUserImage.Source =
         AdministrationClass.ObjectToBitmapImage(
             _sc.GetObjectPhotoFromDataBase(AdministrationClass.CurrentWorkerId));
 }
Ejemplo n.º 5
0
        // Edit choosen module
        private void EditModuleButton_Click(object sender, RoutedEventArgs e)
        {
            if (ModulesViewListBox.SelectedItem == null)
            {
                return;
            }

            var opacityAnimation = new DoubleAnimation(0, new Duration(new TimeSpan(0, 0, 0, 0, 150)));

            opacityAnimation.Completed += (s, args) =>
            {
                ModulesViewGrid.Visibility     = Visibility.Hidden;
                ModulesRedactorGrid.Visibility = Visibility.Visible;
                ChangeModuleButton.Visibility  = Visibility.Visible;
                AddNewModuleButton.Visibility  = Visibility.Hidden;

                ModulesRedactorGrid.DataContext = null;
                ModulesRedactorGrid.DataContext = ModulesViewListBox.SelectedItem;
                TileButton.IconTile             =
                    ((DataRowView)ModulesViewListBox.SelectedItem).Row["ModuleIcon"] !=
                    DBNull.Value
                                                      ? AdministrationClass.ObjectToBitmapImage(
                        ((DataRowView)ModulesViewListBox.SelectedItem).Row[
                            "ModuleIcon"])
                                                      : null;

                opacityAnimation = new DoubleAnimation(1,
                                                       new Duration(new TimeSpan(0, 0, 0, 0, 150)));
                OpacityGrid.BeginAnimation(OpacityProperty, opacityAnimation);
            };

            OpacityGrid.BeginAnimation(OpacityProperty, opacityAnimation);
        }
Ejemplo n.º 6
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            AdministrationClass.OpenNewModuleEntry(AdministrationClass.Modules.WorkersStimulation);

            NotificationManager.ClearNotifications(AdministrationClass.Modules.WorkersStimulation);

            if (_firstRun)
            {
                var backgroundWorker = new BackgroundWorker();
                backgroundWorker.DoWork             += (o, args) => FillData();
                backgroundWorker.RunWorkerCompleted += (o, args) =>
                {
                    FillBindings();

                    _mw = Window.GetWindow(this) as MainWindow;
                    if (_mw != null)
                    {
                        _mw.HideWaitAnnimation();
                    }
                };

                backgroundWorker.RunWorkerAsync();

                _firstRun = false;
            }
            else
            {
                var mainWindow = Application.Current.MainWindow as MainWindow;
                if (mainWindow != null)
                {
                    mainWindow.HideWaitAnnimation();
                }
            }
        }
Ejemplo n.º 7
0
        // Save changes
        private void ChangeModuleButton_Click(object sender, RoutedEventArgs e)
        {
            if (ModulesViewListBox.SelectedItem == null || string.IsNullOrEmpty(ModuleNameTextBox.Text) ||
                string.IsNullOrEmpty(ModuleDescriptionTextBox.Text) || string.IsNullOrEmpty(ModuleColorTextBox.Text) ||
                TileButton.IconTile == null)
            {
                return;
            }

            Color moduleColor;

            try
            {
                var convertFrom = new ColorConverter().ConvertFrom(ModuleColorTextBox.Text);
                moduleColor = (Color)convertFrom;
            }
            catch
            {
                return;
            }

            var moduleId          = Convert.ToInt32(ModulesViewListBox.SelectedValue);
            var moduleName        = ModuleNameTextBox.Text;
            var moduleDescription = ModuleDescriptionTextBox.Text;
            var iconData          = AdministrationClass.BitmapImageToByte((BitmapImage)TileButton.IconTile);
            var showInFileStorage = Convert.ToBoolean(ShowInFileStorageCheckBox.IsChecked);
            var isSwitchOff       = Convert.ToBoolean(IsSwitchOffCheckBox.IsChecked);

            _admc.ChangeModule(moduleId, moduleName, moduleDescription, iconData,
                               moduleColor, showInFileStorage, isSwitchOff);
            AdministrationClass.AddNewAction(105);

            CancelEditModuleButton_Click(null, null);
        }
Ejemplo n.º 8
0
        private void OnInfoButtonClick(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;

            if (button == null)
            {
                return;
            }

            var worker = button.DataContext as DataRowView;

            if (worker == null)
            {
                return;
            }

            var workerId   = System.Convert.ToInt64(worker["WorkerID"]);
            var mainWindow = Application.Current.MainWindow as MainWindow;

            if (mainWindow != null)
            {
                var hasFullAccess          = AdministrationClass.HasFullAccess(AdministrationClass.Modules.Workers);
                var workerPersonalInfoPage = new WorkerPersonalInfoPage(workerId, hasFullAccess);
                mainWindow.ShowCatalogGrid(workerPersonalInfoPage, "Информация по работнику");
            }
        }
Ejemplo n.º 9
0
        //private void AddReceivedInfo(DataRow dataRow)
        //{
        //    int crashMachineId = Convert.ToInt32(dataRow["CrashMachineID"]);
        //    DateTime receivedDate = App.BaseClass.GetDateFromSqlServer();
        //    string receivedNote = null;
        //    if (!string.IsNullOrEmpty(receivedEditNoteTextBox.Text))
        //        receivedNote = receivedEditNoteTextBox.Text;
        //    _sec.FillReceivedInfo(crashMachineId, receivedDate, _curWorkerId, receivedNote);

        //    var requestDate = Convert.ToDateTime(dataRow["RequestDate"]);
        //    var requestWorkerId = Convert.ToInt32(dataRow["RequestWorkerID"]);
        //    string workerName = string.Empty;
        //    workerName =
        //        _workerNameConverter.Convert(_curWorkerId, typeof (string), "ShortName", new CultureInfo("ru-RU"))
        //            .ToString();
        //    var newsText = string.Format(ReceivedText, workerName, receivedDate);

        //    NewsHelper.AddTextToNews(requestDate, requestWorkerId, newsText);
        //}

        //private void AddCompletionInfo(DataRow dataRow)
        //{
        //    int crashMachineId = Convert.ToInt32(dataRow["CrashMachineID"]);
        //    DateTime completionDate = App.BaseClass.GetDateFromSqlServer();
        //    string completionNote = null;
        //    if (!string.IsNullOrEmpty(completEditNoteTextBox.Text))
        //        completionNote = completEditNoteTextBox.Text;
        //    _sec.FillCompletionInfo(crashMachineId, completionDate, _curWorkerId, completionNote);

        //    var requestDate = Convert.ToDateTime(dataRow["RequestDate"]);
        //    var requestWorkerId = Convert.ToInt32(dataRow["RequestWorkerID"]);
        //    string workerName = string.Empty;
        //    workerName = _workerNameConverter.Convert(_curWorkerId, typeof(string), "ShortName", new CultureInfo("ru-RU")).ToString();
        //    var newsText = string.Format(RequestClosedText, workerName, completionDate);

        //    NewsHelper.AddTextToNews(requestDate, requestWorkerId, newsText);
        //}

        private void AddLaunchInfo(DataRow dataRow)
        {
            var    crashMachineId = Convert.ToInt32(dataRow["CrashMachineID"]);
            var    launchDate     = App.BaseClass.GetDateFromSqlServer();
            string launchNote     = null;

            if (!string.IsNullOrEmpty(launchEditNoteTextBox.Text))
            {
                launchNote = launchEditNoteTextBox.Text;
            }
            _sec.FillLaunchInfo(crashMachineId, launchDate, _curWorkerId, launchNote);
            AdministrationClass.AddNewAction(11);

            var requestDate     = Convert.ToDateTime(dataRow["RequestDate"]);
            var requestWorkerId = Convert.ToInt32(dataRow["RequestWorkerID"]);
            var workerName      =
                _workerNameConverter.Convert(_curWorkerId, typeof(string), "ShortName", new CultureInfo("ru-RU"))
                .ToString();
            var newsText = string.Format(RequestClosedText, workerName, launchDate);

            NewsHelper.AddTextToNews(requestDate, requestWorkerId, newsText);

            _mw = Window.GetWindow(this) as MainWindow;
            if (_mw != null)
            {
                var servEquipPage = _mw.MainFrame.Content as XamlFiles.ServiceEquipmentPage;
                if (servEquipPage != null)
                {
                    servEquipPage.OpenPopup(dataRow["GlobalID"]);
                }
            }
        }
Ejemplo n.º 10
0
        private void AddCompletionInfo(DataRow dataRow)
        {
            var    crashMachineId = Convert.ToInt32(dataRow["TechnologyProblemID"]);
            var    completionDate = App.BaseClass.GetDateFromSqlServer();
            string completionNote = null;

            if (!string.IsNullOrEmpty(CompletEditNoteTextBox.Text))
            {
                completionNote = CompletEditNoteTextBox.Text;
            }
            _tpr.CompleteRequest(crashMachineId, completionDate, _curWorkerId, completionNote);
            AdministrationClass.AddNewAction(19);

            var requestDate     = Convert.ToDateTime(dataRow["RequestDate"]);
            var requestWorkerId = Convert.ToInt32(dataRow["RequestWorkerID"]);
            var workerName      =
                _workerNameConverter.Convert(_curWorkerId, typeof(string), "ShortName", new CultureInfo("ru-RU"))
                .ToString();
            var newsText = string.Format(RequestClosedText, workerName, completionDate);

            NewsHelper.AddTextToNews(requestDate, requestWorkerId, newsText);


            _mw = Window.GetWindow(this) as MainWindow;
            if (_mw != null)
            {
                var techProbPage = _mw.MainFrame.Content as XamlFiles.TechnologyProblemPage;
                if (techProbPage != null)
                {
                    techProbPage.OpenPopup(dataRow["GlobalID"]);
                }
            }
        }
Ejemplo n.º 11
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Splasher.SetStatusText("Загрузка новостной ленты");

            if (_firstRun)
            {
                _firstRun = false;

                GetClasses();
                SetBindings();

                BindingLoginData();

                MainFrame.Navigate(_newsFeed);


                if (App.AppArguments[0] == "-m")
                {
                    var lastExit = AdministrationClass.LastModuleExit(AdministrationClass.Modules.NewsFeed);
                    _newsFeed.ShowNews(lastExit);

                    NotificationManager.ShowNotifications(AdministrationClass.CurrentWorkerId);

                    _workshopMode = false;
                }
            }

            Splasher.CloseSplashWindow();
            ShowInTaskbar = true;
            WindowState   = WindowState.Maximized;
        }
Ejemplo n.º 12
0
        private void GoHomeButton_Click(object sender, RoutedEventArgs e)
        {
            if (MainFrame.HasContent)
            {
                if (!(MainFrame.Content is NewsFeed))
                {
                    _newsFeed = new NewsFeed();

                    MainFrame.Navigate(_newsFeed);

                    var lastExit = AdministrationClass.LastModuleExit(AdministrationClass.Modules.NewsFeed);
                    _newsFeed.ShowNews(lastExit);

                    NotificationManager.ShowNotifications(AdministrationClass.CurrentWorkerId);
                }
            }

            if (MenuPopupBorder.Child != null)
            {
                MenuPopupBorder.Child = null;
                MainGrid.Children.Add(MenuGrid);
            }

            MenuListBox.SelectedItems.Clear();
        }
Ejemplo n.º 13
0
        private void Application_DispatcherUnhandledException(object sender,
                                                              System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
        {
            MessageBox.Show(
                e.Exception.Message +
                "\n\nПерезапустите приложение. Если ошибка повторится, обратитесь к администратору.", "Ошибка",
                MessageBoxButton.OK, MessageBoxImage.Error);

            var userName        = string.Empty;
            var machineName     = string.Empty;
            var osVersion       = string.Empty;
            var windowsIdentity = WindowsIdentity.GetCurrent();

            if (windowsIdentity != null)
            {
                userName    = windowsIdentity.Name.ToString(CultureInfo.InvariantCulture);
                machineName = Environment.MachineName.ToString(CultureInfo.InvariantCulture);
                osVersion   = Environment.OSVersion.VersionString;
            }

            var message    = e.Exception.Message;
            var source     = e.Exception.Source;
            var targetSite = e.Exception.TargetSite.ToString();
            var stackTrace = e.Exception.StackTrace;


            AdministrationClass.SendMessageToServer(userName, machineName, osVersion,
                                                    message, source, targetSite, stackTrace);

            AdministrationClass.SendMessageToReport(userName, machineName, osVersion,
                                                    message, source, targetSite, stackTrace);

            CloseAdministrationJournal();
        }
Ejemplo n.º 14
0
        private void SetBindings()
        {
            _currentDate = App.BaseClass.GetDateFromSqlServer();
            _timeTimer.Start();
            TimeTimer_Tick(null, null);

            if (App.AppArguments[0] == "-m")
            {
                MenuListBox.ItemsSource = AdministrationClass.GetAvailableModulesForWorker().DefaultView;
                AdministrationClass.GetFavoritesModulesIdsForWorker();

                MenuGroupsListBox.SelectedIndex = 0;
                MenuGroupsListBox_SelectionChanged(null, null);

                LoadPersonalInformation();

                SetDefaultViewWorkingDayGrid();
                CalculateWorkerTime();
            }
            else if (App.AppArguments[0] == "-w")
            {
                //GoHomeButton_Click(null, null);

                UserGrid.Visibility = Visibility.Collapsed;
                MinimazeMenu();

                _newsFeed.ShowNews();

                WorkerLoginGrid.Visibility = Visibility.Visible;
            }
            //GetWorkerStat();
        }
        private void OnExportReportButtonClick(object sender, RoutedEventArgs e)
        {
            if (_workerRequest == null)
            {
                return;
            }

            if (FactoryComboBox.SelectedItem == null || WorkerProfessionsListBox.SelectedItem == null ||
                MainWorkerProfessionsListBox.SelectedItem == null)
            {
                return;
            }

            var factoryId     = Convert.ToInt32(FactoryComboBox.SelectedValue);
            var directoryName = factoryId == 1 ? "Авдей Ф.А." : factoryId == 2 ? "Авдей М.А." : string.Empty;
            var reportStruct  = new WorkerRequestMicrosoftWordReportStruct()
            {
                FactoryId              = factoryId,
                DirectoryName          = directoryName,
                ProfessionId           = Convert.ToInt64(WorkerProfessionsListBox.SelectedValue),
                WorkerId               = Convert.ToInt32(_workerRequest["WorkerID"]),
                SalarySaveType         = (SalarySaveType)_workerRequest["SalarySaveTypeID"],
                IntervalType           = (IntervalType)_workerRequest["IntervalTypeID"],
                RequestDate            = Convert.ToDateTime(_workerRequest["RequestDate"]),
                RequestFinishDate      = Convert.ToDateTime(_workerRequest["RequestFinishDate"]),
                WorkingOffType         = (WorkingOffType)_workerRequest["WorkingOffTypeID"],
                WorkerNotes            = _workerRequest["RequestNotes"].ToString(),
                MainWorkerProfessionId = Convert.ToInt64(MainWorkerProfessionsListBox.SelectedValue),
                MainWorkerId           = Convert.ToInt32(_workerRequest["MainWorkerID"])
            };

            ExportToWord.CreateWorkerRequestReport(reportStruct);
            AdministrationClass.AddNewAction(84);
        }
Ejemplo n.º 16
0
        private void OnMenuItemClick(object sender, RoutedEventArgs e)
        {
            if (MainDataGrid.SelectedItem == null || MainDataGrid.Items.Count == 0)
            {
                return;
            }

            var drv = (DataRowView)MainDataGrid.SelectedItem;

            if (drv != null)
            {
                var result = MessageBox.Show("Вы действительно хотите удалить запись?", "Удаление",
                                             MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (result == MessageBoxResult.Yes)
                {
                    var techProblemId = Convert.ToInt32(drv.Row["TechnologyProblemID"]);
                    var globalId      = drv["GlobalID"].ToString();

                    var requestDate     = Convert.ToDateTime(drv["RequestDate"]);
                    var requestWorkerId = Convert.ToInt32(drv["RequestWorkerID"]);

                    _taskClass.DeleteTaskByGlobalId(globalId);

                    _tpr.DeleteTechnologyProblem(techProblemId);
                    AdministrationClass.AddNewAction(21);

                    if (MainDataGrid.Items.Count != 0)
                    {
                        MainDataGrid.SelectedIndex = 0;
                    }

                    NewsHelper.DeleteNews(requestDate, requestWorkerId);
                }
            }
        }
Ejemplo n.º 17
0
        private static void NotificationsUpdateTimerOnTick(object sender, EventArgs eventArgs)
        {
            // Fill notification info for current worker
            FillNotifications(_workerId);

            // Fill module information
            if (_administrationClass == null)
            {
                App.BaseClass.GetAdministrationClass(ref _administrationClass);
            }

            // Calculate notifications for available modules
            foreach (var tileNotification in TileNotifications)
            {
                var module = tileNotification.Module;
                tileNotification.NotificationsCount = GetNotificationsCount(module);
            }

            // Show new notifications
            var modulesWithNotifications =
                (from notifications in NotificationsTable.AsEnumerable()
                 where notifications.Field <Boolean>("ShowNotification")
                 select notifications.Field <Int64>("ModuleID")).Distinct().ToList();

            foreach (var module in modulesWithNotifications)
            {
                var moduleId   = module;
                var moduleRows =
                    _administrationClass.ModulesTable.AsEnumerable().Where(m => m.Field <Int64>("ModuleID") == moduleId);
                if (!moduleRows.Any())
                {
                    continue;
                }

                // Creating notification properties
                var moduleRow        = moduleRows.First();
                var notificationIcon = moduleRow["ModuleIcon"] != DBNull.Value
                    ? AdministrationClass.ObjectToBitmapImage(moduleRow["ModuleIcon"])
                    : null;
                var notificationTitle = string.Format("{0}", moduleRow["ModuleName"]);
                var notificationCount = GetNotificationsCount((AdministrationClass.Modules)module);
                var notificationText  = string.Format("Новых записей: {0}", notificationCount);
                var convertedBrush    = new BrushConverter().ConvertFrom(moduleRow["ModuleColor"]) as Brush;
                var notificationBrush = convertedBrush ?? Brushes.Transparent;

                // Create Notification
                var notification = new Notification
                {
                    Title   = notificationTitle,
                    Message = notificationText,
                    Image   = notificationIcon,
                    Brush   = notificationBrush
                };
                _growNotifications.AddNotification(notification);

                // Clear 'ShowNotification' for module
                ClearShowNotifications((AdministrationClass.Modules)module);
            }
        }
Ejemplo n.º 18
0
        private static string GetFilterString(NewsStatus newsStatus, int?prodStatusId)
        {
            var filterString = string.Format("WHERE NewsStatus = {0}", newsStatus.NewsStatusId);

            // Geting available production statuses for worker
            if (newsStatus.NewsStatusId == 6 || newsStatus.NewsStatusId == 7)
            {
                if (prodStatusId.HasValue)
                {
                    filterString += string.Format(" AND ProdStatusID = {0}", prodStatusId.Value);
                }

                // Return all messages if user is administrator
                else if (!AdministrationClass.IsAdministrator)
                {
                    //var workerGroups = GetWorkerGroupsIds(AdministrationClass.CurrentWorkerId);
                    //if (workerGroups.All(g => g != 1))
                    //{
                    var workerProdStatuses = GetWorkerProdStatuses(AdministrationClass.CurrentWorkerId);
                    if (workerProdStatuses.Any())
                    {
                        var workerProdStatusesString = workerProdStatuses.Aggregate(string.Empty, (current, prodStatus) => current + ", " + prodStatus).Remove(0, 2);
                        filterString += " AND (ProdStatusID IN (" + workerProdStatusesString + ") OR ProdStatusID IS NULL)";
                    }
                    else
                    {
                        filterString += " AND ProdStatusID IS NULL";
                    }
                    //}
                }
            }

            // Worker requests
            if (newsStatus.NewsStatusId == 9 && !AdministrationClass.IsAdministrator)
            {
                var fullAccess = AdministrationClass.HasFullAccess(AdministrationClass.Modules.WorkerRequests);
                if (!fullAccess)
                {
                    // Get personal worker requests
                    var workerRequestsGlobalIdsString = GetPersonalWorkerRequestsGlobalIds();
                    filterString += " AND GlobalID IN (" + workerRequestsGlobalIdsString + ")";
                }
            }

            // Worker tasks
            if (newsStatus.NewsStatusId == 11 && !AdministrationClass.IsAdministrator)
            {
                // Get GlobalIds of personal messages

                var globalIdsString = GetPersonalTasksGlobalIds();

                filterString += " AND GlobalID IN (" + globalIdsString + ")";
            }

            return(filterString);
        }
Ejemplo n.º 19
0
        private void SaveSectionsButton_Click(object sender, RoutedEventArgs e)
        {
            _cc.SaveWorkSections();
            AdministrationClass.AddNewAction(29);

            SaveSectionsButton.Content = "Сохранено";
            //SaveSectionsButton.Foreground = (Brush)new BrushConverter().ConvertFrom("#3C9300");
            _saveButtons.Add(SaveSectionsButton);
            _tmr.Start();
        }
Ejemplo n.º 20
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            int i = 0;

            _arguments = new string[e.Args.Length];

            foreach (string arg in e.Args)
            {
                _arguments[i] = arg;
                i++;
            }

            if (!_arguments.Any())
            {
                ShutdownApp();
                return;
            }

            _base = new BaseClass();
            _cc   = new ConnectionClass(_arguments[1]);

            switch (_arguments[1])
            {
            case "-lc":
                _ftpUrl = @"ftp://192.168.1.200/";
                break;

            case "-ic":
                _ftpUrl = @"ftp://82.209.219.219/";
                break;

            case "-mc":
                _ftpUrl = @"ftp://192.168.1.200/";
                break;
            }
            //AdministrationClass.GrandFirewallAuthorization();

            Splasher.ShowSplashWindow("Подготовка к началу работы программы", _arguments[0]);
            Splasher.SetStatusText("Пропускай");



            Splasher.SetStatusText("Очистка Temp");
            AdministrationClass.CleatTempFolder();

            //можно выкл
            //-------------------------------------------------
            //Splasher.SetStatusText("Очистка FtpTemp");
            //AdministrationClass.ClearFtpTempFolder();
            //-------------------------------------------------


            Splasher.SetStatusText("Подготовка к началу работы программы завершена");
        }
Ejemplo n.º 21
0
        private void UsersComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (_photoLoaderThread != null && _photoLoaderThread.IsAlive)
            {
                _photoLoaderThread.Abort();
                _photoLoaderThread.Join();
            }

            if (UsersComboBox.SelectedValue == null)
            {
                HideAnimation();
                UserImage.Visibility = Visibility.Visible;
                var bitmapImage = new BitmapImage();
                bitmapImage.BeginInit();
                bitmapImage.CacheOption = BitmapCacheOption.None;
                bitmapImage.UriSource   = new Uri("pack://application:,,,/Resources/nophoto.jpg", UriKind.Absolute);
                bitmapImage.EndInit();
                UserImage.Source = bitmapImage;
                return;
            }

            var workerId = Convert.ToInt32(UsersComboBox.SelectedValue);

            UserImage.Visibility = Visibility.Hidden;
            ShowAnimation();

            _photoLoaderThread = new Thread(() =>
            {
                var photo = _sc.GetObjectPhotoFromDataBase(workerId);
                Dispatcher.BeginInvoke(DispatcherPriority.Background, new ThreadStart(() =>
                {
                    if (photo != DBNull.Value)
                    {
                        var resultImage  = AdministrationClass.ObjectToBitmapImage(photo);
                        UserImage.Source = resultImage;
                    }
                    else
                    {
                        var bitmapImage = new BitmapImage();
                        bitmapImage.BeginInit();
                        bitmapImage.CacheOption = BitmapCacheOption.None;
                        bitmapImage.UriSource   = new Uri("pack://application:,,,/Resources/nophoto.jpg", UriKind.Absolute);
                        bitmapImage.EndInit();
                        UserImage.Source = bitmapImage;
                    }

                    HideAnimation();
                    UserImage.Visibility = Visibility.Visible;
                }));
            });
            _photoLoaderThread.SetApartmentState(ApartmentState.STA);
            _photoLoaderThread.IsBackground = true;
            _photoLoaderThread.Start();
        }
Ejemplo n.º 22
0
        public bool GetAdministrationClass(ref AdministrationClass ac, bool refreshClass = false)
        {
            bool isFill = false;

            if (_ac == null || refreshClass)
            {
                _ac    = new AdministrationClass(App.ConnectionInfo.ConnectionString);
                isFill = true;
            }
            ac = _ac;

            return(isFill);
        }
Ejemplo n.º 23
0
        private void OnPlannedWorksTypesOkButtonClick(object sender, RoutedEventArgs e)
        {
            var plannedWorksTypeName = PlannedWorksTypeNameTextBox.Text.Trim();

            if (string.IsNullOrEmpty(plannedWorksTypeName))
            {
                return;
            }

            _plannedWorksClass.AddPlannedWorksType(plannedWorksTypeName);
            AdministrationClass.AddNewAction(50);

            OnPlannedWorksTypesDontAddButtonClick(null, null);
        }
Ejemplo n.º 24
0
        private void OnEmptyWorkReasonsOkButtonClick(object sender, RoutedEventArgs e)
        {
            var emptyWorkReasonName = EmptyWorkReasonNameTextBox.Text.Trim();

            if (string.IsNullOrEmpty(emptyWorkReasonName))
            {
                return;
            }

            _plannedWorksClass.AddEmptyWorkReason(emptyWorkReasonName);
            AdministrationClass.AddNewAction(53);

            OnEmptyWorkReasonsDontAddButtonClick(null, null);
        }
Ejemplo n.º 25
0
        private void OnSaveRaportButtonClick(object sender, RoutedEventArgs e)
        {
            var actionsView = ActionsItemsControl.ItemsSource as DataView;

            if (actionsView == null)
            {
                return;
            }

            if (actionsView.Table.AsEnumerable().All(r => !r.Field <bool>("IsDoneAction")))
            {
                return;
            }

            var workerId    = AdministrationClass.CurrentWorkerId;
            var currentDate = App.BaseClass.GetDateFromSqlServer();
            var addInfo     = AdditionalInfoTextBox.Text.Trim();

            foreach (DataRowView actionView in actionsView)
            {
                var actionId       = Convert.ToInt32(actionView["ActionID"]);
                var actionStatusId = Convert.ToInt32(actionView["ActionStatus"]);
                var isDoneAction   = Convert.ToBoolean(actionView["IsDoneAction"]);
                _prodRoomsClass.AddWorkerReport(workerId, actionId, actionStatusId, currentDate, addInfo, isDoneAction);
            }

            if (_actionStatusId == 1)
            {
                AdministrationClass.AddNewAction(74);
            }
            else
            {
                AdministrationClass.AddNewAction(73);
            }

            var mainWindow = Window.GetWindow(this) as MainWindow;

            if (mainWindow != null)
            {
                var mainFrame     = mainWindow.MainFrame;
                var prodRoomsPage = mainFrame.Content as XamlFiles.ProdRoomsPage;
                if (prodRoomsPage != null)
                {
                    prodRoomsPage.SetRaportComboBoxItemsAvailability();
                }
            }

            OnCancelButtonClick(null, null);
        }
Ejemplo n.º 26
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value == null)
            {
                return(null);
            }

            var asyncTask = new AsyncTask();
            var thread    = new Thread(() =>
            {
                BitmapImage resphoto = null;

                int workerId;
                var sucess = Int32.TryParse(value.ToString(), out workerId);
                if (sucess)
                {
                    App.BaseClass.GetStaffClass(ref _sc);

                    if (_sc != null)
                    {
                        var photo = _sc.GetObjectPhotoFromDataBase(workerId);

                        if (photo != DBNull.Value)
                        {
                            resphoto = AdministrationClass.ObjectToBitmapImage(photo);
                        }
                        else
                        {
                            var bitmapImage = new BitmapImage();
                            bitmapImage.BeginInit();
                            bitmapImage.CacheOption = BitmapCacheOption.None;
                            bitmapImage.UriSource   = new Uri("pack://application:,,,/Resources/user.png",
                                                              UriKind.Absolute);
                            bitmapImage.EndInit();
                            bitmapImage.Freeze();
                            resphoto = bitmapImage;
                        }
                    }
                }

                asyncTask.AsyncValue = resphoto;
            });

            thread.SetApartmentState(ApartmentState.STA);
            thread.IsBackground = true;
            thread.Start();

            return(asyncTask);
        }
Ejemplo n.º 27
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            AdministrationClass.OpenNewModuleEntry(AdministrationClass.Modules.Workers);

            NotificationManager.ClearNotifications(AdministrationClass.Modules.Workers);

            if (_firstRun)
            {
                //LayoutUpdated += StaffPage_LayoutUpdated;
                _basicDirectory = App.GetFtpUrl + @"FtpFaII/WorkerFiles/";

                var backgroundWorker = new BackgroundWorker();

                backgroundWorker.DoWork += (o, args) =>
                                           GetClasses();

                backgroundWorker.RunWorkerCompleted += (o, args) =>
                {
                    SetBindings();
                    SetEnables(_fullAccess);

                    var mainWindow = Application.Current.MainWindow as MainWindow;
                    if (mainWindow != null)
                    {
                        mainWindow.HideWaitAnnimation();
                    }

                    _ftpClient = new FtpClient(_basicDirectory, "fa2app", "Franc1961");
                    _ftpClient.UploadProgressChanged   += OnUploadProgressChanged;
                    _ftpClient.DownloadProgressChanged += OnDownloadProgressChanged;
                    if (!_ftpClient.DirectoryExist(_basicDirectory))
                    {
                        _ftpClient.MakeDirectory(_basicDirectory);
                    }
                };

                backgroundWorker.RunWorkerAsync();

                _firstRun = false;
            }
            else
            {
                var mainWindow = Application.Current.MainWindow as MainWindow;
                if (mainWindow != null)
                {
                    mainWindow.HideWaitAnnimation();
                }
            }
        }
Ejemplo n.º 28
0
        private void AddNewSubsectionButton_Click(object sender, RoutedEventArgs e)
        {
            if (NewSubsectionNameTextBox.Text.Trim() == string.Empty)
            {
                return;
            }

            _cc.AddWorkSubsection(Convert.ToInt32(WorkSectionsListBox.SelectedValue), NewSubsectionNameTextBox.Text);

            NewSubsectionNameTextBox.Text = string.Empty;

            AddNewSubsectionGrid.Visibility = Visibility.Hidden;

            AdministrationClass.AddNewAction(26);
        }
Ejemplo n.º 29
0
        // Delete choosen module
        private void DeleteModuleButton_Click(object sender, RoutedEventArgs e)
        {
            if (ModulesViewListBox.SelectedItem == null)
            {
                return;
            }

            if (MetroMessageBox.Show("Вы действительно хотите удалить выбранный модуль?", "Удаление",
                                     MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                var moduleId = Convert.ToInt32(ModulesViewListBox.SelectedValue);
                _admc.DeleteModule(moduleId);
                AdministrationClass.AddNewAction(104);
            }
        }
Ejemplo n.º 30
0
        private void StaffListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (StaffListBox.Items.Count == 0)
            {
                return;
            }
            if (StaffListBox.SelectedValue == null && StaffListBox.SelectedItem == null)
            {
                return;
            }

            int currentWorkerId = Convert.ToInt32(StaffListBox.SelectedValue);

            var currentStaffInfoRow = (DataRowView)StaffListBox.SelectedItem;

            MainStaffGrid.DataContext = currentStaffInfoRow;


            StaffPhotoImage.Source =
                AdministrationClass.ObjectToBitmapImage(_sc.GetObjectPhotoFromDataBase(currentWorkerId));

            _workerProfessionsCollection.RowFilter = "WorkerID =" + currentWorkerId;
            ((DataView)AdditionalWorkersProfessionsDataGrid.ItemsSource).RowFilter = "WorkerID =" + currentWorkerId;
            ((DataView)StaffAdressesDataGrid.ItemsSource).RowFilter     = "WorkerID =" + currentWorkerId;
            ((DataView)StaffEducatioDataGrid.ItemsSource).RowFilter     = "WorkerID =" + currentWorkerId;
            ((DataView)StaffContactsItemsControl.ItemsSource).RowFilter = "WorkerID =" + currentWorkerId;
            ((DataView)StaffSkillsItemsControl.ItemsSource).RowFilter   = "WorkerID =" + currentWorkerId;
            ((BindingListCollectionView)WorkerAdmissionsItemsControl.ItemsSource).CustomFilter = "WorkerID = " + currentWorkerId;

            PassportNumberTextBlock.Text = currentStaffInfoRow["PassportNumber"].ToString();

            if (currentStaffInfoRow["PassportIssueDate"] != DBNull.Value)
            {
                PassportIssueDateDatePicker.SelectedDate =
                    Convert.ToDateTime(currentStaffInfoRow["PassportIssueDate"].ToString());
            }

            PassportAuthorityIssuingTextBox.Text = currentStaffInfoRow["PassportAuthorityIssuing"].ToString();

            if (WorkerFilesList.ItemsSource != null)
            {
                ((DataView)WorkerFilesList.ItemsSource).RowFilter = "WorkerID = " + currentWorkerId;
            }

            FilterPromotions();

            ((DataView)MainWorkersListBox.ItemsSource).RowFilter = "WorkerID= " + currentWorkerId;
        }