Exemplo n.º 1
0
        private void ibUpdate_ServerClick(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            string Hours = String.Format("{0:H:mm}", dtcTimesheetHours.Value);

            if (Hours == "")
            {
                Hours = "0:00";
            }
            string[] parts   = Hours.Split(':');
            int      Minutes = 0;

            Minutes = int.Parse(parts[0]) * 60;
            if (parts.Length > 1)
            {
                Minutes += int.Parse(parts[1]);
            }

            if (Minutes > 0 && !TimeTracking.CanUpdate(dtc.SelectedDate, Document.GetProject(DocumentID)))
            {
                cvHours.ErrorMessage = LocRM2.GetString("tWrongDate");
                cvHours.IsValid      = false;
                return;
            }

            Document.AddTimeSheet(DocumentID, Minutes, dtc.SelectedDate);
            bindHours();

            Response.Redirect(GetLink());
        }
Exemplo n.º 2
0
        protected void btnUpdateTimeTracking_ServerClick(object sender, System.EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            //string Hours = tbTimesheetHours.Text;
            string Hours = String.Format("{0:H:mm}", dtcTimesheetHours.Value);

            if (Hours == "")
            {
                Hours = "0:00";
            }
            string[] parts   = Hours.Split(':');
            int      Minutes = 0;

            Minutes = int.Parse(parts[0]) * 60;
            if (parts.Length > 1)
            {
                Minutes += int.Parse(parts[1]);
            }

            if (Minutes > 0 && !TimeTracking.CanUpdate(dtc.SelectedDate, Task.GetProject(TaskID)))
            {
                CustomValidator3.ErrorMessage = LocRM.GetString("tWrongDate");
                CustomValidator3.IsValid      = false;
                return;
            }

            Task.AddTimeSheet(TaskID, Minutes, dtc.SelectedDate);
            bindHours();

            Response.Redirect(GetLink());
        }
 public ReportsController(TimeKeeperContext context) : base(context)
 {
     monthlyOverview = new MonthlyOverview(Unit);
     annualOverview  = new AnnualOverview(Unit);
     projectHistory  = new ProjectHistory(Unit);
     timeTracking    = new TimeTracking(Unit);
 }
		public void Store(TimeTracking timeTracking) {
			_fileSystemWatcher.EnableRaisingEvents = false;
			var w = new StringWriter();
			Serializer.Serialize(timeTracking, w);
			File.WriteAllText(_path, w.ToString());
			_fileSystemWatcher.EnableRaisingEvents = true;
		}
Exemplo n.º 5
0
        public void TimeTracking_Dispose()
        {
            var tt = new TimeTracking();

            tt.Dispose();

            Assert.IsNull(tt.CurrentSession);
        }
Exemplo n.º 6
0
        public void TimeTracking_Switch()
        {
            const string TestAccountName = "Test1";
            var          tt         = new TimeTracking();
            ITimeAccount newAccount = tt.AddAccount(TestAccountName);

            tt.Switch(newAccount);

            Assert.AreSame(tt.CurrentSession.Account, newAccount);
        }
Exemplo n.º 7
0
        protected void btnUpdateOS_ServerClick(object sender, System.EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            ListItem li = ddPercentOS.SelectedItem;

            if (li != null)
            {
                int percent = int.Parse(li.Value);

                //string Hours = tbTTOS.Text;
                string Hours = String.Format("{0:H:mm}", dtcTimesheetHoursOS.Value);
                if (Hours == "")
                {
                    Hours = "0:00";
                }
                string[] parts   = Hours.Split(':');
                int      Minutes = 0;
                Minutes = int.Parse(parts[0]) * 60;
                if (parts.Length > 1)
                {
                    Minutes += int.Parse(parts[1]);
                }

                if (Minutes > 0)
                {
                    using (IDataReader rdr = ToDo.GetToDo(ToDoID))
                    {
                        if (rdr.Read())
                        {
                            if (rdr["ProjectId"] != DBNull.Value)
                            {
                                int DRProjectId = (int)rdr["ProjectId"];
                                if (!TimeTracking.CanUpdate(dtcOS.SelectedDate, DRProjectId))
                                {
                                    CustomValidator2.ErrorMessage = LocRM.GetString("tWrongDate");
                                    CustomValidator2.IsValid      = false;
                                    return;
                                }
                            }
                        }
                    }
                }

                ToDo.UpdatePercent(ToDoID, percent, Minutes, dtcOS.SelectedDate);
            }
            CheckCompleted();
            //bindHours();
            Response.Redirect(GetLink());
        }
