Esempio n. 1
0
        /// <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);
        }