private void bReplaceUpgrade_Click(object sender, RoutedEventArgs e)
        {
            requestedService currentRS = dgServices.SelectedItem as requestedService;

            if (currentRS == null)
            {
                MessageBox.Show("Услуга не выбрана");
            }
            else if (currentRS.service.name != "Замена модуля")
            {
                MessageBox.Show("Данная заявка не требует установки модулей");
            }
            else
            {
                List <upgradeReplacement> ur = core.serviceCenterDB.upgradesReplacements.Where(u => u.clientDeviceId == currentRS.clientDeviceId).ToList();

                {
                    Windows.replaceUpgradeModuleWindow w = new Windows.replaceUpgradeModuleWindow(ur, currentRS.clientDevice, null);
                    w.bAddModule.Visibility           = w.bSave.Visibility = Visibility.Collapsed;
                    w.bCancel.Content                 = "Закрыть";
                    w.dgModules.Columns[4].Visibility = Visibility.Collapsed;
                    w.ShowDialog();
                }
            }
        }
Ejemplo n.º 2
0
        private void bReplaceUpgrade_Click(object sender, RoutedEventArgs e)
        {
            Int32            reqestedServiceID = (dbGridMyServiceExecution.SelectedItem as repairerExecuteServices_Result).Id;
            requestedService currentRS         = core.serviceCenterDB.requestedServices.Where(rs => rs.Id == reqestedServiceID).First();

            if (currentRS.service.name != "Замена модуля")
            {
                MessageBox.Show("Данная заявка не требует установки модулей");
            }
            else if (currentRS.stageOfImplementation.name == "Выполнено")
            {
                MessageBox.Show("Заявка уже выполнена");
            }
            else
            {
                List <upgradeReplacement> ur = core.serviceCenterDB.upgradesReplacements.Where(u => u.clientDeviceId == currentRS.clientDeviceId).ToList();
                if (ur.Count == 0)
                {
                    Windows.replaceUpgradeModuleWindow w = new Windows.replaceUpgradeModuleWindow(currentRS.clientDevice, currentUser);
                    w.ShowDialog();
                    if (w.DialogResult == true)
                    {
                        foreach (var i in w.UR)
                        {
                            core.serviceCenterDB.upgradesReplacements.Add(i);
                        }
                        core.serviceCenterDB.SaveChanges();
                    }
                }

                else
                {
                    Windows.replaceUpgradeModuleWindow w = new Windows.replaceUpgradeModuleWindow(ur, currentRS.clientDevice, currentUser);
                    w.ShowDialog();
                    if (w.DialogResult == true)
                    {
                        List <upgradeReplacement> urOrigin = core.serviceCenterDB.upgradesReplacements.Where(u => u.clientDeviceId == currentRS.clientDeviceId).ToList();
                        foreach (var i in urOrigin)
                        {
                            if (!ur.Contains(i))
                            {
                                core.serviceCenterDB.upgradesReplacements.Remove(i);
                            }
                        }

                        foreach (var i in w.UR)
                        {
                            var entry = core.serviceCenterDB.Entry(i);
                            if (entry.State == System.Data.Entity.EntityState.Detached)
                            {
                                core.serviceCenterDB.upgradesReplacements.Add(i);
                            }
                        }
                        core.serviceCenterDB.SaveChanges();
                    }
                }
            }
        }