Exemplo n.º 8
0
        public void TimeTracking_Initial_State()
        {
            var tt = new TimeTracking();

            // break account
            Assert.IsTrue(tt.Accounts.Active.Count() == 1);
            Assert.IsTrue(tt.Accounts.Break is BreakAccount);
            Assert.IsTrue(tt.Accounts.Active.First() is BreakAccount);

            // session
            Assert.IsNotNull(tt.CurrentSession);
            Assert.IsTrue(tt.CurrentSession.Account is BreakAccount);
        }
		public void Test() {
			var sw = new StringWriter();
			var timeTracking1 = new TimeTracking {
				Records = new List<TimeRecord> {
					new TimeRecord(1, 6.HoursAgo(), 5.HoursAgo()),
					new TimeRecord(3, 5.HoursAgo(), 3.HoursAgo()),
					new TimeRecord(4, 3.HoursAgo(), 1.HoursAgo()),
				}
			};
			Serializer.Serialize(timeTracking1, sw);
			var timeTracking2 = Serializer.Deserialize<TimeTracking>(new StringReader(sw.ToString()));
			Assert.AreEqual(timeTracking1.ToString(), timeTracking2.ToString());
		}
		public void NormalLog() {
			var form = new Form {
				Text = "Test",
				Width = 600,
				Height = 300,
				Font = new Font("Arial", 12, FontStyle.Regular, GraphicsUnit.Point),
			};
			var timeTracking = new TimeTracking();
			timeTracking.Records.Add(new TimeRecord {
				AssignableID = 5,
				Started = Time(10, 8),
				Ended = Time(11, 23),
				Description = "First task completed"
			});
			timeTracking.Records.Add(new TimeRecord {
				AssignableID = 3,
				Started = Time(11, 49),
				Ended = Time(12, 23),
				Description = "First task completed"
			});
			timeTracking.Records.Add(new TimeRecord {
				AssignableID = 4,
				Started = Time(13, 1),
				Ended = Time(13, 23),
				Description = "First task completed"
			});
			timeTracking.Records.Add(new TimeRecord {
				AssignableID = 5,
				Started = Time(13, 23),
				Ended = Time(15, 59),
				Description = "First task completed"
			});
			timeTracking.Records.Add(new TimeRecord {
				AssignableID = 6,
				Started = Time(16, 0),
				Ended = Time(17, 28),
				Description = "First task completed"
			});
			var ctl = new TimeLogChartControl {
				Dock = DockStyle.Fill,
				Names = new Dictionary<int, string> {
					{3, "Simple task"},
					{4, "Moderate task"},
					{5, "Complex task with a very long name that does not fit to a header cell and needs to be wrapped or a tool tip needs to be displayed for it."},
				},
				TimeRecords = timeTracking.Records,
			};
			form.Controls.Add(ctl);
			form.Closed += (sender, e) => { Application.Exit(); };
			Application.Run(form);
		}
Exemplo n.º 11
0
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
            return;
        }

        bestTime = PlayerPrefs.GetFloat("Highscore", -1);
    }
		public void EmptyLog() {
			var form = new Form {
				Text = "Test",
				Width = 600,
				Height = 300,
				Font = new Font("Times New Roman", 12, FontStyle.Regular, GraphicsUnit.Point),
			};
			var timeTracking = new TimeTracking();
			var ctl = new TimeLogChartControl {
				Dock = DockStyle.Fill,
				TimeRecords = timeTracking.Records,
			};
			form.Controls.Add(ctl);
			form.Closed += (sender, e) => { Application.Exit(); };
			Application.Run(form);
		}
