コード例 #1
0
 public void Delete()
 {
     if (SelectedDataItem != null)
     {
         if (MessageBox.Show("Are you sure you want to delete all selected Groups??",
                             "Delete",
                             MessageBoxButton.YesNo,
                             MessageBoxImage.Warning) == MessageBoxResult.Yes)
         {
             IsInProgress = true;
             new Thread(() =>
             {
                 foreach (var item in DataGridSource)
                 {
                     if (item.IsChecked)
                     {
                         try
                         {
                             DataAccess.DeleteGroup(item.GId);
                             DataAccess.DeleteGroupRoles(item.GId);
                         }
                         catch { MessageBox.Show("could not open connection with server!\nCheck your internet connection or server is connected", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); }
                     }
                 }
                 DataGridSource.ReFill(DataGridSource.Where(x => !x.IsChecked).ToList());
                 IsInProgress = false;
             })
             {
                 IsBackground = true
             }.Start();
             GroupRolesSource.Clear();
         }
     }
 }
コード例 #2
0
ファイル: MainWindowVM.cs プロジェクト: jljse/rmvvml
 public MainWindowVM()
 {
     for (var i = 0; i < 100; ++i)
     {
         DataGridSource.Add(new ItemVM());
     }
 }
コード例 #3
0
        public void Add()
        {
            VPersonAdd add = new VPersonAdd(PersonsTypes, CommTypes);

            if (add.ShowDialog() == true)
            {
                var dataContext = (add.DataContext as VMPersonAdd);
                PersonsCommunication.AddRange(dataContext.AddedCommunication);
                PersonsAddress.AddRange(dataContext.AddedAddress);
                var AddedPerson = dataContext.AddedPerson;
                var adress      = PersonsAddress.Where(x => x.PeAdPerIdFk == AddedPerson.PeId).FirstOrDefault();
                if (adress != null)
                {
                    AddedPerson.PeAddress = $"{adress.PeAdCity.Trim()} - {adress.PeAdStreetName.Trim()}";
                }
                AddedPerson.Type = PersonsTypes.Where(x => x.CId == AddedPerson.PeType).FirstOrDefault().CName;
                var communication = PersonsCommunication.Where(x => x.CoPeIdFk == AddedPerson.PeId);
                AddedPerson.PhoneNo  = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Phone)).FirstOrDefault()?.CoValue;
                AddedPerson.MobileNo = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Mobile)).FirstOrDefault()?.CoValue;
                AddedPerson.Email    = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Emial)).FirstOrDefault()?.CoValue;

                Persons.Add(AddedPerson);
                DataGridSource.Add(dataContext.AddedPerson);
            }
        }
コード例 #4
0
        private void ExecuteStartCommand(object x)
        {
            if (serialPort == null)
            {
                serialPort = new SerialPort(SelectedComPort.DeviceID, 9600, Parity.None, 8, StopBits.One);

                // 改行コードまでUIに反映されないよう、システムの改行コードを設定しておく
                serialPort.NewLine = Environment.NewLine;
            }

            serialPort.Open();
            serialPort.DataReceived += (s, e) =>
            {
                var readData = serialPort.ReadLine();

                // ViewModelBaseのDispatcherプロパティを使って、UIスレッドに値を渡す
                Dispatcher.Invoke(new Action(() =>
                {
                    if (DataGridSource == null)
                    {
                        DataGridSource = new ObservableCollection <SerialPortModel>();
                    }
                    DataGridSource.Add(new SerialPortModel()
                    {
                        ReadData = readData
                    });
                }));
            };

            UpdateStatus();
        }
コード例 #5
0
 protected void SelectedConstantChanging(CodesModel newValue)
 {
     IsInProgress = true;
     if (newValue != null)
     {
         DataGridSource.ReFill(SystemConstants.Where(x => x.CMasterId == newValue.CId));
     }
     IsInProgress = false;
 }
