/// <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; } }