Exemplo n.º 13
0
        protected void btnUpdateTT_Click(object sender, System.EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            //string Hours = tbTimesheetHours.Text;
            string Hours = String.Format("{0:H:mm}", dtcTimesheetHours.Value);

            if (Hours == "")
            {
                Hours = "0:00";
            }
            string[] parts   = Hours.Split(':');
            int      Minutes = 0;

            Minutes = int.Parse(parts[0]) * 60;
            if (parts.Length > 1)
            {
                Minutes += int.Parse(parts[1]);
            }

            if (Minutes > 0)
            {
                using (IDataReader rdr = ToDo.GetToDo(ToDoID))
                {
                    if (rdr.Read())
                    {
                        if (rdr["ProjectId"] != DBNull.Value)
                        {
                            int DRProjectId = (int)rdr["ProjectId"];
                            if (!TimeTracking.CanUpdate(dtc.SelectedDate, DRProjectId))
                            {
                                CustomValidator3.ErrorMessage = LocRM.GetString("tWrongDate");
                                CustomValidator3.IsValid      = false;
                                return;
                            }
                        }
                    }
                }
            }

            ToDo.AddTimeSheet(ToDoID, Minutes, dtc.SelectedDate);
            //bindHours();
            Response.Redirect(GetLink());
        }
        public void Test_TentaAddNotasComTempoCronometradoAUmProblema()
        {
            #region Parameters
            CreateAnIssueNoteRequest createAnIssueNoteRequest;
            Note         note         = new Note();
            TimeTracking timeTracking = new TimeTracking();

            string statusEsperado = "Forbidden";

            int    idIssue       = 1;
            string textoNota     = "test note";
            string viewStateName = "public";
            string duracao       = "00:15";

            string mensagemEsperada    = "time tracking disabled";
            string codigoEsperado      = "13";
            string localizadorEsperado = "Access Denied.";

            #endregion

            #region Acoes
            viewState.name        = viewStateName;
            timeTracking.duration = duracao;

            note.text          = textoNota;
            note.view_state    = viewState;
            note.time_tracking = timeTracking;

            createAnIssueNoteRequest = new CreateAnIssueNoteRequest(idIssue);

            createAnIssueNoteRequest.SetJsonBody(note);

            IRestResponse <dynamic> response = createAnIssueNoteRequest.ExecuteRequest();
            #endregion

            #region Asserts
            Assert.Multiple(() =>
            {
                Assert.AreEqual(statusEsperado, response.StatusCode.ToString());
                Assert.AreEqual(mensagemEsperada, response.Data.message.ToString());
                Assert.AreEqual(codigoEsperado, response.Data.code.ToString());
                Assert.AreEqual(localizadorEsperado, response.Data.localized.ToString());
            });
            #endregion
        }
Exemplo n.º 15
0
        public void TimeTracking_AddAccount()
        {
            const string TestAccountName = "Test1";
            var          tt = new TimeTracking();

            tt.AddAccount(TestAccountName);

            Assert.IsTrue(tt.Accounts.Active.Count() == 2);

            // break account
            Assert.IsTrue(tt.Accounts.Break is BreakAccount);
            Assert.IsTrue(tt.Accounts.Active.First() is BreakAccount);

            // session
            Assert.IsNotNull(tt.CurrentSession);
            Assert.IsTrue(tt.CurrentSession.Account is BreakAccount);

            // new account
            Assert.AreEqual(tt.Accounts.Active.ElementAt(1).Name, TestAccountName, false);
        }
Exemplo n.º 16
0
        protected void btnUpdatePS_ServerClick(object sender, System.EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            ListItem li = ddPercentPS.SelectedItem;

            if (li != null)
            {
                int percent = int.Parse(li.Value);

                //string Hours = tbTTPS.Text;
                string Hours = String.Format("{0:H:mm}", dtcTimesheetHoursPS.Value);
                if (Hours == "")
                {
                    Hours = "0:00";
                }
                string[] parts   = Hours.Split(':');
                int      Minutes = 0;
                Minutes = int.Parse(parts[0]) * 60;
                if (parts.Length > 1)
                {
                    Minutes += int.Parse(parts[1]);
                }

                if (Minutes > 0 && !TimeTracking.CanUpdate(dtcPS.SelectedDate, Task.GetProject(TaskID)))
                {
                    CustomValidator1.ErrorMessage = LocRM.GetString("tWrongDate");
                    CustomValidator1.IsValid      = false;
                    return;
                }

                Task.UpdateResourcePercent(TaskID, percent, Minutes, dtcPS.SelectedDate);
            }
            CheckCompleted();
            //bindHours();
            Response.Redirect(GetLink());
        }
		public void ShortLog() {
			var form = new Form {
				Text = "Test",
				Width = 600,
				Height = 300,
				Font = new Font("Times New Roman", 12, FontStyle.Regular, GraphicsUnit.Point),
			};
			var timeTracking = new TimeTracking();
			timeTracking.Records.Add(new TimeRecord {
				AssignableID = 5,
				Started = Time(11, 8),
				Ended = Time(11, 9),
				Description = "First task completed"
			});
			var ctl = new TimeLogChartControl {
				Dock = DockStyle.Fill,
				TimeRecords = timeTracking.Records,
			};
			form.Controls.Add(ctl);
			form.Closed += (sender, e) => { Application.Exit(); };
			Application.Run(form);
		}