コード例 #6
0
 public void Refresh()
 {
     new Thread(() =>
     {
         Thread inProgress = new Thread(() =>
         {
             IsInProgress = true;
             try
             {
                 Persons              = DataAccess.PersonsData();
                 PersonsAddress       = DataAccess.PersonsAddressData();
                 PersonsCommunication = DataAccess.PersonsCommunicationData();
                 PersonsTypes         = DataAccess.CodesData(SystemValues.MasterSystemConstants.PersonType);
                 CommTypes            = DataAccess.CodesData(SystemValues.MasterSystemConstants.CommunicationType);
             }
             catch { MessageBox.Show("could not open connection with server!\nCheck your internet connection or server is connected", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); }
             foreach (var item in Persons)
             {
                 var adress = PersonsAddress.Where(x => x.PeAdPerIdFk == item.PeId).FirstOrDefault();
                 if (adress != null)
                 {
                     item.PeAddress = $"{adress.PeAdCity.Trim()} - {adress.PeAdStreetName.Trim()}";
                 }
                 var communication = PersonsCommunication.Where(x => x.CoPeIdFk == item.PeId);
                 item.Type         = PersonsTypes.Where(x => x.CId == item.PeType).FirstOrDefault()?.CName;
                 item.PhoneNo      = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Phone)).FirstOrDefault()?.CoValue;
                 item.MobileNo     = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Mobile)).FirstOrDefault()?.CoValue;
                 item.Email        = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Emial)).FirstOrDefault()?.CoValue;
             }
         })
         {
             IsBackground = true
         };
         inProgress.Start();
         while (inProgress.IsAlive)
         {
             if (RotateAngle > 360)
             {
                 RotateAngle = 0;
             }
             RotateAngle += 18.25;
             Thread.Sleep(50);
         }
         while (RotateAngle > 0 && RotateAngle < 365)
         {
             RotateAngle += 18.25;
             Thread.Sleep(50);
         }
         RotateAngle = 0;
         DataGridSource.ReFill(Persons);
         IsInProgress = false;
     })
     {
         IsBackground = true
     }.Start();
 }
コード例 #7
0
        private void Form2_Load(object sender, EventArgs e)
        {
            List <string> displayColumns = new List <string>();

            displayColumns.Add("id");
            displayColumns.Add("Name");
            displayColumns.Add("Fruit");
            displayColumns.Add("BoughtFrom");
            displayColumns.Add("Date");

            List <GroupColumn> groupColumns = new List <GroupColumn>();

            groupColumns.Add(new GroupColumn("Quantity", GroupTypeEnum.Sum));

            String        connectionString = SolarDataManager.Properties.Settings.Default.SolarConnectionString;
            SqlConnection connection       = new SqlConnection(connectionString);

            connection.Open();

            SqlDataAdapter dataAdapter = new SqlDataAdapter(
                "SELECT * from dbo.prospect",
                connection);
            DataTable dtResult1 = new DataTable();

            dataAdapter.Fill(dtResult1);

            dataAdapter = new SqlDataAdapter(
                "select * from dbo.account",
                connection);
            DataTable dtResult2 = new DataTable();

            dataAdapter.Fill(dtResult2);

            DataSet dsResults = new DataSet("Results");

            dsResults.Tables.Add(dtResult1);
            dsResults.Tables.Add(dtResult2);
            DataRelation relation1 = new DataRelation(
                "relation1",
                dtResult1.Columns["prospect_id"],
                dtResult2.Columns["prospect_id"]);

            dsResults.Relations.Add(relation1);

            DataGridSource newGridSource = new DataGridSource(
                dtResult1.DataSet,
                displayColumns,
                groupColumns);

            hierarchicalGridView1.DataSource = newGridSource;
        }
