コード例 #1
1
        public override int Run(String[] RemainingArguments)
        {
            IRavenEntity taskToFetch = new SparkTask();
            var actualTaskId = "SparkTasks/" + TaskId;
            taskToFetch.Id = actualTaskId;
            if (TaskId == null)
            {
                Console.WriteLine("Please specify an Id for the task to activate");
                return 0;
            }
            SparkTask taskToSet = SparkLogic.fetch(taskToFetch) as SparkTask;
            TaskStateControl taskStateControl = new TaskStateControl();
            ActiveTaskProcess taskProcessor = new ActiveTaskProcess();

            if (taskToSet == null)
            {
                Console.WriteLine("The task specified doesn't exist");
                return 0;
            }

            var result = taskStateControl.SetActiveTask(taskToSet);

            if (result == true) { Console.WriteLine("The task was activated"); }
            if (taskToSet != null && result == false)
            {
                taskStateControl.PauseTask();
                taskStateControl.SetActiveTask(taskToSet);
                Console.WriteLine("The Task was activated. The previous task was put on pause");
            }

            ReminderControl.StartTime = DateTime.Now;
            taskProcessor.SetStartTime();
            return 0;
        }
コード例 #2
0
        public override int Run(string[] remainingArguments)
        {
            if (EntityType.ToLower() == "task")
            {
                SparkTask taskToDelete = new SparkTask();
                var actualId = "SparkTasks/" + IdToDelete;
                taskToDelete.Id = actualId;

                DeleteItemCmd deleteItemCmd = new DeleteItemCmd();
                deleteItemCmd.ItemToWork = taskToDelete;

                var result = deleteItemCmd.DeleteItem();

                Console.WriteLine(result);
                return 0;
            }

            if(EntityType.ToLower() == "reminder")
            {
                SparkTask reminderToDelete = new SparkTask();
                var actualId = "Reminders/" + IdToDelete;
                reminderToDelete.Id = actualId;

                DeleteItemCmd deleteItemCmd = new DeleteItemCmd();
                deleteItemCmd.ItemToWork = reminderToDelete;

                var result = deleteItemCmd.DeleteItem();

                Console.WriteLine(result);
                return 0;

            }
            else { Console.WriteLine("The type of entity should be a task or reminder"); }
            return 0;
        }
コード例 #3
0
        public static TimeSpan GetElapsedTime(this SparkTask taskToGetTimeFrom)
        {
            DateTime currentTime = DateTime.Now;
            TimeSpan elapsedTime = currentTime - taskToGetTimeFrom.StartDate;

            taskToGetTimeFrom.TimeElapsed = taskToGetTimeFrom.TimeElapsed.Add(elapsedTime);
            taskToGetTimeFrom.StartDate   = DateTime.Now;
            //  return ent.TimeElapsed;
            return(taskToGetTimeFrom.TimeElapsed);
        }
コード例 #4
0
 public bool SetActiveTask(SparkTask taskToActivate)
 {
     var activeTask = repo.GetActiveTask();
     if (activeTask == null || activeTask.State != TaskState.InProgress)
     {
         taskToActivate.State = TaskState.InProgress;
         taskToActivate.StartDate = DateTime.Now;
         repo.Update(taskToActivate);
         return true;
     }
     else
     {
         return false;
     }
 }