Exemplo n.º 18
0
        private static void WalkTimeTrackingRetForQuery(XmlNode TimeTrackingRet)
        {
            if (TimeTrackingRet == null) return;

            string QBTxnID = TimeTrackingRet.SelectSingleNode("./TxnID").InnerText;
            string QBEditSequence = TimeTrackingRet.SelectSingleNode("./EditSequence").InnerText;
            string TxnDate = TimeTrackingRet.SelectSingleNode("./TxnDate").InnerText;

            string QBEmployeeListID = "";
            if (TimeTrackingRet.SelectSingleNode("./EntityRef/ListID") != null)
            {
                QBEmployeeListID = TimeTrackingRet.SelectSingleNode("./EntityRef/ListID").InnerText;
            }

            string QBWorkOrderListID = "";
            XmlNode CustomerRef = TimeTrackingRet.SelectSingleNode("./CustomerRef");
            if (CustomerRef != null)
            {
                if (TimeTrackingRet.SelectSingleNode("./CustomerRef/ListID") != null)
                {
                    QBWorkOrderListID = TimeTrackingRet.SelectSingleNode("./CustomerRef/ListID").InnerText;
                }
            }

            string QBServiceTypeListID = "";
            XmlNode ItemServiceRef = TimeTrackingRet.SelectSingleNode("./ItemServiceRef");
            if (ItemServiceRef != null)
            {
                if (TimeTrackingRet.SelectSingleNode("./ItemServiceRef/ListID") != null)
                {
                    QBServiceTypeListID = TimeTrackingRet.SelectSingleNode("./ItemServiceRef/ListID").InnerText;
                }
            }

            string Duration = TimeTrackingRet.SelectSingleNode("./Duration").InnerText;

            string QBAreaListID = "";
            XmlNode ClassRef = TimeTrackingRet.SelectSingleNode("./ClassRef");
            if (ClassRef != null)
            {
                if (TimeTrackingRet.SelectSingleNode("./ClassRef/ListID") != null)
                {
                    QBAreaListID = TimeTrackingRet.SelectSingleNode("./ClassRef/ListID").InnerText;
                }
            }

            string Notes = "";
            if (TimeTrackingRet.SelectSingleNode("./Notes") != null)
            {
                Notes = TimeTrackingRet.SelectSingleNode("./Notes").InnerText;
            }

            string BillableStatus = "";
            if (TimeTrackingRet.SelectSingleNode("./BillableStatus") != null)
            {
                BillableStatus = TimeTrackingRet.SelectSingleNode("./BillableStatus").InnerText;
            }

            RotoTrackDb db = new RotoTrackDb();

            TimeTracking tt = null;
            if (db.TimeTrackings.Any(j => j.QBTxnId == QBTxnID))
            {
                tt = db.TimeTrackings.First(j => j.QBTxnId == QBTxnID);
            }
            else
            {
                tt = new TimeTracking();
                db.TimeTrackings.Add(tt);
            }

            tt.QBTxnId = QBTxnID;
            tt.QBEditSequence = QBEditSequence;
            DateTime dateWorked;
            if (DateTime.TryParse(TxnDate, out dateWorked))
            {
                tt.DateWorked = dateWorked;
            }
            tt.QBEmployeeListID = QBEmployeeListID;
            tt.QBWorkOrderListID = QBWorkOrderListID;
            tt.QBServiceTypeListID = QBServiceTypeListID;

            HoursMinutes hrsMins = GetHoursMinutesFromDuration(Duration);
            if (hrsMins != null)
            {
                tt.HoursWorked = hrsMins.Hours;
                tt.MinutesWorked = hrsMins.Minutes;
            }

            tt.QBAreaListID = QBAreaListID;
            tt.Notes = Notes;
            tt.BillableStatus = BillableStatus;

            db.SaveChanges();
        }