コード例 #8
0
        public void Refresh()
        {
            refrechThread = new Thread(() =>
            {
                List <UsersModel> Users = new List <UsersModel>();
                Thread inProgress       = new Thread(() =>
                {
                    try
                    {
                        Groups               = DataAccess.GroupsData();
                        Users                = DataAccess.UsersData();
                        GroupRoles           = DataAccess.GroupRolesData();
                        UserGroups           = DataAccess.UserGroupsData();
                        Roles                = DataAccess.RolesData();
                        SystemConstants      = DataAccess.CodesData();
                        Persons              = DataAccess.PersonsData();
                        PersonsAddress       = DataAccess.PersonsAddressData();
                        PersonCommunications = DataAccess.PersonsCommunicationData();
                    }
                    catch { MessageBox.Show("could not open connection whith server!\nCheck your internet connection or server is connected", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); return; }
                })
                {
                    IsBackground = true
                };

                inProgress.Start();
                while (inProgress.IsAlive)
                {
                    if (RotateAngle > 360)
                    {
                        RotateAngle = 0;
                    }
                    RotateAngle += 18.25;
                    Thread.Sleep(50);
                }
                while (RotateAngle > 0 && RotateAngle < 365)
                {
                    RotateAngle += 18.25;
                    Thread.Sleep(50);
                }
                RotateAngle = 0;
                DataGridSource.ReFill(Users);
            })
            {
                IsBackground = true
            };
            refrechThread.Start();
        }
コード例 #9
0
        public void Refresh()
        {
            GroupRoles.Clear();
            new Thread(() =>
            {
                List <GroupsModel> dataSource = null;
                Thread inProgress             = new Thread(() =>
                {
                    IsInProgress = true;
                    try
                    {
                        dataSource = DataAccess.GroupsData();
                        GroupRoles = DataAccess.GroupRolesData();
                        Roles      = DataAccess.RolesData();
                    }
                    catch { MessageBox.Show("could not open connection with server!\nCheck your internet connection or server is connected", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); }
                })
                {
                    IsBackground = true
                };


                inProgress.Start();
                while (inProgress.IsAlive)
                {
                    if (RotateAngle > 360)
                    {
                        RotateAngle = 0;
                    }
                    RotateAngle += 18.25;
                    Thread.Sleep(50);
                }
                while (RotateAngle > 0 && RotateAngle < 365)
                {
                    RotateAngle += 18.25;
                    Thread.Sleep(50);
                }
                RotateAngle = 0;
                DataGridSource.ReFill(dataSource);
                IsInProgress = false;
            })
            {
                IsBackground = true
            }.Start();
            GroupRolesSource.Clear();
        }
コード例 #10
0
        public void loadData()
        {
            for (int i = 1; i < 20; i++)
            {
                DataGridSource.Add(new Person()
                {
                    ID        = i.ToString(),
                    Firstname = "Firstname " + i.ToString(),
                    Lastname  = "Lastname " + i.ToString(),
                    Age       = rnd.Next(20, 60).ToString(),
                });
            }

            foreach (Person item in DataGridSource)
            {
                item.PropertyChanged += onPropertyChanged;
            }
        }
