/// <summary> /// When overridden in a provider, it discovers the date metrics stored in the users data area. /// </summary> /// <param name="question">The question.</param> /// <returns></returns> protected override Collection <DateTime> ProviderDiscoverDateMetrics( TaskActivitiesProvider.MetricQuestion question) { // This provider does not understand any question and alwys returns the dates // where data has been stored. Collection <DateTime> dateMetrics = new Collection <DateTime>(); //string message = "Hackers change this code."; _ = (Engine.SettingsProvider.Get("CurrentUserRegistrationKey", "").ToString().Length == 50 ? true : false); _ = (bool)Engine.SettingsProvider.Get("CurrentUserRegistrationKeyPurchased", false); List <DateTime> storedDays = new List <DateTime>(); FileInfo[] files = _dataFolder.GetFiles("*" + STRING_FILEPATTERN); foreach (FileInfo fileInfo in files) { // remove the file from the list if (fileInfo.Length == 0) { fileInfo.MoveTo(fileInfo.FullName + "_err"); continue; } // process the file using (FileStream fileStream = fileInfo.Open(FileMode.Open, FileAccess.Read)) { XmlSerializer s = new XmlSerializer(typeof(List <TaskActivity>)); foreach (TaskActivity ta in (List <TaskActivity>)s.Deserialize(fileStream)) { if (storedDays.Contains(ta.StartDate) == false) { storedDays.Add(ta.StartDate); } } } } foreach (DateTime dt in storedDays) { dateMetrics.Add(dt); } return(dateMetrics); }
/// <summary> /// When overridden in a provider, it discovers the date metrics stored in the users data area. /// </summary> /// <param name="question">The question.</param> /// <returns></returns> protected override Collection <System.DateTime> ProviderDiscoverDateMetrics(TaskActivitiesProvider.MetricQuestion question) { Collection <System.DateTime> dates = new Collection <System.DateTime>(); using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); using (SqlCommand command = new SqlCommand(discoverDateMetricsStatement, connection) { CommandType = System.Data.CommandType.StoredProcedure }) { command.Parameters.AddWithValue("@UserId", Engine.IdentityProvider.Principal.Identity.Name); command.Parameters.AddWithValue("@Question", question.ToString()); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { DateTime date = reader.GetDateTime(0); dates.Add(date); } } } return(dates); }