示例#1
0
        /// <summary>
        /// Get the list of projects for the given user.
        /// </summary>
        /// <param name="userName">The username.</param>
        public void GetProjectsByUserAsync(string userName)
        {
            DataServiceClient client = this.CreateDataServiceClient();

            client.GetProjectsByUserCompleted += (sender, args) =>
            {
                if (args.Error != null)
                {
                    client.Abort();
                    this.logger.Log(this.GetType().Name, args.Error);

                    if (args.Error.GetType() == typeof(Exception))
                    {
                        throw args.Error;
                    }

                    return;
                }

                try
                {
                    List <Project> projects = DataServiceTranslator.ConvertToProjects(args.Result);
                    this.OnGetProjectsByUserCompleted(new DataEventArgs <List <Project> >(projects));
                }
                catch (Exception e)
                {
                    client.Abort();
                    this.logger.Log(this.GetType().Name, e);
                    throw;
                }
            };

            client.GetProjectsByUserAsync(userName);
        }
示例#2
0
        public void ShouldConvertCollectionOfServiceProjectsIntoAListProjects()
        {
            var serviceProject1 = TranslatorHelper.CreateServiceProject();
            var serviceProject2 = TranslatorHelper.CreateServiceProject();

            var projectsCollection = new ObservableCollection <Project> {
                serviceProject1, serviceProject2
            };

            var projects = DataServiceTranslator.ConvertToProjects(projectsCollection);

            Assert.AreEqual(projectsCollection.Count, projects.Count);

            TranslatorHelper.AssertProject(projectsCollection[0], projects[0]);
            TranslatorHelper.AssertProject(projectsCollection[1], projects[1]);
        }