Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="frmTimeSheetItem"/> class.
 /// </summary>
 /// <param name="timeSheet">The time sheet.</param>
 public TimeSheetItemForm(ref TimeSheet timeSheet, TimeSheetDay timeSheetDay) {
   InitializeComponent();
   _timeSheetItem            = timeSheet;
   _timeSheetDayItem         = timeSheetDay;
   _categoriesControl        = new CategoriesControl();
   SetUpTimeSheetItemForm();
 }
Ejemplo n.º 2
0
    /// <summary>
    /// Edits the specified time sheet item.
    /// </summary>
    /// <param name="timeSheetItem">The time sheet item.</param>
    /// <param name="day">The day.</param>
    /// <param name="timeSheetItemIndex">Index of the time sheet item.</param>
    public bool Edit(TimeSheet timeSheetItem, TimeSheetDay timeSheetDay) {
      bool status                 = false;
      int timeSheetDayIndex       = FindTimeSheetDayIndex(timeSheetDay.GUID);
      int index                   = FindTimeSheetItemIndex(timeSheetItem.GUID, timeSheetDay.GUID);

      if (index != -1) {
        Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList[index]       = timeSheetItem;
        Persist();
        status                    = true;
      }

      return status;
    }
Ejemplo n.º 3
0
    /// <summary>
    /// Adds the specified time sheet item.
    /// </summary>
    /// <param name="timeSheetItem">The time sheet item.</param>
    /// <param name="timeSheetDay">The time sheet day.</param>
    public void Add(TimeSheet timeSheetItem, TimeSheetDay timeSheetDay){
      int dayIndex                          = FindTimeSheetDayIndex(timeSheetDay.GUID);

      if (dayIndex != -1) {
        Persistence.Persist.Data.TimeSheetDayList[dayIndex].TimeSheetList.Add(timeSheetItem);
      } else {
        Persistence.Persist.Data.TimeSheetDayList.Add(timeSheetDay);
        Persist();
        dayIndex                            = FindTimeSheetDayIndex(timeSheetDay.GUID);
        Persistence.Persist.Data.TimeSheetDayList[dayIndex].Day      = timeSheetDay.Day;
        Persistence.Persist.Data.TimeSheetDayList[dayIndex].TimeSheetList.Add(timeSheetItem);
      }
      Persist();
    }
Ejemplo n.º 4
0
    /// <summary>
    /// Gets the display name of the time sheet. (Subject to Options settings)
    /// </summary>
    /// <returns></returns>
    public string GetTimeSheetDisplayName(TimeSheet timeSheetItem){
      string result       = string.Empty;

      if (Properties.Settings.Default.TimeSheet_ShowJobTime) {
        if (timeSheetItem.Task.Length > 80) {
          result            = timeSheetItem.Task.Substring(0, 80) + "...";

        } else {
          result            = timeSheetItem.Task.Substring(0, timeSheetItem.Task.Length);
        }

      } else {
        if (timeSheetItem.Task.Length > 90) {
          result            = timeSheetItem.Task.Substring(0, 90) + "...";

        } else {
          result            = timeSheetItem.Task.Substring(0, timeSheetItem.Task.Length);
        }
      }

      int enterKey        = result.IndexOf("\n");
      if (enterKey != -1) {
        result            = result.Substring(0, enterKey);
        result            = result + "...";
      }
      return result;
    }
Ejemplo n.º 5
0
    /// <summary>
    /// Calculates the job time.
    /// </summary>
    /// <param name="timeSheetItem">The time sheet item.</param>
    /// <returns></returns>
    public static string CalculateJobTime(TimeSheet timeSheetItem){
      string result = string.Empty;

      if (timeSheetItem.EndTime.TimeOfDay > timeSheetItem.StartTime.TimeOfDay) {
        result = Convert.ToString(timeSheetItem.EndTime.TimeOfDay - timeSheetItem.StartTime.TimeOfDay).Substring(0, 8);
      } else {
        result = "--:--:--";
      }

      return result;
    }
