private void BindDepartments()
 {
     using (EmployeeDataContext context = new EmployeeDataContext(App.ConnectionString))
     {
         var query = from d in context.Departments select d;
         this.lstDepartment.ItemsSource = query.ToList();
     }
 }
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Global handler for uncaught exceptions.
            UnhandledException += Application_UnhandledException;

            // Standard XAML initialization
            InitializeComponent();

            // Phone-specific initialization
            InitializePhoneApplication();

            // Language display initialization
            InitializeLanguage();

            // Show graphics profiling information while debugging.
            if (Debugger.IsAttached)
            {
                // Display the current frame rate counters.
                Application.Current.Host.Settings.EnableFrameRateCounter = true;

                // Show the areas of the app that are being redrawn in each frame.
                //Application.Current.Host.Settings.EnableRedrawRegions = true;

                // Enable non-production analysis visualization mode,
                // which shows areas of a page that are handed off to GPU with a colored overlay.
                //Application.Current.Host.Settings.EnableCacheVisualization = true;

                // Prevent the screen from turning off while under the debugger by disabling
                // the application's idle detection.
                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
                // and consume battery power when the user is not using the phone.
                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
            }

            string DbConnectionString = ConnectionString;

            using (EmployeeDataContext db = new EmployeeDataContext(DbConnectionString))
            {
                if (!db.DatabaseExists())
                {
                    db.CreateDatabase();
                    db.Departments.InsertOnSubmit(new Department { Name = "Accounts" });
                    db.Departments.InsertOnSubmit(new Department { Name = "Sales" });
                    db.Departments.InsertOnSubmit(new Department { Name = "Transfer" });

                    db.SubmitChanges();
                }
            }
        }
        private void AddEmployee()
        {
            using (EmployeeDataContext context = new EmployeeDataContext(App.ConnectionString))
            {
                var department = this.lstDepartment.SelectedItem as Department;
                var contextualDepartment = context.Departments.FirstOrDefault(e => e.Id == department.Id);
                Employee emp = new Employee
                {
                    EName = this.txtName.Text,
                    Age = Convert.ToInt32(this.txtAge.Text),
                    Department = contextualDepartment
                };

                context.Employees.InsertOnSubmit(emp);

                context.SubmitChanges();
            }
        }
 private void UpdateEmployee()
 {
     using (EmployeeDataContext context = new EmployeeDataContext(App.ConnectionString))
     {
         var department = this.lstDepartment.SelectedItem as Department;
         var contextualDepartment = context.Departments.FirstOrDefault(e => e.Id == department.Id);
         IQueryable<Employee> empQuery = from e in context.Employees where e.EName == this.txtName.Text select e;
         Employee empToUpdate = empQuery.FirstOrDefault();
         if (empToUpdate != null)
         {
             empToUpdate.Age = Convert.ToInt32(this.txtAge.Text);
             empToUpdate.Department = contextualDepartment;
         }
         context.SubmitChanges();
     }
 }
 private IList<Employee> GetEmployees()
 {
     using (EmployeeDataContext context = new EmployeeDataContext(App.ConnectionString))
     {
         var query = from e in context.Employees select e;
         return query.ToList();
     }
 }
        private void DeleteEmployee()
        {
            using (EmployeeDataContext context = new EmployeeDataContext(App.ConnectionString))
            {
                IQueryable<Employee> empQuery = from e in context.Employees where e.EName == this.txtName.Text select e;
                Employee empToDelete = empQuery.FirstOrDefault();
                if (empToDelete != null)
                {
                    context.Employees.DeleteOnSubmit(empToDelete);
                }

                context.SubmitChanges();
            }
        }