Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
 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();
 }