Exemplo n.º 19
0
        private static void WalkTimeTrackingRetForQuery(XmlNode TimeTrackingRet)
        {
            if (TimeTrackingRet == null)
            {
                return;
            }

            string QBTxnID        = TimeTrackingRet.SelectSingleNode("./TxnID").InnerText;
            string QBEditSequence = TimeTrackingRet.SelectSingleNode("./EditSequence").InnerText;
            string TxnDate        = TimeTrackingRet.SelectSingleNode("./TxnDate").InnerText;

            string QBEmployeeListID = "";

            if (TimeTrackingRet.SelectSingleNode("./EntityRef/ListID") != null)
            {
                QBEmployeeListID = TimeTrackingRet.SelectSingleNode("./EntityRef/ListID").InnerText;
            }

            string  QBWorkOrderListID = "";
            XmlNode CustomerRef       = TimeTrackingRet.SelectSingleNode("./CustomerRef");

            if (CustomerRef != null)
            {
                if (TimeTrackingRet.SelectSingleNode("./CustomerRef/ListID") != null)
                {
                    QBWorkOrderListID = TimeTrackingRet.SelectSingleNode("./CustomerRef/ListID").InnerText;
                }
            }

            string  QBServiceTypeListID = "";
            XmlNode ItemServiceRef      = TimeTrackingRet.SelectSingleNode("./ItemServiceRef");

            if (ItemServiceRef != null)
            {
                if (TimeTrackingRet.SelectSingleNode("./ItemServiceRef/ListID") != null)
                {
                    QBServiceTypeListID = TimeTrackingRet.SelectSingleNode("./ItemServiceRef/ListID").InnerText;
                }
            }

            string Duration = TimeTrackingRet.SelectSingleNode("./Duration").InnerText;

            string  QBAreaListID = "";
            XmlNode ClassRef     = TimeTrackingRet.SelectSingleNode("./ClassRef");

            if (ClassRef != null)
            {
                if (TimeTrackingRet.SelectSingleNode("./ClassRef/ListID") != null)
                {
                    QBAreaListID = TimeTrackingRet.SelectSingleNode("./ClassRef/ListID").InnerText;
                }
            }

            string Notes = "";

            if (TimeTrackingRet.SelectSingleNode("./Notes") != null)
            {
                Notes = TimeTrackingRet.SelectSingleNode("./Notes").InnerText;
            }

            string BillableStatus = "";

            if (TimeTrackingRet.SelectSingleNode("./BillableStatus") != null)
            {
                BillableStatus = TimeTrackingRet.SelectSingleNode("./BillableStatus").InnerText;
            }

            RotoTrackDb db = new RotoTrackDb();

            TimeTracking tt = null;

            if (db.TimeTrackings.Any(j => j.QBTxnId == QBTxnID))
            {
                tt = db.TimeTrackings.First(j => j.QBTxnId == QBTxnID);
            }
            else
            {
                tt = new TimeTracking();
                db.TimeTrackings.Add(tt);
            }

            tt.QBTxnId        = QBTxnID;
            tt.QBEditSequence = QBEditSequence;
            DateTime dateWorked;

            if (DateTime.TryParse(TxnDate, out dateWorked))
            {
                tt.DateWorked = dateWorked;
            }
            tt.QBEmployeeListID    = QBEmployeeListID;
            tt.QBWorkOrderListID   = QBWorkOrderListID;
            tt.QBServiceTypeListID = QBServiceTypeListID;

            HoursMinutes hrsMins = GetHoursMinutesFromDuration(Duration);

            if (hrsMins != null)
            {
                tt.HoursWorked   = hrsMins.Hours;
                tt.MinutesWorked = hrsMins.Minutes;
            }

            tt.QBAreaListID   = QBAreaListID;
            tt.Notes          = Notes;
            tt.BillableStatus = BillableStatus;

            db.SaveChanges();
        }
		public void Read(out TimeTracking timeTracking) {
			timeTracking = File.Exists(_path) ? Serializer.Deserialize<TimeTracking>(File.ReadAllText(_path)) : new TimeTracking();
		}
Exemplo n.º 21
0
 public CompanyDashboard(UnitOfWork unit) : base(unit)
 {
     _queryService     = new QueryService(unit);
     _timeTracking     = new TimeTracking(unit);
     _storedProcedures = new StoredProcedureService(unit);
 }
Exemplo n.º 22
0
 public TeamDashboard(UnitOfWork unit) : base(unit)
 {
     _timeTracking     = new TimeTracking(unit);
     _storedProcedures = new StoredProcedureService(unit);
 }
			public void Store(TimeTracking timeTracking)
			{
				_timeTracking = timeTracking;
				_lastUpdate = DateTime.Now;
			}
			public void Read(out TimeTracking timeTracking)
			{
				timeTracking = _timeTracking ?? new TimeTracking();
			}