示例#1
0
        public ManageCompaniesForm(MainRegion region, string initialCompany)
        {
            InitializeComponent();

            m_region         = region;
            m_initialCompany = initialCompany;
        }
示例#2
0
        public ReadingResumeForm(MainRegion region, Resume resume)
        {
            InitializeComponent();
            m_region      = region;
            ReadingResult = new Dictionary <string, string>();

            m_resume = resume;
        }
示例#3
0
        public DuplicateCandidatesForm(MainRegion region, IEnumerable <Candidate> candidates)
        {
            InitializeComponent();

            m_candidates = candidates;

            BindCandidatesGrid();
        }
示例#4
0
        public ReadingResumeForm(MainRegion region, Resume resume, bool previewOnly)
        {
            InitializeComponent();
            m_region      = region;
            ReadingResult = new Dictionary <string, string>();

            m_previewOnly = previewOnly;
            m_resume      = resume;
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (m_candidatesBindingSource.Count > 0)
            {
                MessageBox.Show("You can not delete this opening till You remove all candidates connected to this position", "HunterCV", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            if (MessageBox.Show("Are You sure to permanently delete this opening from database ?", "HunterCV", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
            {
                button1.Enabled   = false;
                button2.Enabled   = false;
                btnDelete.Enabled = false;

                try
                {
                    BackgroundWorker worker = new BackgroundWorker();

                    worker.RunWorkerCompleted += (senders, es) =>
                    {
                        CrossThreadUtility.InvokeControlAction <Panel>(panelWait, p => p.Visible = false);

                        CrossThreadUtility.InvokeControlAction <MainRegion>(m_region, r =>
                        {
                            m_region.Positions.Remove(m_position);
                        });

                        Form form = MainRegion.GetForm(typeof(PositionsForm));

                        if (form is PositionsForm)
                        {
                            CrossThreadUtility.InvokeControlAction <PositionsForm>(((PositionsForm)form), f => f.DoSearch(-1));
                        }

                        CrossThreadUtility.InvokeControlAction <Form>(this, f => f.Close());
                    };

                    worker.DoWork += (senders, es) =>
                    {
                        CrossThreadUtility.InvokeControlAction <Panel>(panelWait, p => p.Visible = true);

                        //remove from service
                        ServiceHelper.Delete(m_position);
                    };

                    worker.RunWorkerAsync();
                }
                catch (HttpRequestException)
                {
                }
            }
        }
示例#6
0
        public PositionsForm(MainRegion region, FormOpenMode mode)
        {
            InitializeComponent();

            m_region = region;

            tvAreas.Nodes.AddRange(region.Areas.CloneNodes());
            cbStatus.Items.AddRange(region.PositionsStatuses);
            cbRole.Items.AddRange(region.Roles);
            cbCompany.Items.AddRange(region.Companies.Select(t => t.Attribute("title").Value).ToArray());

            m_openMode = mode;

            if (m_openMode == FormOpenMode.SearchAndSelect)
            {
                cbStatus.Enabled = false;
            }

            DoSearch(-1);
        }
        public PositionEditForm(MainRegion region, Position position)
        {
            InitializeComponent();

            m_position = position;
            m_region   = region;

            tvAreas.Nodes.AddRange(region.Areas.CloneNodes());
            tvAreas.ExpandAll();
            cbStatus.Items.AddRange(region.PositionsStatuses);
            cbRole.Items.AddRange(region.Roles);
            cbCompany.Items.AddRange(region.Companies.Select(t => t.Attribute("title").Value).ToArray());

            this.tbTitle.DataBindings.Add("Text", m_position, "PositionTitle", false, DataSourceUpdateMode.OnPropertyChanged);
            this.tbDescription.DataBindings.Add("Text", m_position, "PositionDescription", false, DataSourceUpdateMode.OnPropertyChanged);
            this.dtpPublishedAt.DataBindings.Add("Value", m_position, "PublishedAt", false, DataSourceUpdateMode.OnPropertyChanged);
            this.cbRole.DataBindings.Add("Text", m_position, "PositionRole", false, DataSourceUpdateMode.OnPropertyChanged);
            this.cbStatus.DataBindings.Add("Text", m_position, "Status", false, DataSourceUpdateMode.OnPropertyChanged);
            this.tbUsername.DataBindings.Add("Text", m_position, "Username", false, DataSourceUpdateMode.OnPropertyChanged);
            this.cbCompany.DataBindings.Add("Text", m_position, "Company", false, DataSourceUpdateMode.OnPropertyChanged);
            this.rtbEvents.DataBindings.Add("Rtf", m_position, "Events", false, DataSourceUpdateMode.OnPropertyChanged);

            if (!string.IsNullOrEmpty(m_position.PositionAreas))
            {
                string[] areas = m_position.PositionAreas.Split(',');

                foreach (string area in areas)
                {
                    GetNodesPath(tvAreas.Nodes, area);
                }
            }

            SetTitle();

            if (m_position.IsNew)
            {
                btnDelete.Enabled = false;
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            bool blValidTitle = ValidateTitle();

            if (!blValidTitle)
            {
                return;
            }

            panelWait.Visible = true;
            button1.Enabled   = false;

            this.m_position.PositionAreas = GetNodesPath(tvAreas.Nodes, null);

            //exists
            if (!m_position.IsNew)
            {
                var saveWorker = new BackgroundWorker();

                saveWorker.RunWorkerCompleted += (senders, es) =>
                {
                    CrossThreadUtility.InvokeControlAction <MainRegion>(m_region, m => m.Positions.Add(m_position));

                    CrossThreadUtility.InvokeControlAction <Form>(this, f => f.Close());
                };

                saveWorker.DoWork += (senders, es) =>
                {
                    try
                    {
                        if (!es.Cancel)
                        {
                            ServiceHelper.Update(m_position);
                        }
                    }
                    finally
                    {
                    }
                };

                saveWorker.RunWorkerAsync();
            }
            else
            {
                //new

                var saveWorker = new BackgroundWorker();

                saveWorker.RunWorkerCompleted += (senders, es) =>
                {
                    if (es.Error != null)
                    {
                        if (es.Error is LicenseException)
                        {
                            CrossThreadUtility.InvokeControlAction <Form>(this, f =>
                            {
                                MessageBox.Show(this, "Sorry, but this license type does not allow more entities of those types", "HunterCV", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                f.Close();
                            });
                        }
                    }
                    else
                    {
                        m_position.IsNew = false;

                        CrossThreadUtility.InvokeControlAction <MainRegion>(m_region, m => m.Positions.Add(m_position));

                        Form form = MainRegion.GetForm(typeof(PositionsForm));

                        if (form is PositionsForm)
                        {
                            CrossThreadUtility.InvokeControlAction <PositionsForm>(((PositionsForm)form), f => f.DoSearch(-1));
                        }


                        CrossThreadUtility.InvokeControlAction <Form>(this, f => f.Close());
                    }
                };



                saveWorker.DoWork += (senders, es) =>
                {
                    try
                    {
                        if (!es.Cancel)
                        {
                            ServiceHelper.Add(m_position);
                        }
                    }
                    finally
                    {
                    }
                };

                saveWorker.RunWorkerAsync();
            }
        }
        public ManageCandidateStatusesForm(MainRegion region)
        {
            InitializeComponent();

            m_region = region;
        }
        public ManageAreasForm(MainRegion region)
        {
            InitializeComponent();

            m_region = region;
        }
示例#11
0
        // This event handler deals with the results of the background operation.
        private void m_retrieveWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            //panelWait.Visible = false;

            if (e.Cancelled == true)
            {
            }
            else if (e.Error != null)
            {
                MessageBox.Show("Login failed, please try again\n\nError:" + e.Error.Message, "HunterCV");
            }
            else
            {
                m_roleId = ((UserData)e.Result).roleId;

                var license = ((UserData)e.Result).license;

                if (license == Role.FreeLicenseGuid)
                {
                    m_license = LicenseType.Free;
                }
                else if (license == Role.StandardLicenseGuid)
                {
                    m_license = LicenseType.Standard;
                }
                else if (license == Role.PremiumLicenseGuid)
                {
                    m_license = LicenseType.Premium;
                }
                else
                {
                    m_license = LicenseType.Free;
                }


                m_positions = new BindingList <Position>(((UserData)e.Result).positions.ToList());


                //parse areas
                var             docAreas      = XDocument.Parse(((UserData)e.Result).areas);
                var             elementsAreas = docAreas.Root.Elements();
                List <TreeNode> xAreas        = new List <TreeNode>();

                foreach (XElement root in elementsAreas)
                {
                    xAreas.AddRange(GetNodes(new TreeNode((string)root.Attribute("title")), root));
                }

                m_areas = xAreas.ToArray();

                //parse companies
                var docCompanies = XDocument.Parse(((UserData)e.Result).companies);
                m_companies = docCompanies.Root.Elements();
                //var elementsCompanies = docCompanies.Root.Elements();
                //List<TreeNode> xCompany = new List<TreeNode>();

                //foreach (XElement root in elementsCompanies)
                //{
                //    xCompany.AddRange(GetNodes(new TreeNode((string)root.Attribute("title")), root));
                //}

                //m_companies = xCompany.ToArray();

                //parse roles
                var           docRoles      = XDocument.Parse(((UserData)e.Result).roles);
                var           elementsRoles = docRoles.Root.Elements();
                List <string> xRole         = new List <string>();

                foreach (XElement root in elementsRoles)
                {
                    xRole.Add((string)root.Attribute("title"));
                }

                m_roles = xRole.ToArray();


                //parse candidates statuses
                var           docCandidatesStatuses      = XDocument.Parse(((UserData)e.Result).candidatesStatuses);
                var           elementsCandidatesStatuses = docCandidatesStatuses.Root.Elements();
                List <string> xCandidatesStatus          = new List <string>();

                foreach (XElement root in elementsCandidatesStatuses)
                {
                    xCandidatesStatus.Add((string)root.Attribute("title"));
                }

                m_candidatesStatuses = xCandidatesStatus.ToArray();

                //parse positions statuses
                var           docPositionsStatuses      = XDocument.Parse(((UserData)e.Result).positionsStatuses);
                var           elementsPositionsStatuses = docPositionsStatuses.Root.Elements();
                List <string> xPositionsStatus          = new List <string>();

                foreach (XElement root in elementsPositionsStatuses)
                {
                    xPositionsStatus.Add((string)root.Attribute("title"));
                }

                m_positionsStatuses = xPositionsStatus.ToArray();

                //parse settings
                var docSettings      = XDocument.Parse(((UserData)e.Result).settings);
                var elementsSettings = docSettings.Root.Elements();
                m_Settings = new List <KeyValuePair <string, string> >();

                foreach (XElement root in elementsSettings)
                {
                    m_Settings.Add(new KeyValuePair <string, string>((string)root.Attribute("title"), (string)root.Attribute("value")));
                }

                //parse mail templates
                m_templates = new List <MailTemplate>(((UserData)e.Result).templates);

                m_users = ((UserData)e.Result).users;

                foreach (Microsoft.Office.Tools.Outlook.IFormRegion formRegion
                         in Globals.FormRegions)
                {
                    if (formRegion is MainRegion)
                    {
                        MainRegion region = (MainRegion)formRegion;
                        region.RefreshAreas();
                        region.RefreshRoles();
                        region.RefreshCandidatesStatuses();
                        region.RefreshCreatedBy();
                        region.DoSearch(-1, null);

                        CrossThreadUtility.InvokeControlAction <Panel>(region.panelWait, panel =>
                        {
                            panel.Visible = false;
                        });
                    }
                }
            }
        }
        public ManagePositionStatusesForm(MainRegion region)
        {
            InitializeComponent();

            m_region = region;
        }