Exemplo n.º 1
0
 /// <summary>
 /// Event
 /// Datagrid shifts selcetion changed
 /// </summary>
 private void Datagrid_Shifts_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         m_Datagrid_Mission_Shifts selectedShift = (m_Datagrid_Mission_Shifts)Datagrid_Shifts.SelectedItem;
         if (selectedShift != null)
         {
             //Find the shift in the collection
             Shift shift = SoftwareObjects.ShiftsCollection.Find(x => x.id.Equals(selectedShift.id));
             //Fill boxes
             Cmb_Shifts_Shift_StartHour_Hour.Text = shift.start_time.Split(':')[0];
             Cmb_Shifts_Shift_StartHour_Min.Text  = shift.start_time.Split(':')[1];
             Cmb_Shifts_Shift_EndHour_Hour.Text   = shift.end_time.Split(':')[0];
             Cmb_Shifts_Shift_EndHour_Min.Text    = shift.end_time.Split(':')[1];
             Txt_Shifts_Shift_HourlyRate.Text     = shift.hourly_rate;
             Txt_Shifts_Shift_Pause.Text          = shift.pause;
             Hostess hostess = SoftwareObjects.HostsAndHotessesCollection.Find(y => y.id.Equals(shift.id_hostorhostess));
             Cmb_Shifts_Shift_HostOrHostess.Text = hostess.zipcode + " \t " + hostess.firstname + " " + hostess.lastname;
             Chk_Shifts_Shift_Suit.IsChecked     = shift.suit;
             Cld_Shifts_Shift_Date.SelectedDate  = Convert.ToDateTime(shift.date);
             Cld_Shifts_Shift_Date.DisplayDate   = Convert.ToDateTime(shift.date);
             m_Shift = shift;
         }
     }
     catch (Exception exception)
     {
         m_Global_Handler.Log_Handler.WriteException(MethodBase.GetCurrentMethod().Name, exception);
         return;
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Event
        /// Click on the modify button
        /// </summary>
        private void Btn_Shifts_Modify_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //Fill parameters
                DateTime dateSelected = DateTime.Today;
                if (Cld_Shifts_Shift_Date.SelectedDate != null)
                {
                    dateSelected = (DateTime)Cld_Shifts_Shift_Date.SelectedDate;
                }
                m_Shift.date        = dateSelected.ToString("dd/MM/yyyy");
                m_Shift.end_time    = Cmb_Shifts_Shift_EndHour_Hour.Text + ":" + Cmb_Shifts_Shift_EndHour_Min.Text;
                m_Shift.start_time  = Cmb_Shifts_Shift_StartHour_Hour.Text + ":" + Cmb_Shifts_Shift_StartHour_Min.Text;
                m_Shift.hourly_rate = Txt_Shifts_Shift_HourlyRate.Text;
                if (Cmb_Shifts_Shift_HostOrHostess.SelectedIndex != -1)
                {
                    m_Shift.id_hostorhostess = m_List_IdHostsAndHostesses[Cmb_Shifts_Shift_HostOrHostess.SelectedIndex];
                }
                else
                {
                    MessageBox.Show(this, m_Global_Handler.Resources_Handler.Get_Resources("NoHostSelectedErrorText"),
                                    m_Global_Handler.Resources_Handler.Get_Resources("NoHostSelectedErrorCaption"), MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                m_Shift.id_mission = m_Mission.id;
                m_Shift.pause      = Txt_Shifts_Shift_Pause.Text;
                m_Shift.suit       = (bool)Chk_Shifts_Shift_Suit.IsChecked;

                //Edit to internet database
                string res = m_Database_Handler.Edit_ShiftToDatabase(m_Shift.date, m_Shift.end_time, m_Shift.hourly_rate, m_Shift.id, m_Shift.id_hostorhostess, m_Shift.id_mission,
                                                                     m_Shift.pause, m_Shift.start_time, m_Shift.suit);

                //Treat the result
                if (res.Contains("OK"))
                {
                    //Edit id
                    string newId = m_Mission.id + "_" + m_Shift.date + "_" + m_Shift.start_time + "_" + m_Shift.end_time + "_" + m_Shift.id_hostorhostess;
                    m_Database_Handler.Edit_ShiftIdToDatabase(m_Shift.id, newId);
                    //Edit the mission to include the id of the new shift
                    m_Mission.id_list_shifts = m_Mission.id_list_shifts.Replace(m_Shift.id, newId);
                    m_Database_Handler.Edit_MissionToDatabase(m_Mission.address, m_Mission.city,
                                                              m_Mission.client_name, m_Mission.country, m_Mission.date_billed, m_Mission.date_creation, m_Mission.date_declined, m_Mission.date_done,
                                                              m_Mission.description, m_Mission.end_date, m_Mission.id, m_Mission.id_client, m_Mission.id_list_shifts,
                                                              m_Mission.start_date, m_Mission.state, m_Mission.zipcode);

                    //Edit into the collection
                    Shift shift = SoftwareObjects.ShiftsCollection.Find(x => x.id.Equals(m_Shift.id));
                    shift.date             = m_Shift.date;
                    shift.end_time         = m_Shift.end_time;
                    shift.hourly_rate      = m_Shift.hourly_rate;
                    shift.id               = newId;
                    shift.id_hostorhostess = m_Shift.id_hostorhostess;
                    shift.id_mission       = m_Shift.id_mission;
                    shift.pause            = m_Shift.pause;
                    shift.start_time       = m_Shift.start_time;
                    shift.suit             = m_Shift.suit;

                    //Modify selected shift id
                    m_Shift.id = newId;

                    //Edit into the datagrid
                    m_Datagrid_Mission_Shifts datagridShift = (m_Datagrid_Mission_Shifts)Datagrid_Shifts.SelectedItem;
                    if (datagridShift != null)
                    {
                        datagridShift.id            = m_Shift.id;
                        datagridShift.date          = m_Shift.date;
                        datagridShift.end_time      = m_Shift.end_time;
                        datagridShift.hostorhostess = SoftwareObjects.HostsAndHotessesCollection.Find(x => x.id.Equals(m_Shift.id_hostorhostess)).firstname + " " +
                                                      SoftwareObjects.HostsAndHotessesCollection.Find(x => x.id.Equals(m_Shift.id_hostorhostess)).lastname;
                        datagridShift.start_time = m_Shift.start_time;
                    }
                    Datagrid_Shifts.Items.Refresh();

                    //Edit the mission to include the id of the new shift
                    m_Database_Handler.Edit_MissionToDatabase(m_Mission.address, m_Mission.city,
                                                              m_Mission.client_name, m_Mission.country, m_Mission.date_billed, m_Mission.date_creation, m_Mission.date_declined, m_Mission.date_done,
                                                              m_Mission.description, m_Mission.end_date, m_Mission.id, m_Mission.id_client, m_Mission.id_list_shifts,
                                                              m_Mission.start_date, m_Mission.state, m_Mission.zipcode);
                }
                else if (res.Contains("Error"))
                {
                    //Treatment of the error
                    MessageBox.Show(this, res, m_Global_Handler.Resources_Handler.Get_Resources("Error"), MessageBoxButton.OK, MessageBoxImage.Error);
                    m_Global_Handler.Log_Handler.WriteMessage(MethodBase.GetCurrentMethod().Name, res);
                    return;
                }
            }
            catch (Exception exception)
            {
                m_Global_Handler.Log_Handler.WriteException(MethodBase.GetCurrentMethod().Name, exception);
                return;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Initialization
        /// Functions
        /// Constructor for the mission main window
        /// </summary>
        public MainWindowShift(Handlers _Global_Handler, Database.Database _Database_Handler, Mission _Mission)
        {
            try
            {
                //Initialize the components
                InitializeComponent();
                this.Closing += new CancelEventHandler(Window_Closing);

                //Initialize variables
                m_Global_Handler   = _Global_Handler;
                m_Database_Handler = _Database_Handler;
                m_Mission          = _Mission;

                //Load shifts
                List <String> listShiftsId = new List <string>();
                if (m_Mission.id_list_shifts != null)
                {
                    listShiftsId = new List <string>(m_Mission.id_list_shifts.Split(';'));
                }
                m_ListOfShifts = m_Database_Handler.Get_ShiftsFromListOfId(listShiftsId);
                m_ListOfShifts.Sort((x, y) => DateTime.Compare(Convert.ToDateTime(x.date + " " + x.start_time), Convert.ToDateTime(y.date + " " + y.start_time)));

                //Fill infos mission
                Txt_Shifts_Mission.Text           = m_Mission.description;
                Txt_Shifts_Mission_City.Text      = m_Mission.city;
                Txt_Shifts_Mission_Client.Text    = m_Mission.client_name;
                Txt_Shifts_Mission_EndDate.Text   = m_Mission.end_date;
                Txt_Shifts_Mission_StartDate.Text = m_Mission.start_date;
                if (m_Mission.start_date != "")
                {
                    Cld_Shifts_Shift_Date.SelectedDate = Convert.ToDateTime(m_Mission.start_date);
                    Cld_Shifts_Shift_Date.DisplayDate  = Convert.ToDateTime(m_Mission.start_date);
                }
                Txt_Shifts_Shift_HourlyRate.Text = SoftwareObjects.GlobalSettings.hourly_rate;
                Txt_Shifts_Shift_Pause.Text      = SoftwareObjects.GlobalSettings.pause_duration;

                //Fill combo boxes
                for (int iHour = 0; iHour <= 24; ++iHour)
                {
                    Cmb_Shifts_Shift_EndHour_Hour.Items.Add(iHour.ToString("00"));;
                    Cmb_Shifts_Shift_StartHour_Hour.Items.Add(iHour.ToString("00"));;
                }
                Cmb_Shifts_Shift_EndHour_Hour.SelectedIndex   = 12;
                Cmb_Shifts_Shift_StartHour_Hour.SelectedIndex = 8;
                for (int iMin = 0; iMin < 4; ++iMin)
                {
                    int min = iMin * 15;
                    Cmb_Shifts_Shift_EndHour_Min.Items.Add(min.ToString("00"));;
                    Cmb_Shifts_Shift_StartHour_Min.Items.Add(min.ToString("00"));;
                }
                Cmb_Shifts_Shift_EndHour_Min.SelectedIndex   = 0;
                Cmb_Shifts_Shift_StartHour_Min.SelectedIndex = 0;

                for (int iHostess = 0; iHostess < SoftwareObjects.HostsAndHotessesCollection.Count; ++iHostess)
                {
                    Hostess hostess = SoftwareObjects.HostsAndHotessesCollection[iHostess];
                    if (hostess.archived == 0)
                    {
                        string name = hostess.zipcode + " \t " + hostess.firstname + " " + hostess.lastname;
                        m_List_HostsAndHostesses.Add(name);
                        m_List_IdHostsAndHostesses.Add(hostess.id);
                        Cmb_Shifts_Shift_HostOrHostess.Items.Add(name);
                    }
                }
                //Fill shifts datagrid
                m_Datagrid_Missions_ShiftsCollection.Clear();
                for (int iShift = 0; iShift < m_ListOfShifts.Count; ++iShift)
                {
                    Shift shiftSel = m_ListOfShifts[iShift];
                    m_Datagrid_Mission_Shifts data = new m_Datagrid_Mission_Shifts(shiftSel.id, shiftSel.date,
                                                                                   SoftwareObjects.HostsAndHotessesCollection.Find(x => x.id.Equals(shiftSel.id_hostorhostess)).firstname + " " +
                                                                                   SoftwareObjects.HostsAndHotessesCollection.Find(x => x.id.Equals(shiftSel.id_hostorhostess)).lastname,
                                                                                   shiftSel.start_time, shiftSel.end_time);
                    m_Datagrid_Missions_ShiftsCollection.Add(data);
                }
                Datagrid_Shifts.Items.Refresh();

                //Define content
                Define_Content();
            }
            catch (Exception exception)
            {
                m_Global_Handler.Log_Handler.WriteException(MethodBase.GetCurrentMethod().Name, exception);
                return;
            }
        }