Beispiel #1
0
        private void addEntry(ref TreeEntries treeEntries, ref Entry entry, ref List <LaborLog.UsersClass> users, ref List <CategoryClass> categories, ref int numberOfEntries)
        {
            if (checkUsers(ref entry, ref users) && checkCategories(ref entry, ref categories))
            {
                DateTime dt = DateTime.Parse(entry.StartTime);

                int indexYear  = treeEntries.ContainsYear(dt.Year);
                int indexMonth = treeEntries.ContainsMonth(indexYear, dt.Month);

                if (indexYear == -1 && indexMonth == -1)
                {
                    TreeEntries.Month m = new TreeEntries.Month(dt.Month);
                    m.Entries.Add(entry);

                    TreeEntries.Year y = new TreeEntries.Year(dt.Year);
                    y.Month.Add(m);

                    treeEntries.treeList.Add(y);
                }
                if (indexYear != -1 && indexMonth == -1)
                {
                    TreeEntries.Month m = new TreeEntries.Month(dt.Month);
                    m.Entries.Add(entry);
                    treeEntries.treeList[indexYear].Month.Add(m);
                }
                if (indexYear != -1 && indexMonth != -1)
                {
                    treeEntries.treeList[indexYear].Month[indexMonth].Entries.Add(entry);
                }
                numberOfEntries++;
            }
        }
Beispiel #2
0
        public ShowAll(LabLog labLog, bool AddUserOrCategory = false, bool UsePassWord = true)
        {
            this.labLog            = labLog;
            this.AddUserOrCategory = AddUserOrCategory;
            this.UsePassWord       = UsePassWord;
            this.ModifiedDataBase  = false;
            InitializeComponent();

            dTP1.CustomFormat = "HH:mm:ss   dd.MM.yyyy";
            dTP2.CustomFormat = "HH:mm:ss   dd.MM.yyyy";

            this.listBoxUsers.DrawMode  = DrawMode.OwnerDrawFixed;
            this.listBoxUsers.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox_DrawItem);
            fillUsers();

            this.listBoxCategories.DrawMode  = DrawMode.OwnerDrawFixed;
            this.listBoxCategories.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox_DrawItem);
            fillCategories();

            buttonAddUser.Visible     = AddUserOrCategory;
            buttonUsersDelete.Visible = AddUserOrCategory;
            buttonUsersUp.Visible     = AddUserOrCategory;
            buttonUsersDown.Visible   = AddUserOrCategory;

            buttonAddCategorie.Visible      = AddUserOrCategory;
            buttonCatergoriesDelete.Visible = AddUserOrCategory;
            buttonCategoriesUp.Visible      = AddUserOrCategory;
            buttonCategoriesDown.Visible    = AddUserOrCategory;

            treeEntries = fillTree(labLog, TreeEntries.SortOrder.Descending);

            selectAllUsers(true);
            selectAllCategories(true);
        }
 public void Unload()
 {
     pluginCatalog.Dispose();
     pluginCatalog = null;
     WorldDocuments.Clear();
     TreeEntries.Clear();
     WorldDocuments = null;
 }
Beispiel #4
0
        private void listBoxCategories_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (suppress)
            {
                return;
            }

            if (listBoxCategories.SelectedIndex != -1)
            {
                // get if multiple is selected
                int imultiple = 0;
                for (int i = 0; i < listBoxCategories.Items.Count; i++)
                {
                    if (listBoxCategories.GetSelected(i))
                    {
                        imultiple++;
                    }
                }
                if (imultiple > 1)
                {
                    buttonCatergoriesDelete.Enabled = false;
                    buttonCategoriesUp.Enabled      = false;
                    buttonCategoriesDown.Enabled    = false;
                }
                else
                {
                    buttonCatergoriesDelete.Enabled = true;

                    if (listBoxCategories.SelectedIndex > 0 && labLog.metaInformation.AllUsers.Length > 1)
                    {
                        buttonCategoriesUp.Enabled = true;
                    }
                    else
                    {
                        buttonCategoriesUp.Enabled = false;
                    }

                    if (listBoxCategories.SelectedIndex < (labLog.metaInformation.AllUsers.Length - 1) &&
                        labLog.metaInformation.AllUsers.Length > 1)
                    {
                        buttonCategoriesDown.Enabled = true;
                    }
                    else
                    {
                        buttonCategoriesDown.Enabled = false;
                    }
                }
            }
            treeEntries = fillTree(labLog, treeEntries.sortOrder);
        }
