예제 #1
0
 public static void ChecklistElementInfoToChecklistElement(ChecklistElementInfo cei,
     ChecklistElement ce)
 {
     ce.Title = cei.Title;
     ce.BackgroundColor = cei.BackgroundColor;
     ce.FontColor = cei.FontColor;
     ce.FontName = cei.FontName;
     ce.FontSize = cei.FontSize;
     ce.BeginTime = cei.BeginTime;
 }
예제 #2
0
        public static void DeletePositionInfo(ProcrastinHaterEntities context,
            ChecklistElement item)
        {
            ChecklistElement prevItem = item.PositionInformation.PreviousItem;
            ChecklistElement nextItem = item.PositionInformation.NextItem;
            if (prevItem != null)
                prevItem.PositionInformation.NextItem = nextItem;

            if (nextItem != null)
                nextItem.PositionInformation.PreviousItem = prevItem;

            context.PositionInformationSet.DeleteObject(item.PositionInformation);
        }
예제 #3
0
        //For now, add Task or Group to end of list
        public static void AddPositionInfo(ProcrastinHaterEntities context, 
            ChecklistElement item, int? parentGroupId)
        {
            item.PositionInformation = new PositionInformation();

            var lastItemOfGroup = (from pos in context.PositionInformationSet
                                   where ((pos.ChecklistElement.ParentGroupID == parentGroupId) && (pos.NextItemID == null))
                                   select pos.ChecklistElement).SingleOrDefault();

            if (lastItemOfGroup != null)
            {
                lastItemOfGroup.PositionInformation.NextItemID = item.ItemID;
                item.PositionInformation.PreviousItemID = lastItemOfGroup.ItemID;
                item.PositionInformation.NextItemID = null;
            }
        }
예제 #4
0
        public static bool ValidateChecklistElement(ProcrastinHaterEntities context,
            ChecklistElement item,
            out string errors)
        {
            errors = "";

            string titleErr = ValidateTitleField(item.Title);
            if (titleErr != null)
                errors += titleErr + "\n";

            string fontColErr = ValidateColorString(item.FontColor);
            if (fontColErr != null)
                errors += fontColErr + "\n";

            string bgColErr = ValidateColorString(item.BackgroundColor);
            if (bgColErr != null)
                errors += bgColErr + "\n";

            string createTimeErr = ValidateBeginTime(item.BeginTime);
            if (createTimeErr != null)
                errors += createTimeErr + "\n";

            string resolveTimeErr = ValidateResolveTime(item.BeginTime, item.ResolveTime);
            if (resolveTimeErr != null)
                errors += resolveTimeErr + "\n";

            string fontSizeErr = ValidateFontSize(item.FontSize);
            if (fontSizeErr != null)
                errors += fontSizeErr + "\n";

            string parentGroupIdErr = ValidateParentGroupId(context, item.ParentGroupID);
            if (parentGroupIdErr != null)
                errors += parentGroupIdErr + "\n";

            if (string.IsNullOrEmpty(errors))
                return true;
            else
                return false;
        }
        private void FixupPreviousItem(ChecklistElement previousValue)
        {
            if (previousValue != null && previousValue.PositionsPreviousItemsSet.Contains(this))
            {
                previousValue.PositionsPreviousItemsSet.Remove(this);
            }

            if (PreviousItem != null)
            {
                if (!PreviousItem.PositionsPreviousItemsSet.Contains(this))
                {
                    PreviousItem.PositionsPreviousItemsSet.Add(this);
                }
                if (PreviousItemID != PreviousItem.ItemID)
                {
                    PreviousItemID = PreviousItem.ItemID;
                }
            }
            else if (!_settingFK)
            {
                PreviousItemID = null;
            }
        }
        private void FixupChecklistElement(ChecklistElement previousValue)
        {
            if (previousValue != null && ReferenceEquals(previousValue.PositionInformation, this))
            {
                previousValue.PositionInformation = null;
            }

            if (ChecklistElement != null)
            {
                ChecklistElement.PositionInformation = this;
                if (ItemID != ChecklistElement.ItemID)
                {
                    ItemID = ChecklistElement.ItemID;
                }
            }
        }
예제 #7
0
        private void RemovePosInfoFromLinkedList(ChecklistElement ce)
        {
            ChecklistElement prevItem = ce.PositionInformation.PreviousItem;
            ChecklistElement nextItem = ce.PositionInformation.NextItem;
            if (prevItem != null)
                prevItem.PositionInformation.NextItem = nextItem;
            if (nextItem != null)
                nextItem.PositionInformation.PreviousItem = prevItem;

            _context.PositionInformationSet.DeleteObject(ce.PositionInformation);
        }