コード例 #5
0
        public IRavenEntity GetItem(String entityName)
        {
            if (entityName == "task")
            {
                SparkTask itemToAdd = new SparkTask();
                while (itemToAdd.Description == null || itemToAdd.Description == "")
                {
                    Console.WriteLine("Add a description for the task");
                    itemToAdd.Description = Console.ReadLine();
                    if (itemToAdd.Description == null || itemToAdd.Description == "")
                    {
                        Console.WriteLine("You must add a Description");
                    }
                }

                while (itemToAdd.Duration <= 0)
                {

                    int toDuration;
                    Console.WriteLine("Add a duration (in minutes) for the task");
                    String input = Console.ReadLine();
                    if (int.TryParse(input, out toDuration))
                    {
                        itemToAdd.Duration = toDuration;
                    }
                    if (itemToAdd.Duration <= 0)
                    {
                        Console.WriteLine("The duration must be a number greater than 0");
                    }
                }
                Console.WriteLine("Add a Client for the task");
                itemToAdd.Client = Console.ReadLine();

                itemToAdd.StartDate= DateTime.Now;
                itemToAdd.State=  TaskState.Paused;

                return itemToAdd;
            }

            if (entityName == "reminder")
            {
                Reminder itemToAdd = new Reminder();

                while (itemToAdd.Description == null|| itemToAdd.Description == "")
                {
                    Console.WriteLine("Add a description for the reminder");
                    itemToAdd.Description = Console.ReadLine();
                }
                while (itemToAdd.Interval <= 0)
                {
                    Console.WriteLine("Add an interval (in minutes) for the reminder");
                    String input = Console.ReadLine();
                    int ToInterval;
                    if (int.TryParse(input, out ToInterval))
                    {
                        itemToAdd.Interval = ToInterval;
                    }
                    if (itemToAdd.Interval <= 0)
                    {
                        Console.WriteLine("The Interval must be a number greater than 0");
                    }
                }

                return itemToAdd;
            }

            return null;
        }
コード例 #6
0
 public ReminderEventArgs(Reminder receivedReminder, SparkTask receivedTask)
 {
     TheReminder = receivedReminder;
     TheTask = receivedTask;
 }
コード例 #7
0
        public override int Run(string[] remainingArguments)
        {
            if(EntityType.ToLower() == "task")
            {
                SparkTask taskToAdd = new SparkTask();
                taskToAdd.Description = Description;
                int duration;
                if (int.TryParse(Duration, out duration))
                {
                    if (duration <= 0)
                    {
                        Console.WriteLine("The duration must be a number grather than 0");
                        return 0;
                    }
                    taskToAdd.Duration = duration;
                }
                else
                {
                    Console.WriteLine("The duration must be an integer");
                    return 0;
                }
                taskToAdd.Client = Client;
                taskToAdd.StartDate = DateTime.Now;
                taskToAdd.State = TaskState.Paused;

                AddItemCmd addItemCmd = new AddItemCmd();

                addItemCmd.ItemToWork = taskToAdd;

                var result = addItemCmd.AddItem();
                Console.WriteLine(result);
                return 0;
            }

            if (EntityType.ToLower() == "reminder")
            {
                Reminder reminderToAdd = new Reminder();
                reminderToAdd.Description = Description;
                int interval;
                if (int.TryParse(Duration, out interval))
                {
                    if (interval <= 0)
                    {
                        Console.WriteLine("The duration must be a number grather than 0");
                        return 0;
                    }
                    reminderToAdd.Interval = interval;
                }
                else
                {
                    Console.WriteLine("The duration must be an integer");
                    return 0;
                }

                String pattern = @"((?<hour>\d{2})\:(?<minutes>\d{2}))";
                var regex = new Regex(pattern, RegexOptions.IgnoreCase);
                var match = regex.Match(TimeOfActivation);
                int hour, minutes;

                if (!int.TryParse(match.Groups["hour"].Value, out hour) || !int.TryParse(match.Groups["minutes"].Value, out minutes))
                {
                    Console.WriteLine("The hour has to be numbers");
                    return 0;
                }

                if (int.TryParse(match.Groups["hour"].Value, out hour))
                {
                    if (hour < 00 && hour > 23)
                    {
                        Console.WriteLine("The hours must be between 00 and 23");
                        return 0;
                    }
                }
                if (int.TryParse(match.Groups["minutes"].Value, out minutes))
                {
                    if (minutes < 00 && minutes > 59)
                    {
                        Console.WriteLine("minutes must be between 00 and 59");
                        return 0;
                    }
                }

                DateTime ActivationTime = DateTime.Now;
                TimeSpan ts = new TimeSpan(hour, minutes, 0);
                ActivationTime = ActivationTime.Date + ts;

                reminderToAdd.TimeOfActivation = ActivationTime;
                reminderToAdd.Type = ReminderType.Custom;
                reminderToAdd.Source = ReminderSource.User;

                AddItemCmd addItemCmd = new AddItemCmd();

                addItemCmd.ItemToWork = reminderToAdd;

                var result = addItemCmd.AddItem();
                Console.WriteLine(result);
                return 0;
            }
            else { Console.WriteLine("The type of entity should be a task or reminder"); }

            return 0;
        }