private PositionNomineeArr FormToPositionNomineeArr(Nominee curNom)
        {
            //יצירת אוסף המוצרים להזמנה מהטופס
            //מייצרים זוגות של הזמנה-מוצר, ההזמנה - תמיד אותה הזמנה )הרי מדובר על הזמנה אחת(, המוצר - מגיע מרשימת
            //המוצרים שנבחרו
            PositionArr positionArr = (textBox_Positions.Tag as PositionArr);

            PositionNomineeArr positionNomineeArr = new PositionNomineeArr();
            //יצירת אוסף הזוגות הזמנה-מוצר
            PositionNominee positionNominee;

            //סורקים את כל הערכים בתיבת הרשימה של המוצרים שנבחרו להזמנה
            for (int i = 0; i < positionArr.Count; i++)
            {
                positionNominee = new PositionNominee();
                //ההזמנה הנוכחית היא ההזמנה לכל הזוגות באוסף
                positionNominee.Nominee = curNom;
                //מוצר נוכחי לזוג הזמנה-מוצר
                positionNominee.Position = positionArr[i] as Position;

                //הוספת הזוג הזמנה - מוצר לאוסף
                positionNomineeArr.Add(positionNominee);
            }
            return(positionNomineeArr);
        }
Example #2
0
        public void PositionNomineeArrToTable(NomineeArrState state)
        {
            //listView_Nominee
            PositionNomineeArr positionNomineeArr = new PositionNomineeArr();

            positionNomineeArr.Fill(state, false);

            SortedDictionary <string, string> dictionary = positionNomineeArr.GetSortedDictionary(toolStripMenuItem_Sort.Checked);

            UpdateListView_PositionNominee(dictionary, toolStripMenuItem_Sort.Checked);
        }
        public NomineesPosition_Form(Nominee nominee)
        {
            InitializeComponent();

            //לשונית פריטים להזמנה
            //תיבת רשימה - פריטים בהזמנה
            //מוצאים את הפריטים בהזמנה הנוכחית
            // כל הזוגות פריט -הזמנה
            if (nominee != Nominee.Empty)
            {
                PositionNomineeArr positionNomineeArr = new PositionNomineeArr();
                positionNomineeArr.Fill();

                //סינון לפי הזמנה נוכחית

                positionNomineeArr = positionNomineeArr.Filter(nominee, Position.Empty);

                //רק אוסף הפריטים מתוך אוסף הזוגות פריט -הזמנה

                PositionArr positionArrInNominee = positionNomineeArr.ToPositionArr();
                PositionArrToForm(positionArrInNominee, listBox_ChosenPositions);


                //תיבת רשימה - פריטים פוטנציאלים
                //כל הפריטים - פחות אלו שכבר נבחרו

                PositionArr positionArrNotInNominee = new PositionArr();
                positionArrNotInNominee.Fill();

                //הורדת הפריטים שכבר קיימים בהזמנה

                positionArrNotInNominee.Remove(positionArrInNominee);
                PositionArrToForm(positionArrNotInNominee, listBox_AvailablePositions);
            }
            else
            {
                PositionArrToForm(new PositionArr(), listBox_ChosenPositions);

                PositionArr positionArrNotInNominee = new PositionArr();
                positionArrNotInNominee.Fill();

                //הורדת הפריטים שכבר קיימים בהזמנה
                PositionArrToForm(positionArrNotInNominee, listBox_AvailablePositions);
            }



            button_Add.Enabled    = false;
            button_Remove.Enabled = false;

            listBox_AvailablePositions.ClearSelected();
            listBox_ChosenPositions.ClearSelected();
        }
Example #4
0
        public void DataToChart(NomineeArrState state)
        {
            //פלטת הצבעים -אפשר גם להגדיר מראש במאפיינים )לא בקוד(
            chart1.Palette = ChartColorPalette.Excel;
            //מחייב הצגת כל הערכים בציר האיקס, אם רוצים שיוצגו לסירוגין רושמים 2
            chart1.ChartAreas[0].AxisX.LabelStyle.Interval = 1;
            //כותרת הגרף -1
            chart1.Titles.Clear();
            chart1.Titles.Add("ביקוש משרות");
            //הוספת הערכים למשתנה מסוג מילון ממוין
            PositionNomineeArr curPositionNomineeArr = new PositionNomineeArr();

            curPositionNomineeArr.Fill(state, false);

            SortedDictionary <string, int> dictionary = curPositionNomineeArr.GetSortedDictionary();

            //הגדרת סדרה וערכיה - שם הסדרה מועבר למקרא - 2

            Series series = new Series("התפלגות", 0);

            //סוג הגרף

            series.ChartType = SeriesChartType.Pie;

            //המידע שיוצג לכל רכיב ערך בגרף - 3

            //שם - VALX
            //הערך - VAL//#
            //אחוז עם אפס אחרי הנקודה - {P0} PERCENT

            series.Label = /*"#VALX*/ "#VAL [#PERCENT{P0}]";

            series.LegendText = "#VALX";


            //הוספת הערכים מתוך משתנה המילון לסדרה

            series.Points.DataBindXY(dictionary.Keys, dictionary.Values);
            series.SmartLabelStyle.Enabled = true;

            //מחיקת סדרות קיימות - אם יש ולא בכוונה

            chart1.Series.Clear();

            //הוספת הסדרה לפקד הגרף

            chart1.Series.Add(series);
        }
