Beispiel #1
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            string pname = txtTitle.Text;
            int employeeid = (int)cbEmployee.SelectedValue;
            string pdescription = txtDescription.Text;
            DateTime creationDate = DateTime.Now;
            bool isFinished = false;

            DateTime? duedate = null;
            if(dpDueDate.SelectedDate !=  null)
            {
                duedate = dpDueDate.SelectedDate;
            }
            else
            {
                duedate = null;
            }

            try
            {
                projectmasterDataSetTableAdapters.projectTableAdapter pta = new projectmasterDataSetTableAdapters.projectTableAdapter();
                //pta.Insert(pname, employeeid, isFinished, duedate, creationDate, pdescription);
                //pta.Insert(pname, employeeid,pdescription,isFinished, null ,creationDate);
                decimal temp = (decimal)pta.InsertProject(pname, employeeid, isFinished, duedate, creationDate, pdescription);

                int insertedpid = Convert.ToInt32(temp);
                projectmasterDataSetTableAdapters.project_messagesTableAdapter pma = new projectmasterDataSetTableAdapters.project_messagesTableAdapter();
                pma.Insert(insertedpid, employeeid, "*** Verkefni stofnað ***", creationDate, null, null);
            }
            catch
            {
                MessageBox.Show("Verður að fylla í viðeigandi reiti");
            }

            this.Close();
        }
Beispiel #2
0
        //Delete function used by minus button and context menu
        private void DeleteProject()
        {
            int pid = (int)projectDataGrid.SelectedValue;
            MessageBoxResult result = MessageBox.Show("Ertu viss um að þú viljir eyða verkefni", "Eyða verkefni", MessageBoxButton.YesNo);
            if(result == MessageBoxResult.Yes)
            { 
                try
                {
                    projectmasterDataSetTableAdapters.projectTableAdapter pta = new projectmasterDataSetTableAdapters.projectTableAdapter();
                    pta.DeleteProject(pid);
                    UpdateWindow();

                }
                catch
                {
                    MessageBox.Show("Ekki hægt að eyða verkefni", "Framkvæmd mistókst");
                }
            }
        }
        private void UpdateWindow()
        {
            eid = (int)App.Current.Properties["UserId"];

            //User logging out
            if ((string)App.Current.Properties["CloseWindow"] == "Close")
            {
                this.Close();
            }

            lblName.Content = App.Current.Properties["User"];

            DataRowView drv = (DataRowView)App.Current.Properties["thisProject"];
            txtblTitle.Text = (string)drv["projectname"];
            pid = (int)drv["pid"];            
            

            ProjectMaster2016.projectmasterDataSet projectmasterDataSet = ((ProjectMaster2016.projectmasterDataSet)(this.FindResource("projectmasterDataSet")));
            projectmasterDataSetTableAdapters.projectTableAdapter pta = new projectmasterDataSetTableAdapters.projectTableAdapter();
            try 
            { 
                // fill view with selectd project
                pta.FillByProjectId(projectmasterDataSet.project, pid);
                System.Windows.Data.CollectionViewSource projectViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("projectViewSource")));
                projectViewSource.View.MoveCurrentToFirst();
            }
            catch { }

            //disable edit, remove and add projectemployee -> if user is not owner/creator of project
            int isOwner = (int)pta.GetProjectOwner(pid);
            if (isOwner != eid)
            {
                btnRemoveProject.Visibility = Visibility.Collapsed;
                btnEditProject.Visibility = Visibility.Collapsed;
                btnAddProjectEmployee.Visibility = Visibility.Collapsed;
                btnRemoveProjectEmployee.Visibility = Visibility.Collapsed;

            }

            lblEmp.Content = pta.GetEmployeeName((int)drv["pid"]);

            //display project status finished/unfinished
            bool status = (bool)drv["projectisfinished"];
            if (status == false)
            {
                lblStatus.Content = "Í vinnslu";
            }
            else
            {
                lblStatus.Content = "Lokið";
            }

            //display creationdate
            try
            {
                DateTime created = (DateTime)drv["pdate"];
                if (created != null)
                {
                    lblCreated.Content = created.ToLongDateString();
                }
            }
            catch
            {
            }

            //display deadline
            try
            {
                DateTime due = (DateTime)drv["pdeadline"];
                lblDue.Content = due.ToLongDateString();
            }
            catch
            {
                lblDue.Content = "Ekki tilgreint";
            }


            ProjectMaster2016.projectmasterDataSetTableAdapters.project_employeesTableAdapter peta = new ProjectMaster2016.projectmasterDataSetTableAdapters.project_employeesTableAdapter();
            try
            {
                //fill  relatedentries -> messages, costs and hours
                peta.FillByAllRelatedEntries(projectmasterDataSet.project_employees, pid);
                System.Windows.Data.CollectionViewSource project_employeesViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("project_employeesViewSource")));
                project_employeesViewSource.View.MoveCurrentToFirst();
            }
            catch (Exception)
            {

            }

            // display statistics
            try { lblentriesCount.Content = (int)pta.CountOfRelatedProjectEntries(pid); }
            catch { }
            try { lbltotalHours.Content = (decimal)pta.CountOfProjectHours(pid); }
            catch { }
            try { lbltotalCost.Content = (int)pta.SumOfProjectCosts(pid); }
            catch { }
            
            //fill for add projectemployeelistbox
            try 
            { 
                ProjectMaster2016.projectmasterDataSetTableAdapters.employeeTableAdapter projectmasterDataSetemployeeTableAdapter = new ProjectMaster2016.projectmasterDataSetTableAdapters.employeeTableAdapter();
                projectmasterDataSetemployeeTableAdapter.FillByProjectEmployeeName(projectmasterDataSet.employee, pid);
                System.Windows.Data.CollectionViewSource employeeViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("employeeViewSource")));
                employeeViewSource.View.MoveCurrentToFirst();
            }
            catch { }
        }
        private void btnRemoveProject_Click(object sender, RoutedEventArgs e)
        {
            
            MessageBoxResult result = MessageBox.Show("Ertu viss um að þú viljir eyða verkefni", "Eyða verkefni", MessageBoxButton.YesNo);
            if (result == MessageBoxResult.Yes)
            {
                try
                {
                    projectmasterDataSetTableAdapters.projectTableAdapter pta = new projectmasterDataSetTableAdapters.projectTableAdapter();
                    pta.DeleteProject(pid);
                    UpdateWindow();

                }
                catch
                {
                    MessageBox.Show("Ekki hægt að eyða verkefni.  Fjarlægja verður tengdar færslur fyrst (starfsmenn, skilaboð, kostnað og tímaskráningar) ", "Framkvæmd mistókst");
                }
            }
        }
