Пример #1
0
 public NewTaskWindowViewModel(Task task)
 {
     Task = task;
     TrackingGroup.RegisterObject(Task);
     using (var client = new MainServiceClient())
         Accounts = client.GetAccounts(task.ProjectId);
 }
Пример #2
0
        /// <summary>
        /// Add a new group to the database and return the result.
        /// </summary>
        /// <returns></returns>
        public TrackingGroup Add()
        {
            var result = new TrackingGroup();

            _dataStore.Save(result);
            return(result);
        }
Пример #3
0
 /// <summary>
 /// Add the provided tracking group to the database.
 /// </summary>
 /// <param name="trackingGroup"></param>
 public void Add(TrackingGroup trackingGroup)
 {
     if (trackingGroup == null)
     {
         throw new ArgumentException("The tracking group cannot be null");
     }
     _dataStore.Save(trackingGroup);
 }
Пример #4
0
        /// <summary>
        /// Add a new group and with the provided display name and return the result.
        /// </summary>
        /// <param name="displayName"></param>
        /// <returns></returns>
        public TrackingGroup Add(string displayName)
        {
            var result = new TrackingGroup();

            result.DisplayName = displayName;
            _dataStore.Save(result);
            return(result);
        }
Пример #5
0
 public NewTaskWindowViewModel(int projectId)
 {
     Task = new Task()
     {
         ProjectId = projectId, State = Data.Enums.TaskState.New
     };
     TrackingGroup.RegisterObject(Task);
     using (var client = new MainServiceClient())
         Accounts = client.GetAccounts(projectId);
 }
        protected virtual bool SaveEditItem()
        {
            using (var saving = new SavingServiceClient())
            {
                try
                {
                    PrepareItemForSave();
                    if (EditItem.Id == 0)
                    {
                        saving.CascadeInsert(EditItem);
                    }
                    else
                    {
                        foreach (var item in TrackingGroup.GetTrackingResult <EFHistoryModel <int> >(x => x.HasFlag(TrackingState.Added)))
                        {
                            if (item.Id == 0)
                            {
                                saving.CascadeInsert(item);
                            }
                            else
                            {
                                saving.Modify(item);
                            }
                        }
                        foreach (var item in TrackingGroup.GetTrackingResult <EFHistoryModel <int> >(x => x.HasFlag(TrackingState.Deleted)))
                        {
                            if (item is EFExcludableModel <int> excludable)
                            {
                                saving.Delete(excludable);
                            }
                            else
                            {
                                saving.Remove(item);
                            }
                        }
                        foreach (var item in TrackingGroup.GetTrackingResult <EFHistoryModel <int> >(x => x.HasFlag(TrackingState.Changed) && !x.HasFlag(TrackingState.Added)))
                        {
                            saving.Modify(item);
                        }
                    }

                    saving.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    saving.Rollback();
                    WPFTools.Log.LogException(ex);
                    return(false);
                }
            }
        }
Пример #7
0
 /// <summary>
 /// Update the database with the provided tracking group.
 /// </summary>
 /// <param name="trackingGroup"></param>
 public void Update(TrackingGroup trackingGroup)
 {
     _dataStore.Save(trackingGroup);
 }
Пример #8
0
 /// <summary>
 /// Delete the provided tracking group from the database.
 /// </summary>
 /// <param name="trackingGroup"></param>
 public void Delete(TrackingGroup trackingGroup)
 {
     _dataStore.Delete(trackingGroup);
 }