Exemple #1
0
        internal static void LearnMemory(dynamic metadata, dynamic content)
        {
            var groupKey   = metadata.GroupKey.ToString();
            var id         = content.Id.ToString();
            var memoryItem = Memories.SingleOrDefault(d => d.Id == id);

            if (memoryItem != null)
            {
                var nextdate = Now;
                var stage    = memoryItem.Stage;
                switch (memoryItem.Stage)
                {
                case MemoryStage.Stage0:
                    stage = MemoryStage.Stage1;
                    break;

                case MemoryStage.Stage1:
                    nextdate = Now.AddDays(1);
                    stage    = MemoryStage.Stage2;
                    break;

                case MemoryStage.Stage2:
                    nextdate = Now.AddDays(3);
                    stage    = MemoryStage.Stage3;
                    break;

                case MemoryStage.Stage3:
                    nextdate = Now.AddDays(7);
                    stage    = MemoryStage.Stage4;
                    break;

                case MemoryStage.Stage4:
                    nextdate = Now.AddDays(14);
                    stage    = MemoryStage.Stage5;
                    break;

                case MemoryStage.Stage5:
                    nextdate = Now.AddDays(30);
                    stage    = MemoryStage.Stage6;
                    break;

                case MemoryStage.Stage6:
                    nextdate = DateTimeOffset.MaxValue;
                    break;

                default:
                    break;
                }
                memoryItem.NextMemorizeDate = nextdate;
                memoryItem.Stage            = stage;
            }
        }
Exemple #2
0
        internal static void DeleteMemory(dynamic metadata, dynamic content)
        {
            var id        = content.Id.ToString();
            var memory    = Memories.SingleOrDefault(t => t.Id == id);
            var groupKey  = metadata.GroupKey.ToString();
            var memberKey = metadata.MemberKey.ToString();

            if (memory != null)
            {
                Memories.Remove(memory);
                SendFeedbackMessage(type: MsgType.Success, actionTime: GetCreateDate(metadata), action: MapAction.MemoryFeedback.MemoryDeleted.Name, content: new { Id = id });
            }
            else
            {
                SendFeedbackMessage(type: MsgType.Error, actionTime: GetCreateDate(metadata), action: MapAction.MemoryFeedback.CannotFindMemory.Name, content: "Cannot find memory item!");
            }
        }