/// <summary> /// Сохранение введеной смены /// </summary> private void SetWorkedTimeToTimetable() { //проходим по каждой записи //foreach (DataGridViewRow row in dataGridView1.Rows) //{ object rowValue = dataGridView1.CurrentRow.Cells[0].Value; //ТН работника if (rowValue != null) { Person person = PersonProxy.SearchPersonById(int.Parse(rowValue.ToString())); //текущий работник Dictionary <DateTime, string> timeWorked = new Dictionary <DateTime, string>(); //пара Дата-Время for (int i = 2; i < dataGridView1.ColumnCount - 1; i++) { object timeValue = dataGridView1.CurrentRow.Cells[i].Value; if (timeValue != null) { DateTime date = new DateTime(int.Parse(Year), Month, dataGridView1.CurrentRow.Cells[i].ColumnIndex - 1).Date; timeWorked.Add(date, timeValue.ToString()); //добавляем дату и отработанное время PersonProxy.SetWorkingTime(timeWorked, person); //отправляем данные на обработку } } //} } }
private void filterForm_PersonSelected(object sender, FilterEventArgs e) { if (e is FilterEventArgs) { FilterEventArgs filterEventArgs = e as FilterEventArgs; Person person = PersonProxy.SearchPersonById(filterEventArgs.ID); dataGridView1.Rows.Add(person.ID, person.LastName + " " + person.FirstName + " " + person.Patronymic); } }
/// <summary> /// Заполнение таблицы смен /// </summary> private void FillTheShifts() { //Проходим каждый ряд работника foreach (DataGridViewRow row in dataGridView1.Rows) { if (row.Cells[0].Value != null) { Person person = PersonProxy.SearchPersonById(int.Parse(row.Cells[0].Value.ToString())); //текущий работник dataGridView2.DataSource = NetProxy.GetShifts(person, int.Parse(Year), Month); IEnumerable <Net> shifts = NetProxy.GetShifts(person, int.Parse(Year), Month); //список всех отработанных дней //проходим по каждой смене foreach (Net shift in shifts) { foreach (DataGridViewColumn column in dataGridView1.Columns) { //сверяем отработанную дату с датой, введеной в таблицу if (column.HeaderText.Contains(' ')) { string headerDate = column.HeaderText.Split(' ')[0]; if (headerDate.Length <= 2) { if (int.Parse(headerDate) == shift.DateWorked.Day) { //если дата совпадает - вводим значение row.Cells[column.Index].Value = shift.TimeWorked; } } } } } CountTotalTime(); person = null; } } }