Ejemplo n.º 6
0
    /// <summary>
    /// Sets the last time sheet items end time Or gets the next time sheet items start time. (Subject to Options settings)
    /// </summary>
    /// <param name="timeSheetItem">The time sheet item.</param>
    /// <param name="timeSheetDayItem">The time sheet day item.</param>
    /// <returns></returns>
    public DateTime SetLastTimeSheetItemsEndTime(TimeSheet timeSheetItem, TimeSheetDay timeSheetDayItem){
      int timeSheetDayIndex       = FindTimeSheetDayIndex(timeSheetDayItem.GUID);

      DateTime result             = new DateTime();
      if (timeSheetDayIndex != -1) {
        if (Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList.Count > 0) {
          DateTime validation     = new DateTime();

          if (Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList[Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList.Count - 1].EndTime == validation) {
            if (Properties.Settings.Default.TimeSheet_SetEndTime) {
              Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList[Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList.Count - 1].EndTime      = timeSheetItem.StartTime;
              Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList[Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList.Count - 1].JobTime      = TimeSheetControl.CalculateJobTime(Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList[Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList.Count - 1]);
              result              = Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList[Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList.Count - 1].EndTime;
            }
            Persist();
          }
        }
      }
      return result;
    }
Ejemplo n.º 7
0
    /// <summary>
    /// Inserts the specified time sheet item.
    /// </summary>
    /// <param name="timeSheetItem">The time sheet item.</param>
    /// <param name="timeSheetDay">The time sheet day.</param>
    /// <param name="insertPosition">The insert position.</param>
    public void Insert(TimeSheet timeSheetItem, TimeSheetDay timeSheetDay, TimeSheet insertPosition){
      int timeSheetDayIndex       = FindTimeSheetDayIndex(timeSheetDay.GUID);
      int index                   = FindTimeSheetItemIndex(insertPosition.GUID, timeSheetDay.GUID);

      Persistence.Persist.Data.TimeSheetDayList[timeSheetDayIndex].TimeSheetList.Insert(index, timeSheetItem);
      Persist();
    }
Ejemplo n.º 8
0
 /// <summary>
 /// Clears the time sheet object.
 /// </summary>
 private void ClearTimeSheetObject(){
   _timeSheetItem = null;
 }
Ejemplo n.º 9
0
      /// <summary>
      /// Quicks the add time sheet item.
      /// </summary>
      private void QuickAddTimeSheetItem(){
        try {//todo// test there is an error when adding the first quick add item
          TimeSheetDay timeSheetDay                 = (TimeSheetDay)calTimeSheet.Tag;
          TimeSheet timeSheetItem                   = new TimeSheet();

          timeSheetItem.GUID                        = Utilities.GetNewGUID();
          timeSheetItem.Date                        = calTimeSheet.SelectionRange.Start;
          timeSheetItem.Task                        = txtQuickAddTask.Text;
          timeSheetItem.TodoTaskGuid                = "";
          timeSheetItem.MainCategoryGuid            = "";
          timeSheetItem.SubCategoryGuid             = "";
          timeSheetItem.StartTime                   = _timeSheetControl.SetLastTimeSheetItemsEndTime(timeSheetDay);
          timeSheetItem.EndTime                     = new DateTime();
          timeSheetItem.JobTime                     = TimeSheetControl.CalculateJobTime(timeSheetItem);

          _timeSheetControl.Add(timeSheetItem, timeSheetDay);
          PopulateTimeSheetTab(calTimeSheet.SelectionRange);

          //Set previous timesheet items linked Todo item complete if End time is set
          int index                         = _timeSheetControl.FindTimeSheetDayIndex(timeSheetDay.GUID);
          if ( Persist.Data.TimeSheetDayList[index].TimeSheetList.Count > 1) {
            TimeSheet prevTimeSheetItem       = Persist.Data.TimeSheetDayList[index].TimeSheetList[Persist.Data.TimeSheetDayList[index].TimeSheetList.Count - 2];

            if (prevTimeSheetItem.EndTime != new DateTime()) {
              SetLinkedTodoItemComplete(prevTimeSheetItem.TodoTaskGuid);
              PopulateTodoTab();
            }
          }

        } catch (Exception ex) {
          Utilities.ShowErrorMessage("Error Adding Quick TimeSheet Item", ex);
        }
      }
