public CreateActionItem()
 {
     AvailableTypes = new List<Models.ActionItemType>();
     AvailableStatuses = new List<Models.ActionItemStatus>();
     CurrentActionItem = new Models.ActionItem();
     AvailableUsers = new List<SimpleUserInfo>();
     SelectedUser = new SimpleUserInfo();
     AvailablePriorities = new List<Models.Priority>();
 }
 public EditActionItem()
 {
     AvailableTypes = new List<Models.ActionItemType>();
     AvailableStatuses = new List<Models.ActionItemStatus>();
     CurrentActionItem = new Models.ActionItem();
     AvailableUsers = new List<SimpleUserInfo>();
     SelectedUser = new SimpleUserInfo();
     AvailablePriorities = new List<Models.Priority>();
     ActionItemHistory = new List<HistoricEventGroup>();
 }
 public CreateActionItem(List<Models.ActionItemType> availableTypes, List<Models.ActionItemStatus> availableStatuses, List<SimpleUserInfo> availableUsers, List<Models.Priority> availablePriorities, List<Models.Release> availableReleases)
 {
     AvailableTypes = availableTypes;
     AvailableStatuses = availableStatuses;
     CurrentActionItem = new Models.ActionItem();
     AvailableUsers = availableUsers;
     AvailablePriorities = availablePriorities;
     AvailableReleases = availableReleases;
     SelectedUser = new SimpleUserInfo();
 }
        public Models.ActionItem loadActionItemById(Guid actionItemId)
        {
            Models.ActionItem returnMe = new Models.ActionItem();

            SQLActionItem fromDb = db.SQLActionItems.FirstOrDefault(x => x.ID == actionItemId);

            if (fromDb != null)
            {
                var priorities = loadPriorityListForCompanyById(fromDb.Release.Project.CompanyId);

                returnMe = new Models.ActionItem()
                {
                    CreatedBy = loadUserById(fromDb.CreatedByUserId, false),
                    CurrentPriority = priorities.FirstOrDefault(x => x.Order == fromDb.CurrentPriority),
                    CurrentStatus = new Models.ActionItemStatus()
                    {
                        Description = fromDb.Status.Description,
                        ID = fromDb.Status.ID,
                        Name = fromDb.Name
                    },
                    CurrentType = new Models.ActionItemType()
                    {
                        Description = fromDb.ActionItemType.Description,
                        ID = fromDb.ActionItemType.ID,
                        Title = fromDb.ActionItemType.Name
                    },
                    Description = fromDb.Description,
                    DateCompleted = fromDb.DateCompleted,
                    DateCreated = fromDb.DateCreated,
                    Estimate = null,
                    ID = fromDb.ID,
                    TargetDate = null,
                    Title = fromDb.Name,
                    TimeSpent = null
                };

                if (fromDb.ActionItemUsers.Count > 0)
                {
                    returnMe.AssignedTo = new List<Models.User> { loadUserById(fromDb.ActionItemUsers.First().User.ID, false) };
                }
                else
                {
                    returnMe.AssignedTo = new List<Models.User> { returnMe.CreatedBy };
                }

                if (fromDb.IndividualTargetDate.HasValue || fromDb.Release.ScheduledDate.HasValue)
                    returnMe.TargetDate = fromDb.IndividualTargetDate ?? fromDb.Release.ScheduledDate;

                if (fromDb.Estimate.HasValue)
                    returnMe.Estimate = TimeSpan.FromTicks(fromDb.Estimate.Value);

                if (fromDb.TimeSpent.HasValue)
                    returnMe.TimeSpent = TimeSpan.FromTicks(fromDb.TimeSpent.Value);

            }

            return returnMe;
        }