Ejemplo n.º 1
0
        private void BtnProjectRemove_Click(object sender, EventArgs e)
        {
            //get selected project from listbox
            VMHome.Project lbxProjectsSelectedItem = LbxProjects_GetSelectedItem();

            //get selected project's entity from database
            project repoProject = _ettCommander.projects.SingleOrDefault(m => m.id == lbxProjectsSelectedItem.Id);

            //make sure data is exist in database
            if (repoProject == null)
            {
                MessageBox.Show($"project '{lbxProjectsSelectedItem.Name}' not found in database");

                return;
            }

            //update
            repoProject.ud        = DateTime.Now;
            repoProject.is_active = false;

            //commit
            _ettCommander.SaveChanges();

            //reload list box
            LbxProjects_Populate();
        }
Ejemplo n.º 2
0
        public FrProjectScriptCreate(VMHome.Project project)
        {
            InitializeComponent();

            this.project = project;

            //set window name
            Text = $"Create script for '{project.Name}'";
        }
Ejemplo n.º 3
0
        private void BtnProjectScriptAdd_Click(object sender, EventArgs e)
        {
            //get selected project from listbox
            VMHome.Project lbxProjectsSelectedItem = LbxProjects_GetSelectedItem();

            using (FrProjectScriptCreate frProjectScriptCreate = new FrProjectScriptCreate(lbxProjectsSelectedItem))
            {
                //open dialog and get its closed result
                DialogResult result = frProjectScriptCreate.ShowDialog();

                // make sure user is submitting form
                if (result != DialogResult.OK)
                {
                    return;
                }

                //get selected projcet's entity from database
                project tbuProject = _ettCommander.projects.SingleOrDefault(m => m.id == lbxProjectsSelectedItem.Id);

                //make sure data is exist in database
                if (tbuProject == null)
                {
                    MessageBox.Show($"project '{lbxProjectsSelectedItem.Name}' not found in database");

                    return;
                }

                //create database model
                project_script tbiRepoProjectScript = new project_script
                {
                    name   = frProjectScriptCreate.TbxNameValue,
                    script = frProjectScriptCreate.TbxScriptValue,
                    cd     = DateTime.Now,
                };

                //update
                tbuProject.project_script.Add(tbiRepoProjectScript);
                tbuProject.ud = DateTime.Now;

                //commit
                _ettCommander.SaveChanges();

                //create file with the script


                //repopulate project script data grid
                DgvProjectScripts_Populate();
            }
        }
Ejemplo n.º 4
0
        private void DgvProjectScripts_Populate()
        {
            //get selected project from listbox
            VMHome.Project lbxProjectsSelectedItem = LbxProjects_GetSelectedItem();

            bool isProjectFound = lbxProjectsSelectedItem != null;

            //toggle add script button
            btnProjectScriptAdd.Enabled = isProjectFound;

            //make sure project is exist in list box
            if (!isProjectFound)
            {
                return;
            }

            //get selected project
            var project = _ettCommander.projects.SingleOrDefault(m => m.is_active && m.id == lbxProjectsSelectedItem.Id);

            if (project == null)
            {
                return;
            }

            //set project script label
            lblProjectScripts.Text = $"Scripts for '{project.name}'";

            //create binding list
            BindingList <VMHome.ProjectScript> bindingProjectScripts = new BindingList <VMHome.ProjectScript>();

            project.project_script
            .OrderBy(m => m.order)
            .Select(m =>
                    VMHome.ProjectScript.CreateNew(m.id, m.name, m.script, m.last_executed)
                    )
            .ToList()
            .ForEach(m =>
                     bindingProjectScripts.Add(m)
                     );

            //bind to binding source
            dgvBindsrcProjectScripts.DataSource = bindingProjectScripts;

            //bind to data grid
            dgvProjectScripts.DataSource = dgvBindsrcProjectScripts;
        }
Ejemplo n.º 5
0
        private void DgvProjectScripts_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                var hit     = dgvProjectScripts.HitTest(e.X, e.Y);
                int dropRow = -1;
                if (hit.Type != DataGridViewHitTestType.None)
                {
                    dropRow = hit.RowIndex;
                    if (_dgvProjectScriptDragRow >= 0)
                    {
                        int tgtRow = dropRow + (_dgvProjectScriptDragRow > dropRow ? 1 : 0);
                        if (tgtRow != _dgvProjectScriptDragRow)
                        {
                            //START -- MOVE DATA SOURCE

                            var currentSelectedBindingSource = (VMHome.ProjectScript)dgvBindsrcProjectScripts.Current;

                            var oldValue = currentSelectedBindingSource;

                            var newValue = currentSelectedBindingSource;

                            dgvBindsrcProjectScripts.Remove(oldValue);

                            dgvBindsrcProjectScripts.Insert(tgtRow, newValue);

                            dgvProjectScripts.Rows[tgtRow].Selected = true;

                            //END -- MOVE DATA SOURCE

                            //START -- CHANGE SCRIPT ORDER IN DATABASE

                            //get selected project from listbox
                            VMHome.Project lbxProjectsSelectedItem = LbxProjects_GetSelectedItem();

                            //get selected project from database
                            var repoProject = _ettCommander.projects.SingleOrDefault(m => m.id == lbxProjectsSelectedItem.Id);

                            //make sure data is exist in database
                            if (repoProject == null)
                            {
                                MessageBox.Show($"project '{lbxProjectsSelectedItem.Name}' not found in database");

                                return;
                            }

                            //update all  scripts order
                            var repoProjectScripts = repoProject.project_script;

                            //order counter
                            int order = 0;

                            foreach (VMHome.ProjectScript script in dgvBindsrcProjectScripts)
                            {
                                //get one from database
                                var repoProjectScript = repoProjectScripts.Single(m => m.id == script.Id);

                                //update database order
                                repoProjectScript.order = ++order;
                            }

                            //commit
                            _ettCommander.SaveChanges();

                            //END -- CHANGE SCRIPT ORDER IN DATABASE
                        }
                    }
                }
                else
                {
                    dgvProjectScripts.Rows[_dgvProjectScriptDragRow].Selected = true;
                }

                //remove dragging label
                if (_dgvProjectScriptDragLabel != null)
                {
                    _dgvProjectScriptDragLabel.Dispose();
                    _dgvProjectScriptDragLabel = null;
                }
            }
        }