コード例 #11
0
 public void Edit()
 {
     if (SelectedDataItem != null)
     {
         var item = SelectedDataItem;
         for (int i = 0; i < Roles.Count; i++)
         {
             var role = GroupRolesSource.Where(x => x.RoleId == Roles[i].RoleId).FirstOrDefault();
             if (role != null)
             {
                 var groupRoles = GroupRoles.Where(x => x.GrolrRoleIdFk == Roles[i].RoleId && x.GrolrGIdFk == item.GId).FirstOrDefault();
                 Roles[i].IsChecked   = true;
                 Roles[i].GroleAdd    = groupRoles.GroleAdd;
                 Roles[i].GroleEdit   = groupRoles.GroleEdit;
                 Roles[i].GroleDelete = groupRoles.GroleDelete;
                 Roles[i].GroleExport = groupRoles.GroleExport;
                 Roles[i].GrolePrint  = groupRoles.GrolePrint;
                 Roles[i].GroleView   = groupRoles.GroleView;
             }
             else
             {
                 Roles[i].IsChecked   = false;
                 Roles[i].GroleAdd    = false.ToIntState();
                 Roles[i].GroleEdit   = false.ToIntState();
                 Roles[i].GroleDelete = false.ToIntState();
                 Roles[i].GroleExport = false.ToIntState();
                 Roles[i].GrolePrint  = false.ToIntState();
                 Roles[i].GroleView   = false.ToIntState();
             }
         }
         VGroupsEdit edit = new VGroupsEdit(Roles, item);
         if (edit.ShowDialog() == true)
         {
             var dataContext = edit.DataContext as VMGroupsEdit;
             DataGridSource.Remove(SelectedDataItem);
             DataGridSource.Add(dataContext.EditGroup);
             GroupRoles.RemoveAll(x => x.GrolrGIdFk == item.GId);
             GroupRoles.AddRange(dataContext.DataGridSource.Where(x => x.RoleSelected()).Select(x => x.ToGroupRoles(item.GId)));
         }
         GroupRolesSource.Clear();
     }
 }
コード例 #12
0
        private void OnNewOpenFileDialog()
        {
            var dlg = new OpenFileDialogViewModel {
                Title       = "Select a file (I won't actually do anything with it)",
                Filter      = "All files (*.xml)|*.xml",
                Multiselect = false
            };

            if (dlg.Show(this.Dialogs) && dlg.FileName != null)
            {
                if (DataGridSource != null && DataGridSource.Count > 0)
                {
                    DataGridSource.Clear();
                }

                dbReaderWriter.ReadDatabase(dlg.FileName);

                RestoreFromDB();
            }
        }
コード例 #13
0
        public void Edit()
        {
            var person = new PersonsModel()
            {
                PeId       = SelectedDataItem.PeId,
                PeAddress  = SelectedDataItem.PeAddress,
                IsChecked  = SelectedDataItem.IsChecked,
                PeIdentity = SelectedDataItem.PeIdentity,
                PeName     = SelectedDataItem.PeName,
                PeType     = SelectedDataItem.PeType,
            };
            VPersonEdit edit = new VPersonEdit(person, PersonsTypes, CommTypes, PersonsCommunication.Where(x => x.CoPeIdFk == person.PeId).ToList());

            if (edit.ShowDialog() == true)
            {
                var dataContext = edit.DataContext as VMPersonEdit;

                Persons.Remove(SelectedDataItem);
                DataGridSource.Remove(SelectedDataItem);
                PersonsCommunication.RemoveAll(x => x.CoPeIdFk == dataContext.EditedPerson.PeId);
                PersonsCommunication.AddRange(dataContext.AddedCommunication);
                PersonsAddress.RemoveAll(x => x.PeAdPerIdFk == dataContext.EditedPerson.PeId);
                PersonsAddress.AddRange(dataContext.AddedAddress);

                var adress = PersonsAddress.Where(x => x.PeAdPerIdFk == dataContext.EditedPerson.PeId).FirstOrDefault();
                if (adress != null)
                {
                    dataContext.EditedPerson.PeAddress = $"{adress.PeAdCity} - {adress.PeAdStreetName}";
                }
                dataContext.EditedPerson.Type = PersonsTypes.Where(x => x.CId == dataContext.EditedPerson.PeType).FirstOrDefault().CName;
                var communication = PersonsCommunication.Where(x => x.CoPeIdFk == dataContext.EditedPerson.PeId);
                dataContext.EditedPerson.PhoneNo  = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Phone)).FirstOrDefault()?.CoValue;
                dataContext.EditedPerson.MobileNo = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Mobile)).FirstOrDefault()?.CoValue;
                dataContext.EditedPerson.Email    = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Emial)).FirstOrDefault()?.CoValue;

                Persons.Add(dataContext.EditedPerson);
                DataGridSource.Add(dataContext.EditedPerson);
                SelectedDataItem = dataContext.EditedPerson;
            }
        }