Beispiel #5
0
        private void selectAllCategories(bool state)
        {
            suppress = true;
            for (int x = 0; x < listBoxCategories.Items.Count; x++)
            {
                listBoxCategories.SetSelected(x, state);
            }
            listBoxCategories.TopIndex = 0;
            suppress    = false;
            treeEntries = fillTree(labLog, treeEntries.sortOrder);

            buttonCatergoriesDelete.Enabled = false;
            buttonCategoriesUp.Enabled      = false;
            buttonCategoriesDown.Enabled    = false;
        }
Beispiel #6
0
 private void buttonDeleteEntry_Click(object sender, EventArgs e)
 {
     if (UsePassWord)
     {
         if (labLog.metaInformation.UsePassword)
         {
             PasswordEntry pw = new PasswordEntry(labLog.metaInformation.Password);
             if (pw.ShowDialog() != System.Windows.Forms.DialogResult.OK)
             {
                 return;
             }
         }
     }
     labLog.RemoveColoumnEntryAt(activeEntry);
     ModifiedDataBase = true;
     treeEntries      = fillTree(labLog, treeEntries.sortOrder);
 }
Beispiel #7
0
 private void buttonDescending_Click(object sender, EventArgs e)
 {
     treeEntries = fillTree(labLog, TreeEntries.SortOrder.Descending);
 }
Beispiel #8
0
        private TreeEntries fillTree(LabLog lablog, TreeEntries.SortOrder SortOrder)
        {
            List <LaborLog.UsersClass> users = new List <LaborLog.UsersClass>();

            for (int i = 0; i < listBoxUsers.Items.Count; i++)
            {
                if (listBoxUsers.GetSelected(i))
                {
                    users.Add(lablog.metaInformation.AllUsers[i]);
                }
            }

            List <LaborLog.CategoryClass> categories = new List <LaborLog.CategoryClass>();

            for (int i = 0; i < listBoxCategories.Items.Count; i++)
            {
                if (listBoxCategories.GetSelected(i))
                {
                    categories.Add(lablog.metaInformation.Categories[i]);
                }
            }

            TreeEntries treeEntries     = new TreeEntries(SortOrder);
            int         numberOfEntries = 0;

            if (SortOrder == TreeEntries.SortOrder.Ascending)
            {
                for (int i = 0; i < lablog.InfoEntryItems.Length; i++)
                {
                    Entry entry = lablog.InfoEntryItems[i];
                    addEntry(ref treeEntries, ref entry, ref users, ref categories, ref numberOfEntries);
                }
            }

            if (SortOrder == TreeEntries.SortOrder.Descending)
            {
                for (int i = lablog.InfoEntryItems.Length - 1; i >= 0; i--)
                {
                    Entry entry = lablog.InfoEntryItems[i];
                    addEntry(ref treeEntries, ref entry, ref users, ref categories, ref numberOfEntries);
                }
            }
            textBoxNumberOfEntries.Text = numberOfEntries.ToString();
            treeView1.Nodes.Clear();
            if (treeEntries.treeList.Count > 0)
            {
                treeView1.BeginUpdate();
                // Add a root TreeNode for each Customer object in the ArrayList.
                foreach (TreeEntries.Year year in treeEntries.treeList)
                {
                    treeView1.Nodes.Add(new TreeNode(year.year.ToString()));
                    // Add a child treenode for each Order object in the current Customer object.
                    foreach (TreeEntries.Month month in year.Month)
                    {
                        List <TreeNode> tList = new List <TreeNode>();
                        bool            c     = false;
                        foreach (Entry entry in month.Entries)
                        {
                            DateTime start    = DateTime.Parse(entry.StartTime);
                            TimeSpan duration = TimeSpan.Parse(entry.Duration);
                            duration = new TimeSpan(duration.Days, duration.Hours, duration.Minutes, duration.Seconds);
                            TreeNode t = new TreeNode(start.ToString("HH:mm:ss   dd.MM.yyyy") + " - " + duration.ToString());
                            if (c)
                            {
                                t.BackColor = SystemColors.ControlLightLight;
                            }
                            else
                            {
                                t.BackColor = SystemColors.ControlLight;
                            }
                            c = !c;
                            tList.Add(t);
                        }
                        TreeNode treeNode = new TreeNode(
                            System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month.month),
                            tList.ToArray());
                        treeView1.Nodes[treeEntries.treeList.IndexOf(year)].Nodes.Add(treeNode);
                    }
                }
                for (int i = 0; i < treeView1.Nodes.Count; i++)
                {
                    treeView1.Nodes[i].Expand();
                }

                treeView1.EndUpdate();

                if (treeEntries.sortOrder == TreeEntries.SortOrder.Ascending)
                {
                    buttonAscending.Enabled  = false;
                    buttonDescending.Enabled = true;
                    treeView1.Nodes[treeView1.Nodes.Count - 1].Expand();
                    treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1].Expand();
                    int i = treeView1.Nodes.Count - 1;
                    int j = treeView1.Nodes[i].Nodes.Count - 1;
                    int k = treeView1.Nodes[i].Nodes[j].Nodes.Count - 1;
                    treeView1.SelectedNode = treeView1.Nodes[i].Nodes[j].Nodes[k];
                    treeView1.Nodes[i].Nodes[j].Nodes[k].EnsureVisible();
                }
                if (treeEntries.sortOrder == TreeEntries.SortOrder.Descending)
                {
                    buttonAscending.Enabled  = true;
                    buttonDescending.Enabled = false;
                    treeView1.Nodes[0].Expand();
                    treeView1.Nodes[0].Nodes[0].Expand();
                    treeView1.SelectedNode = treeView1.Nodes[0].Nodes[0].Nodes[0];
                    treeView1.Nodes[0].EnsureVisible();
                }
            }
            if (treeEntries.treeList.Count == 0)
            {
                buttonDeleteEntry.Enabled   = false;
                buttonEditNewEntry1.Enabled = false;
                panelUsers.Controls.Clear();
            }
            else
            {
                buttonDeleteEntry.Enabled   = true;
                buttonEditNewEntry1.Enabled = true;
            }

            return(treeEntries);
        }