Beispiel #5
0
        private void UpdateWindow()
        {
            //display user's name in upper right corner 
            lblName.Content = App.Current.Properties["User"];
            
            //disable add, edit and remove for 'poweruser' in admin menu

      

            string role = (string)App.Current.Properties["Role"];
            if (role == "poweruser" && App.Current.Properties["thisProject"] == null )
            {
                btnAddProjectHours.Visibility = Visibility.Collapsed;
                ctx.Visibility = Visibility.Collapsed;
            }

            ProjectMaster2016.projectmasterDataSet projectmasterDataSet = ((ProjectMaster2016.projectmasterDataSet)(this.FindResource("projectmasterDataSet")));
            // Load data into the table project_hours. You can modify this code as needed.
            ProjectMaster2016.projectmasterDataSetTableAdapters.project_hoursTableAdapter projectmasterDataSetproject_hoursTableAdapter = new ProjectMaster2016.projectmasterDataSetTableAdapters.project_hoursTableAdapter();

            if (App.Current.Properties["thisProjectHours"] == null)
            {
                //
                //This loads Hours for all Projects. For access through admin menu: add, edit and remove enabled (admin role) -> add,edit and remove disabled (poweruser role)
                //
                projectmasterDataSetproject_hoursTableAdapter.FillByProjectName(projectmasterDataSet.project_hours);
                System.Windows.Data.CollectionViewSource project_hoursViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("project_hoursViewSource")));
                project_hoursViewSource.View.MoveCurrentToFirst();
            }
            else
            {
                //
                //This loads Hours for a selected project
                //
                DataRowView drv = (DataRowView)App.Current.Properties["thisProjectHours"];
                pid = (int)drv["pid"];
                projectmasterDataSetproject_hoursTableAdapter.FillProjectHoursByPId(projectmasterDataSet.project_hours, pid);
                
            }

            //
            //disable edit and delete if user is not owner/creator of project
            //
            eid = (int)App.Current.Properties["UserId"];
            projectmasterDataSetTableAdapters.projectTableAdapter pta = new projectmasterDataSetTableAdapters.projectTableAdapter();
            try 
            { 
                int isOwner = (int)pta.GetProjectOwner(pid);
                if (isOwner != eid)
                {
                    ctx.Visibility = Visibility.Collapsed;
                }

                //disable poweruser to edit "other projects"
                if (role == "poweruser" && isOwner != eid)
                {
                    btnAddProjectHours.Visibility = Visibility.Collapsed;
                    ctx.Visibility = Visibility.Collapsed;
                }
            }
            catch { }

            //ensure add, edit and remove are enabled for admin
            if (role == "admin")
            {
                btnAddProjectHours.Visibility = Visibility.Visible;
                ctx.Visibility = Visibility.Visible;
            }

            //ensure add is enabled for poweruser
            if (role == "poweruser" && App.Current.Properties["thisProject"] != null)
            {
                btnAddProjectHours.Visibility = Visibility.Visible;
            }
        }
Beispiel #6
0
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult result = MessageBox.Show("Viltu vista breytingar?", "Breyta verkefni", MessageBoxButton.YesNo);
            try
            {
                if (result == MessageBoxResult.Yes)
                {
                    DataRowView drv = (DataRowView)App.Current.Properties["project"];
                    string description = txtPDescription.Text;
                    DateTime pdate = (DateTime)drv["pdate"];
                    int eid = (int)drv["employee_eid"];
                    string pname = txtprojectName.Text;
                    int pid = (int)drv["pid"];

                    //update project
                    projectmasterDataSetTableAdapters.projectTableAdapter pta = new projectmasterDataSetTableAdapters.projectTableAdapter();
                    pta.UpdateProjectById(description, pdate, eid, isFinished, pname, pid);

                    //log int projectmessagestable: the change in project state(finsished/unfinished)
                    if(isFinished != isFinishedChanged && isFinished == true)
                    {
                        projectmasterDataSetTableAdapters.project_messagesTableAdapter pma = new projectmasterDataSetTableAdapters.project_messagesTableAdapter();
                        pma.Insert(pid, eid, "*** Staða verkefnis fært í lokið ***", DateTime.Now, null, null);
                    }
                    if (isFinished != isFinishedChanged && isFinished == false)
                    {
                        projectmasterDataSetTableAdapters.project_messagesTableAdapter pma = new projectmasterDataSetTableAdapters.project_messagesTableAdapter();
                        pma.Insert(pid, eid, "*** Verkefni enduropnað ***", DateTime.Now, null, null);
                    }
                    //update current properties also
                    drv["projectisfinished"] = isFinished;

                    this.Close();
                }
            }
            catch
            {
                MessageBox.Show("Ekki hægt að vista breytingar");
            }



        }