コード例 #14
0
 public void Delete()
 {
     if (SelectedDataItem != null)
     {
         if (MessageBox.Show("Are you sure you want to delete all selected Persons??",
                             "Delete",
                             MessageBoxButton.YesNo,
                             MessageBoxImage.Warning) == MessageBoxResult.Yes)
         {
             foreach (var item in DataGridSource)
             {
                 if (item.IsChecked)
                 {
                     DataAccess.DeletePerson(item.PeId);
                     DataAccess.DeletePersonCommunication(item.PeId);
                     DataAccess.DeletePersonAddress(item.PeId);
                 }
             }
             DataGridSource.ReFill(DataGridSource.Where(x => !x.IsChecked).ToList());
         }
     }
 }
コード例 #15
0
 public void Delete()
 {
     if (SelectedDataItem != null)
     {
         if (MessageBox.Show("Are you sure you want to delete all selected Users??",
                             "Delete",
                             MessageBoxButton.YesNo,
                             MessageBoxImage.Warning) == MessageBoxResult.Yes)
         {
             IsInProgress = true;
             new Thread(() =>
             {
                 foreach (var item in DataGridSource)
                 {
                     if (item.IsChecked)
                     {
                         try
                         {
                             DataAccess.DeleteUserGroups((int)item.UPIdFk);
                             DataAccess.DeletePersonAddress((int)item.UPIdFk);
                             DataAccess.DeletePersonCommunication((int)item.UPIdFk);
                             DataAccess.DeletePerson((int)item.UPIdFk);
                             DataAccess.DeleteUser((int)item.UPIdFk);
                         }
                         catch { MessageBox.Show($"could not open connection with server while deleting {item.UUserName}!\nCheck your internet connection or server is connected", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning); }
                     }
                 }
                 DataGridSource.ReFill(DataGridSource.Where(x => !x.IsChecked).ToList());
                 IsInProgress = false;
             })
             {
                 IsBackground = true
             }.Start();
         }
     }
 }
コード例 #16
0
        public void Add()
        {
            foreach (var item in Roles)
            {
                item.IsChecked   = false;
                item.GroleAdd    = false.ToIntState();
                item.GroleEdit   = false.ToIntState();
                item.GroleDelete = false.ToIntState();
                item.GroleExport = false.ToIntState();
                item.GrolePrint  = false.ToIntState();
                item.GroleView   = false.ToIntState();
            }
            VGroupsAdd add = new VGroupsAdd(Roles);

            if (add.ShowDialog() == true)
            {
                DataGridSource.Add((add.DataContext as VMGroupsAdd).AddedGroup);
                foreach (var item in (add.DataContext as VMGroupsAdd).AddedGroupRoles)
                {
                    GroupRoles.Add(item);
                }
            }
            GroupRolesSource.Clear();
        }