Ejemplo n.º 10
0
      /// <summary>
      /// Inserts the time sheet item.
      /// </summary>
      /// <param name="index">The index.</param>
      private void InsertTimeSheetItem(){
        try {
          if (tbcMain.SelectedTab != tbTimeSheet) {
            tbcMain.SelectedTab       = tbTimeSheet;
          }

          if (calTimeSheet.SelectionStart == calTimeSheet.SelectionEnd) {
            if (dgvTimeSheet.SelectedRows.Count == 0) {
              if (dgvTimeSheet.SelectedRows.Count > 1) {
                if (dgvTimeSheet.SelectedRows[0].Index != dgvTimeSheet.Rows.Count - 1) {
                  TimeSheetDay timeSheetDayItem       = (TimeSheetDay)calTimeSheet.Tag;
                  TimeSheet insertPosition            = (TimeSheet)dgvTimeSheet.SelectedRows[0].Tag;
                  TimeSheet timeSheetItem             = new TimeSheet();
                  TimeSheetItemForm frm               = new TimeSheetItemForm(ref timeSheetItem, timeSheetDayItem);
                  DialogResult result                 = frm.ShowDialog();

                  if (timeSheetItem.Task != "") {
                    _timeSheetControl.Insert(timeSheetItem, timeSheetDayItem, insertPosition);
                    PopulateTimeSheetTab(calTimeSheet.SelectionRange);

                    //Set linked Todo item complete
                    if ((timeSheetItem.EndTime != new DateTime()) & (timeSheetItem.TodoTaskGuid != "")) {
                      SetLinkedTodoItemComplete(timeSheetItem.TodoTaskGuid);
                      PopulateTodoTab();
                    }
                  }
                }

              } else {
                MessageBox.Show("Please select only one Time Sheet Item you wish to insert above.", "INSERT",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
              }

            } else {
              MessageBox.Show("Please select the Time Sheet Item to insert above.", "INSERT",
                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

          } else {
            MessageBox.Show("Please select the specific date you wish to insert a Time Sheet Item above.", "INSERT",
                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
          }

        } catch (Exception ex) {
          Utilities.ShowErrorMessage("Error Inserting TimeSheet Item.", ex);
        }
      }
Ejemplo n.º 11
0
      /// <summary>
      /// Adds the time sheet item.
      /// </summary>
      private void AddTimeSheetItem(){
        try {
          if (tbcMain.SelectedTab != tbTimeSheet) {
            tbcMain.SelectedTab       = tbTimeSheet;
          }

          if (calTimeSheet.SelectionStart == calTimeSheet.SelectionEnd) {
            TimeSheetDay timeSheetDayItem       = (TimeSheetDay)calTimeSheet.Tag;
            TimeSheet timeSheetItem             = new TimeSheet();
            TimeSheetItemForm frm               = new TimeSheetItemForm(ref timeSheetItem, timeSheetDayItem);
            frm.ShowDialog();

            if (timeSheetItem.GUID != "") {
              DateTime result                   = _timeSheetControl.SetLastTimeSheetItemsEndTime(timeSheetItem, timeSheetDayItem);
              _timeSheetControl.Add(timeSheetItem, timeSheetDayItem);
              PopulateTimeSheetTab(calTimeSheet.SelectionRange);

              //Set timesheet items linked Todo item complete if End time is set
              if (result != new DateTime()) {                                                           //previous timesheet item
                int index                       = _timeSheetControl.FindTimeSheetDayIndex(timeSheetDayItem.GUID);
                TimeSheet prevTimeSheetItem     = Persist.Data.TimeSheetDayList[index].TimeSheetList[Persist.Data.TimeSheetDayList[index].TimeSheetList.Count - 2];
                SetLinkedTodoItemComplete(prevTimeSheetItem.TodoTaskGuid);
                PopulateTodoTab();
              }

              if ((timeSheetItem.EndTime != new DateTime()) & (timeSheetItem.TodoTaskGuid != "")) {     //new time sheet item
                SetLinkedTodoItemComplete(timeSheetItem.TodoTaskGuid);
                PopulateTodoTab();
              }
            }

          } else {
            MessageBox.Show("Please select a specific date you wish to add a TimeSheet item to.", "ADD",
                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
          }

        } catch (Exception ex) {
          Utilities.ShowErrorMessage("Error Adding TimeSheet Item.", ex);
        }
      }