Beispiel #9
0
        private void buttonAddNewEntry_Click(object sender, EventArgs e)
        {
            if (operationMode == OperationMode.None)
            {
                panelTimeTable.Enabled = false;
                panelSelection.Enabled = false;
                buttonClose.Enabled    = false;
                panelEditNew.Enabled   = true;

                // edit entry
                if (((Button)sender).Name == buttonEditNewEntry1.Name)
                {
                    if (UsePassWord)
                    {
                        if (labLog.metaInformation.UsePassword)
                        {
                            PasswordEntry pw = new PasswordEntry(labLog.metaInformation.Password);
                            if (pw.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                            {
                                return;
                            }
                        }
                    }
                    labelOperation.Text = ButtonText.labelOperationEdit;
                    operationMode       = OperationMode.EditEntry;

                    buttonEditNewEntry1.Text = ButtonText.buttonEditNewEntry1_Dialog;
                    buttonEditNewEntry2.Text = ButtonText.buttonEditNewEntry2_Dialog;
                }

                // new entry
                if (((Button)sender).Name == buttonEditNewEntry2.Name)
                {
                    labelOperation.Text = ButtonText.labelOperationNew;
                    operationMode       = OperationMode.NewEntry;

                    buttonEditNewEntry1.Text = ButtonText.buttonEditNewEntry1_Dialog;
                    buttonEditNewEntry2.Text = ButtonText.buttonEditNewEntry2_Dialog;

                    setUserbuttons(false);
                    setCategories();
                    dTP1.Value       = DateTime.Now;
                    dTP2.Value       = dTP1.Value.AddHours(1);
                    textBoxInfo.Text = "";
                }
            }
            else if (operationMode == OperationMode.EditEntry || operationMode == OperationMode.NewEntry)
            {
                panelUsers.Controls.Clear();
                panelTimeTable.Enabled      = true;
                panelSelection.Enabled      = true;
                buttonEditNewEntry1.Enabled = true;
                buttonClose.Enabled         = true;
                panelEditNew.Enabled        = false;

                labelOperation.Text = "";

                buttonEditNewEntry1.Text = ButtonText.buttonEditNewEntry1;
                buttonEditNewEntry2.Text = ButtonText.buttonEditNewEntry2;

                if (((Button)sender).Name == buttonEditNewEntry1.Name)
                {
                    Entry newEntry = getEntry();
                    if (operationMode == OperationMode.EditEntry)
                    {
                        labLog.RemoveColoumnEntryAt(activeEntry);
                    }
                    else if (operationMode == OperationMode.NewEntry)
                    {
                        // Nothing to do
                    }

                    int entryNumber = -1;
                    LabLog.insertEntry(ref labLog, ref newEntry, false, out entryNumber);
                    ModifiedDataBase = true;
                    treeEntries      = fillTree(labLog, treeEntries.sortOrder);
                }
                else
                {
                    if (treeEntries.treeList.Count == 0)
                    {
                        buttonDeleteEntry.Enabled   = false;
                        buttonEditNewEntry1.Enabled = false;
                        panelUsers.Controls.Clear();
                    }
                    else
                    {
                        buttonDeleteEntry.Enabled   = true;
                        buttonEditNewEntry1.Enabled = true;
                    }
                }

                operationMode = OperationMode.None;
            }
        }