internal TSpan SumTimes() { var res = new TSpan(0); foreach (var t in Times) { res += t.Duration; } return(res); }
internal TSpan SumTimes(DateTime date1, DateTime date2) { var res = new TSpan(0); foreach (var t in TimesAt(date1, date2)) { res += t.Duration; } return(res); }
public TSpan Add(TSpan d) { Add(d.sec); return(this); }
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0) { if (dataGridView1.RowCount > 0) { try { var p = db.GetByName(dataGridView1[0, 0].Value + ""); dataGridView1[6, 0].Value = p.LastComment; } catch { dataGridView1[0, 0].ErrorText = "?"; } } } if (ignorEvents) { return; } if (e.ColumnIndex == Column_day_in_week.Index) { try { var i = Column_day_in_week.Items.IndexOf(dataGridView1[e.ColumnIndex, e.RowIndex].Value + ""); if (i >= 0) { dataGridView1[Column_date.Index, e.RowIndex].Value = Utils.DateString(DateTime.Now.AddDays(i - 6)); } } catch { } } for (int i = 3; i <= 5; i++) { dataGridView1[i, 0].ErrorText = ""; } if (e.ColumnIndex == 2)// تاریخ { try { ignorEvents = true; var date = Utils.PersianParse(dataGridView1[2, 0].Value.ToString()); var Start = new DateTime(date.Year, date.Month, date.Day, 1, 1, 0); dataGridView1[1, 0].Value = Utils.DayString(Start); UpdateProgresssBar(date); } catch { dataGridView1[2, 0].ErrorText = "?"; } finally { ignorEvents = false; } } if (e.ColumnIndex == 3 || e.ColumnIndex == 4) // شروع - پایان { try { if (!(dataGridView1[3, 0].Value + "").Contains(":")) { dataGridView1[3, 0].Value += ":00"; } if (!(dataGridView1[4, 0].Value + "").Contains(":")) { dataGridView1[4, 0].Value += ":00"; } ignorEvents = true; var date = Utils.PersianParse(dataGridView1[2, 0].Value.ToString()); var start = dataGridView1[3, 0].Value.ToString().Split(new char[] { ':' }); var Start = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt16(start[0]), Convert.ToInt16(start[1]), 0); var end = dataGridView1[4, 0].Value.ToString().Split(new char[] { ':' }); var End = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt16(end[0]), Convert.ToInt16(end[1]), 0); var Duration = new TSpan() { sec = (int)(End - Start).TotalSeconds }; dataGridView1[5, 0].Value = Duration.ToString(); } catch { dataGridView1[e.ColumnIndex, 0].ErrorText = "?"; } finally { ignorEvents = false; } } else if (e.ColumnIndex == 5) // مدت { try { if (!(dataGridView1[5, 0].Value + "").Contains(":")) { dataGridView1[5, 0].Value += ":00"; } if (!(dataGridView1[3, 0].Value + "").Contains(":")) { dataGridView1[3, 0].Value += ":00"; } var date = Utils.PersianParse(dataGridView1[2, 0].Value.ToString()); var start = dataGridView1[3, 0].Value.ToString().Split(new char[] { ':' }); var Start = new DateTime(date.Year, date.Month, date.Day, Convert.ToInt16(start[0]), Convert.ToInt16(start[1]), 0); var Duration = new TSpan(dataGridView1[5, 0].Value.ToString()); var End = Start.AddSeconds(Duration.sec); dataGridView1[4, 0].Value = Utils.TimeString(End); } catch { dataGridView1[5, 0].ErrorText = "?"; } } }