void bw_DoWork(object sender, DoWorkEventArgs e) { var user = e.Argument as UserPackage; RTM.User users = new RTM.User(); try { var entity = new RTMEntities(); users = DataManagement.AuthenticateUser(user.UserName, user.Password); if (users != null) { UserData.CurrentUser = users; UserData.CurrentPoistion = entity.Positions.Where(s => s.PositionId == UserData.CurrentUser.PositionId).First(); UserData.CurrentAccessRight = entity.AccessRights.Where(s => s.AccessId == UserData.CurrentUser.AccessId).First(); UserData.OrganizationalPosition = entity.OrganizationalCharts.Where(s => s.ChartNodeId == UserData.CurrentUser.OrganizationPosition).First(); entity.Users.Where(s => s.UserId == UserData.CurrentUser.UserId).FirstOrDefault().LastLogin = DateTime.Now; entity.SaveChanges(); NavigationHandler.NavigateToPageThreadSafe(this, "UserManagement/StartPage.xaml", false); } else { ErrorHandler.ShowErrorMessage("نام کاربری یا کلمه عبور اشتباه است"); Password.Dispatcher.BeginInvoke((Action) delegate { Password.Password = ""; }, System.Windows.Threading.DispatcherPriority.Normal); } } catch (System.Exception ex) { ErrorHandler.ShowErrorMessage("ارتباط با سرور امکان پذیر نیست" + ex.Message); } }
private void DeleteNodeBtn_Click(object sender, RoutedEventArgs e) { int nodeId; if (!Int32.TryParse(((TreeViewItem)(treeView.SelectedItem)).Tag.ToString(), out nodeId)) { return; } if (organs.Where(s => s.ParentNodeId == nodeId).Count() > 0) { ErrorHandler.ShowErrorMessage("تنها امکان حذف برگ ها وجود دارد"); return; } var entity = new RTMEntities(); try { RTM.OrganizationalChart delete = entity.OrganizationalCharts.Where(s => s.ChartNodeId == nodeId).First(); entity.OrganizationalCharts.DeleteObject(delete); entity.SaveChanges(); ErrorHandler.NotifyUser(Errors.Deleted); } catch (System.Exception ex) { ErrorHandler.ShowErrorMessage("در حال حاضر امکان دسترسی به سرور وجود ندارد"); return; } RefreshTreeView(); }
private void AddNodeBtn_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(treeView.SelectedValue.ToString()) || string.IsNullOrEmpty(OrganTxt.Text.Trim())) { return; } var newOrgan = new RTM.OrganizationalChart(); var entity = new RTMEntities(); string selectedNode = ((TreeViewItem)(treeView.SelectedItem)).Header.ToString(); int nodeId = 0; if (((TreeViewItem)(treeView.SelectedItem)).Tag == null) { return; } if (!Int32.TryParse(((TreeViewItem)(treeView.SelectedItem)).Tag.ToString(), out nodeId)) { return; } newOrgan.Title = OrganTxt.Text; newOrgan.ParentNodeId = nodeId; try { entity.OrganizationalCharts.AddObject(newOrgan); entity.SaveChanges(); ErrorHandler.NotifyUser(Errors.Saved); } catch (System.Exception ex) { ErrorHandler.ShowErrorMessage("در حال حاضر امکان دسترسی به سرور وجود ندارد"); return; } RefreshTreeView(); }
private void EditNodeBtn_Click(object sender, RoutedEventArgs e) { try { int nodeId; if (!Int32.TryParse(((TreeViewItem)(treeView.SelectedItem)).Tag.ToString(), out nodeId)) { return; } var entity = new RTMEntities(); RTM.OrganizationalChart changeItem = entity.OrganizationalCharts.Where(s => s.ChartNodeId == nodeId).First(); changeItem.Title = OrganTxt.Text; entity.SaveChanges(); ErrorHandler.NotifyUser(Errors.Saved); } catch (System.Exception ex) { ErrorHandler.ShowErrorMessage("در حال حاضر امکان دسترسی به سرور وجود ندارد"); } RefreshTreeView(); }