Example #5
0
        private NomineeScoreTypeArr FillData(NomineeScoreTypeArr nomineeScoreTypeArr, Nominee nominee, Interviewer interviewer)
        {
            //
            PositionNomineeArr positionNomineeArr = new PositionNomineeArr();

            positionNomineeArr.Fill();
            positionNomineeArr = positionNomineeArr.Filter(nominee, Position.Empty);

            PositionArr positionArr = positionNomineeArr.ToPositionArr();
            //

            ScoreTypeArr scoreTypeArr = new ScoreTypeArr();

            Position         position;
            ScoreType        scoreType;
            NomineeScoreType nomineeScoreType;

            for (int i = 0; i < positionArr.Count; i++)
            {
                position = positionArr[i] as Position;

                scoreTypeArr.Fill();
                scoreTypeArr = scoreTypeArr.Filter(position, "");

                for (int j = 0; j < scoreTypeArr.Count; j++)
                {
                    scoreType = scoreTypeArr[j] as ScoreType;

                    if (!nomineeScoreTypeArr.DoesContainData(interviewer, nominee, scoreType))
                    {
                        nomineeScoreType             = new NomineeScoreType();
                        nomineeScoreType.Interviewer = interviewer;
                        nomineeScoreType.Nominee     = nominee;
                        nomineeScoreType.ScoreType   = scoreType;
                        nomineeScoreType.DateTime    = DateTime.Now;

                        nomineeScoreTypeArr.Add(nomineeScoreType);
                    }
                }
            }
            return(nomineeScoreTypeArr);
        }
        private void button_Save_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult;

            if (!CheckForm())
            {
                //The entered information is not valid.
                dialogResult = MessageBox.Show("המידע שהכנסת אינו תקין\nאנא תקן את השדות האדומים על מנת להמשיך", "אזהרה", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
            }

            else
            {
                //The information was valid

                Nominee nominee = FormToNominee();//Make a Nominee object from the information on the form.


                PositionNomineeArr positionNomineeArr_New;

                if (nominee.DBId == 0)
                {
                    //Try to insert the new Nominee to the database.

                    if (nominee.Insert())
                    {
                        //The insertion of the nominee data was successfull.

                        //מכניס את המשרות המשוייכות למועמד
                        NomineeArr nomineearr = new NomineeArr();
                        nomineearr.Fill(GetCurNomineeArrState());
                        positionNomineeArr_New = FormToPositionNomineeArr(nomineearr.MaxNomineeDBId());

                        //מוסיפים את הפריטים החדשים להזמנה

                        if (!positionNomineeArr_New.InsertArr())
                        {
                            MessageBox.Show("הייתה שגיעה בעדכון המשרות\nאנא נסה שנית.", "שגיאה", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
                            SetPositionTextBoxAndToolTip(new PositionArr());
                        }

                        //Check the cv file:

                        SetCV(nomineearr.MaxNomineeDBId().DBId);


                        //update the form
                        NomineeArrToForm();
                        NomineeToForm(nomineearr.MaxNomineeDBId());
                        SetLastChangedTextbox(nominee.DBId);

                        dialogResult = MessageBox.Show("המועמד נוסף בהצלחה", "יאי!", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
                        listBox_Nominee.SelectedItem = listBox_Nominee.Items[listBox_Nominee.Items.Count - 1];
                    }
                    else
                    {
                        //There was a problem insreting the data to the database.
                        dialogResult = MessageBox.Show("קרתה תקלה בזמן הוספת המועמד לבסיס הנתונים", "תקלה", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
                    }
                }
                else
                {
                    //it is an update

                    if (nominee.Update())
                    {
                        positionNomineeArr_New = FormToPositionNomineeArr(nominee);

                        //מוחקים את הפריטים הקודמים של ההזמנה
                        //אוסף כלל הזוגות - הזמנה-פריט

                        PositionNomineeArr positionNomineeArr_Old = new PositionNomineeArr();
                        positionNomineeArr_Old.Fill();

                        //סינון לפי ההזמנה הנוכחית

                        positionNomineeArr_Old = positionNomineeArr_Old.Filter(nominee, Position.Empty);

                        //מחיקת כל הפריטים באוסף ההזמנה-פריט של ההזמנה הנוכחית

                        positionNomineeArr_Old.DeleteArr();

                        //מוסיפים את הפריטים החדשים להזמנה

                        positionNomineeArr_New.InsertArr();



                        //Check the cv file:
                        SetCV(nominee.DBId);


                        dialogResult = MessageBox.Show("המועמד התעדכן בהצלחה", "יאי!", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
                    }
                    else
                    {
                        dialogResult = MessageBox.Show("קרתה תקלה בזמן עדכון המועמד בבסיס הנתונים", "תקלה", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
                    }
                }
            }

            //MessageBox results actions:
            switch (dialogResult)
            {
            case DialogResult.OK:    //Do nothing
                break;

            case DialogResult.Cancel:    //Clear all of the text and "restart".
            {
                NomineeToForm(null);
                break;
            }

            case DialogResult.Abort:    //Close the form
            {
                Environment.Exit(0);
                break;
            }

            case DialogResult.Retry:
            {
                button_Save_Click(null, null);        //Try again.
                break;
            }

            case DialogResult.Ignore:    //Do nothing.
                break;

            default:
                break;
            }

            NomineeArrToForm();
        }
        private void NomineeToForm(Nominee nominee)
        {
            if (nominee != null)
            {
                SetLastChangedTextbox(nominee.DBId);
                label_ShowDisabled.Visible  = nominee.Disabled;
                textBox_FirstName.Text      = nominee.FirstName;
                textBox_LastName.Text       = nominee.LastName;
                textBox_ID.Text             = nominee.Id;
                textBox_Email.Text          = nominee.Email;
                textBox_BirthYear.Text      = nominee.BirthYear.ToString();
                comboBox_CellAreaCode.Text  = nominee.CellAreaCode;
                textBox_Cel.Text            = nominee.CellPhone;
                comboBox_City.SelectedValue = nominee.City.Id;
                checkBox_Sex.Checked        = nominee.Male;

                PositionNomineeArr positionNomineeArr = new PositionNomineeArr();
                positionNomineeArr.Fill();
                positionNomineeArr = positionNomineeArr.Filter(nominee, Position.Empty);

                PositionArr positionArr = positionNomineeArr.ToPositionArr();

                textBox_Positions.Tag = positionArr;
                SetPositionTextBoxAndToolTip(positionArr);

                //scores

                button_OpenScoreKeeping.Enabled = true;

                //end scores

                label_DBID.Text = nominee.DBId.ToString();

                (string path, string type)cv = GetCV(nominee.DBId);
                if (cv.path != "")
                {
                    button_Add_CV.BackColor = Color.Green;
                    button_Add_CV.Text      = "ישנם קורות חיים";
                    button_Add_CV.Tag       = cv.path;
                    //there is a cv file
                    if (cv.type == "pdf")
                    {
                        //the file is a pdf file
                        PDF_CV_Viewer.src = cv.path;
                    }
                    else
                    {
                        //the file is a docx file. open it with a word program.
                        PDF_CV_Viewer.src = GetCV(0).path;

                        PDF_CV_Viewer.Update();

                        try
                        {
                            Process.Start(cv.path);
                        }
                        catch
                        { }
                    }
                }
                else
                {
                    //there is no file
                    button_Add_CV.Text      = "הוסף קורות חיים";
                    button_Add_CV.BackColor = SystemColors.ButtonFace;
                    button_Add_CV.UseVisualStyleBackColor = true;

                    PDF_CV_Viewer.src = GetCV(0).path;

                    PDF_CV_Viewer.Update();
                }
            }
            else
            {
                comboBox_City.SelectedItem = null;
                textBox_Positions.Tag      = new PositionArr();
                SetPositionTextBoxAndToolTip(textBox_Positions.Tag as PositionArr);

                checkBox_Sex.Checked = false;

                //Reset the text and flags of the input fields.
                foreach (Control item in groupBox_PD.Controls)
                {
                    if (item is TextBox || item is ComboBox)
                    {
                        item.Text = "";
                        if (item.Name != "textBox_Last_Change")
                        {
                            item.BackColor = Color.White;
                        }
                    }
                }
                PDF_CV_Viewer.BeginInit();
                PDF_CV_Viewer.src = null;
                PDF_CV_Viewer.src = GetCV(0).path;
                PDF_CV_Viewer.EndInit();
                PDF_CV_Viewer.Update();

                button_Add_CV.Tag       = GetCV(0).path;
                button_Add_CV.Text      = "הוסף קורות חיים";
                button_Add_CV.BackColor = SystemColors.ButtonFace;
                button_Add_CV.UseVisualStyleBackColor = true;

                label_ShowDisabled.Visible = false;

                //scores
                button_OpenScoreKeeping.Enabled = false;


                //end scores


                label_DBID.Text = "0";
            }
        }