private void ExecuteCloseActiveTask(object obj) { //If task is stopped, but not saved, show dialog if ((!_timeEntryRepository.Exists(TimeEntry) && TimeEntry.IsStopped) || !TimeEntry.IsStopped && TimeEntry.TimeSpent != TimeSpan.Zero) { var result = MessageBox.Show("Current timeentry has not been saved. Close the task?", "Unsaved timeentry", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { TaskCommands.CloseActiveTask.Execute(null); } } else { TaskCommands.CloseActiveTask.Execute(null); } }
private TimeEntryUpdatedStatusDto SaveOrUpdateTimeEntry(TimeEntryDto timeEntryDto, User user) { var response = new TimeEntryUpdatedStatusDto(); response.Guid = timeEntryDto.Guid; response.IsOK = true; var task = _taskRepository.GetByGuid(timeEntryDto.TaskGuid); var timeEntryType = _timeEntryTypeRepository.GetById(timeEntryDto.TimeEntryTypeId); var pricePrHour = _priceService.GetPrice(timeEntryDto.PricePrHour, user, task); if (_timeEntryRepository.Exists(timeEntryDto.Guid)) { var changedTimeEntry = _timeEntryRepository.GetByGuid(timeEntryDto.Guid); if (changedTimeEntry.Invoice != null) { //throw response.IsOK = false; response.ReasonText = "Can not edit timeentry that has marked as invoiced!"; return(response); } changedTimeEntry.User = user; changedTimeEntry.Task = task; changedTimeEntry.TimeEntryType = timeEntryType; changedTimeEntry.StartTime = timeEntryDto.StartTime; changedTimeEntry.EndTime = timeEntryDto.EndTime; changedTimeEntry.Description = timeEntryDto.Description; changedTimeEntry.TimeSpent = timeEntryDto.TimeSpent; changedTimeEntry.BillableTime = timeEntryDto.BillableTime; changedTimeEntry.Billable = timeEntryDto.Billable; changedTimeEntry.Price = pricePrHour; _timeEntryRepository.SaveOrUpdate(changedTimeEntry); return(response); } var newTimeEntry = _timeEntryFactory.Create( timeEntryDto.Guid, user, task, timeEntryType, timeEntryDto.StartTime, timeEntryDto.EndTime, timeEntryDto.Description, timeEntryDto.TimeSpent, 0, timeEntryDto.BillableTime, timeEntryDto.Billable, pricePrHour, timeEntryDto.ClientSourceId ); _timeEntryRepository.SaveOrUpdate(newTimeEntry); return(response); }
public TimeEntryDto SaveTimeEntry(TimeEntryDto timeEntryDto, int userId) { var user = _userRepository.GetByUserID(userId); var task = _taskRepository.GetByGuid(timeEntryDto.TaskGuid); var timeEntryType = _timeEntryTypeRepository.GetById(timeEntryDto.TimeEntryTypeId); var pricePrHour = _priceService.GetPrice(timeEntryDto.PricePrHour, user, task); if (!_timeEntryRepository.Exists(timeEntryDto.Guid)) { //TODO: Do logic that splits the timeentry in two, if a dateshift has occurred // if(timeEntry.StartTime.Date != timeEntry.EndTime.Date) var newTimeEntry = _timeEntryFactory.Create( timeEntryDto.Guid, user, task, timeEntryType, timeEntryDto.StartTime, timeEntryDto.EndTime, timeEntryDto.Description, timeEntryDto.TimeSpent, 0, timeEntryDto.BillableTime, timeEntryDto.Billable, pricePrHour, timeEntryDto.ClientSourceId ); _timeEntryRepository.SaveOrUpdate(newTimeEntry); timeEntryDto.Id = newTimeEntry.Id; } else { var changedTimeEntry = _timeEntryRepository.GetByGuid(timeEntryDto.Guid); changedTimeEntry.User = user; changedTimeEntry.Task = task; changedTimeEntry.TimeEntryType = timeEntryType; changedTimeEntry.StartTime = timeEntryDto.StartTime; changedTimeEntry.EndTime = timeEntryDto.EndTime; changedTimeEntry.Description = timeEntryDto.Description; changedTimeEntry.TimeSpent = timeEntryDto.TimeSpent; changedTimeEntry.BillableTime = timeEntryDto.BillableTime; changedTimeEntry.Billable = timeEntryDto.Billable; changedTimeEntry.Price = pricePrHour; _timeEntryRepository.SaveOrUpdate(changedTimeEntry); } return(timeEntryDto); }
private InActiveTaskViewModel Create(TimeEntry timeEntry) { var inActiveTaskWidth = _appSettings.InActiveTaskWidth; var inactiveTaskHeight = _appSettings.InactiveTaskHeight; double timeSpentFontSize = _appSettings.InactiveTaskTimeSpentFontSize; double taskNameFontSize = _appSettings.InactiveTaskTaskNameFontSize; double detailsFontSize = _appSettings.InactiveTaskDescriptionFontSize; var inActiveTaskViewModel = new InActiveTaskViewModel(timeEntry, _timeEntryRepository.Exists(timeEntry), inActiveTaskWidth, inactiveTaskHeight, timeSpentFontSize, taskNameFontSize, detailsFontSize); return(inActiveTaskViewModel); }