public TrackingRecordEntity Create(TrackingRecordEntity recordEntity)
        {
            var fileNameFromToday         = TextFileTrackingRecordNaming.Instance().GenerateNameFromDate(DateTime.Now, "txt");
            var fileNameFromTodayWithPath = Path.Combine(FolderPath, fileNameFromToday);

            FileManager.CreateIfDoesNotExist(fileNameFromTodayWithPath);
            int Id = GetNewId();
            var textFormatFromTrackingRecord = TextFileTrackingRecordFormatManager.GetTextFormatFromTrackingRecord(recordEntity, Id);

            FileManager.AppendNewLine(textFormatFromTrackingRecord, fileNameFromTodayWithPath);
            recordEntity.Id = Id;
            return(recordEntity);
        }
        public ITrackingRecordDto Create(ITrackingRecordDto trackingRecordDto)
        {
            if (string.IsNullOrWhiteSpace(trackingRecordDto?.ActivityName))
            {
                throw new InvalidTrackingRecord("The TrackingRecord data is not valid.");
            }

            var recordEntity = new TrackingRecordEntity
            {
                ActivityName  = trackingRecordDto.ActivityName,
                StartDateTime = trackingRecordDto.StartDateTime,
                EndDateTime   = trackingRecordDto.EndDateTime
            };

            var trackingRecordEntityCreated = TrackingRecordDataSource.Create(recordEntity);

            return(new TrackingRecordWithEntityDto(trackingRecordEntityCreated));
        }