コード例 #17
0
        private void RestoreFromDB()
        {
            EventObjectModel tempModel = new EventObjectModel();

            foreach (EventObjectModel eo in dbReaderWriter.eventObjects)
            {
                foreach (ResponseObjectModel rom in eo.ResponseCollection)
                {
                    if (rom.ResponseObject is TelegramMessageObjectModel)
                    {
                        var botListQuery = DataGridSource.SelectMany(
                            u => u.ResponseCollection.Where(
                                v => v.ResponseObject is TelegramMessageObjectModel).Select(
                                w => w.ResponseObject as TelegramMessageObjectModel).Select(x => x.Bot2Use).ToList()
                            ).ToList();

                        var selectedBotQuery = DataGridSource.SelectMany(
                            u => u.ResponseCollection.Where(
                                v => v.ResponseObject is TelegramMessageObjectModel).Select(
                                w => w.ResponseObject as TelegramMessageObjectModel).Select(
                                x => x.Bot2Use)
                            ).ToList();

                        if ((rom.ResponseObject is TelegramMessageObjectModel) &&
                            !(botListQuery.Select(y => y.Token).Contains((rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.Token)))
                        {
                            try{
                                (rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.CreateBot();
                            }
                            catch (Exception e)
                            {
                                if (e.InnerException.GetType().ToString() == "System.Net.Http.HttpRequestException")
                                {
                                    LogWriter.CreateLogEntry(string.Format("{0}\n{1}", e.Message, e.InnerException != null ? e.InnerException.Message : ""));

                                    this.Dialogs.Add(new CustomDialogViewModel {
                                        Message = e.InnerException.InnerException.Message,
                                        Caption = "Error",

                                        OnOk = (sender2) => {
                                            sender2.Close();
                                        },

                                        OnCancel = (sender2) => {
                                            sender2.Close();
                                        },

                                        OnCloseRequest = (sender2) => {
                                            sender2.Close();
                                        }
                                    });
                                }
                            }
                        }

                        else if (botListQuery.Select(y => y.Token).Contains((rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.Token))
                        {
                            (rom.ResponseObject as TelegramMessageObjectModel).Bot2Use = selectedBotQuery.Where(z => z.Token == (rom.ResponseObject as TelegramMessageObjectModel).Bot2Use.Token).FirstOrDefault();
                        }
                    }

                    else if (rom.ResponseObject is EMailResponseObjectModel)
                    {
                    }
                }

                DataGridSource.Add(eo);
                SelectedDataGridItem = eo;
                SelectedResponse     = SelectedDataGridItem.ResponseCollection.FirstOrDefault();
            }
        }
コード例 #18
0
 public VMGroupsAdd(List <RolesModel> roles)
 {
     DataGridSource.ReFill(roles);
 }
コード例 #19
0
        private void AddNewEvent()
        {
            this.Dialogs.Add(new EventEditorDialogViewModel(DataGridSource, SelectedDataGridItem)
            {
                OnOk = (sender) =>
                {
                    //TODO: Test for Duplicate entrys / Overwrite or create new?

                    if (sender.HasConfiguration && sender.ObjectModel.EventType == sender.SelectedGeneralEventType)
                    {
                        if (selectedDataGridItem == null)
                        {
                            if (DataGridSource.Contains(sender.ObjectModel))
                            {
                                if (new MessageBoxViewModel {
                                    Caption = resLoader.getResource("messageBoxEventAlreadyExistCaption"),
                                    Message = resLoader.getResource("messageBoxEventAlreadyExistMessage"),
                                    Buttons = MessageBoxButton.OK,
                                    Image = MessageBoxImage.Information
                                }
                                    .Show(this.Dialogs) == MessageBoxResult.OK)
                                {
                                    return;
                                }
                            }
                            else
                            {
                                DataGridSource.Add(sender.ObjectModel);
                            }
                        }

                        else
                        {
                            SelectedDataGridItem.EventName        = sender.EventName;
                            SelectedDataGridItem.EventDescription = sender.EventDescription;
                        }
                        sender.Close();
                    }

                    else
                    {
                        new MessageBoxViewModel {
                            Caption = resLoader.getResource("messageBoxMissingConfigCaption"),
                            Message = resLoader.getResource("messageBoxMissingConfigMessage"),
                            Buttons = MessageBoxButton.OK,
                            Image   = MessageBoxImage.Information
                        }
                        .Show(this.Dialogs);
                    }

                    RaisePropertyChanged("DataGridSource");
                },

                OnCancel = (sender) =>
                {
                    sender.Close();
                },

                OnCloseRequest = (sender) => {
                    sender.Close();
                }
            });
        }
コード例 #20
0
 public VMGroupsEdit(List <RolesModel> roles, GroupsModel group)
 {
     Group = group;
     PresentGroup(group);
     DataGridSource.ReFill(roles);
 }
コード例 #21
0
 private void DeleteRow()
 {
     DataGridSource.Remove(selectedDataGridItem);
 }