Exemple #1
0
        internal TSpan SumTimes()
        {
            var res = new TSpan(0);

            foreach (var t in Times)
            {
                res += t.Duration;
            }
            return(res);
        }
Exemple #2
0
        internal TSpan SumTimes(DateTime date1, DateTime date2)
        {
            var res = new TSpan(0);

            foreach (var t in TimesAt(date1, date2))
            {
                res += t.Duration;
            }
            return(res);
        }
Exemple #3
0
 public TSpan Add(TSpan d)
 {
     Add(d.sec);
     return(this);
 }
Exemple #4
0
 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 = "?"; }
     }
 }