Exemplo n.º 1
0
        private void FillMemberFromDataReader(CodeProjectMember member, DbDataReader r)
        {
            object idAsObject = r["Key"];

            member.Id           = int.Parse(idAsObject.ToString());
            member.Name         = r["Name"].ToString();
            member.ArticleCount = int.Parse(r["ArticleCnt"].ToString());
            member.BlogCount    = int.Parse(r["BlogCnt"].ToString());
            member.Reputation   = r["Reputation"].ToString();
        }
        public override bool OnContextItemSelected(IMenuItem item)
        {
            AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.MenuInfo;
            CodeProjectMember   memberToDelete      = members [info.Position];
            CodeProjectDatabase db = new CodeProjectDatabase();

            db.DeleteMember(memberToDelete.Id);

            members     = db.GetMembers();
            ListAdapter = new CodeProjectMemberAdapter(this.Activity, members);

            return(true);
        }
		public void LoadMember(TaskScheduler uiContext) {
			Dictionary<String, String> param = new Dictionary<string, string> ();
			param.Add ("Id", MemberId.ToString());

			Member = new CodeProjectMember ();
			Member.Id = MemberId;

			ObjectBuilder objectBuilder = new ObjectBuilder ();
			Task<object> fillMemberTask = objectBuilder.FillAsync (Member, param, CancellationToken.None);

			fillMemberTask.Start ();
			fillMemberTask
				.ContinueWith (x => LoadGravatar ())
				.ContinueWith (x => MemberLoaded (), uiContext);
		}
		public static UITableViewCell FillCellWithMember(UITableViewCell cell, CodeProjectMember member) {
			(cell.ViewWithTag (100) as UILabel).Text = member.Name;
			(cell.ViewWithTag (101) as UILabel).Text = "Posts: " + (member.ArticleCount + member.BlogCount);
			(cell.ViewWithTag (102) as UILabel).Text = member.Reputation;

			CodeProjectDatabase database = new CodeProjectDatabase ();
			byte[] gravatar = database.GetGravatar (member.Id);
			if (gravatar != null) {

				UIImage image = UIImage.LoadFromData (NSData.FromArray (gravatar));
				(cell.ViewWithTag (105) as UIImageView).Image = image;

			}

			return cell;
		}
Exemplo n.º 5
0
        public void LoadMember(TaskScheduler uiContext)
        {
            Dictionary <String, String> param = new Dictionary <string, string> ();

            param.Add("Id", MemberId.ToString());

            Member    = new CodeProjectMember();
            Member.Id = MemberId;

            ObjectBuilder objectBuilder  = new ObjectBuilder();
            Task <object> fillMemberTask = objectBuilder.FillAsync(Member, param, CancellationToken.None);

            fillMemberTask.Start();
            fillMemberTask
            .ContinueWith(x => LoadGravatar())
            .ContinueWith(x => MemberLoaded(), uiContext);
        }
Exemplo n.º 6
0
        public bool AddMember(CodeProjectMember member)
        {
            var connection = new SqliteConnection("Data Source=" + dbPath);

            connection.Open();

            using (var command = connection.CreateCommand())
            {
                command.CommandText = "SELECT [Key] FROM [Member] WHERE [Key]=" + member.Id;
                var r = command.ExecuteReader();
                if (r.HasRows)
                {
                    using (var uc = connection.CreateCommand())
                    {
                        uc.CommandText = "UPDATE [Member] SET " +
                                         " [Name] = '" + member.Name + "'," +
                                         " [ArticleCnt] = '" + member.ArticleCount + "'," +
                                         " [BlogCnt] = '" + member.BlogCount + "'," +
                                         " [Reputation] = '" + member.Reputation + "'," +
                                         " WHERE [Key]=" + member.Id;
                        uc.ExecuteNonQuery();
                    }
                }
                else
                {
                    using (var ic = connection.CreateCommand())
                    {
                        ic.CommandText = "INSERT INTO [Member] ([Key], [Name], [ArticleCnt], [BlogCnt], [Reputation])"
                                         + " VALUES(" + member.Id + ", '" + member.Name + "', '" + member.ArticleCount + "', '" + member.BlogCount + "', '" + member.Reputation + "')";
                        ic.ExecuteNonQuery();
                    }
                }
            }

            connection.Close();

            FileStorageService storage = new FileStorageService();

            if (member.Avatar != null)
            {
                storage.WriteBytes(member.Avatar, member.Id.ToString());
            }

            return(true);
        }
        public CodeprojectMemberViewModel(CodeProjectMember member, Action<string> gotoPageAction, Action<string> deleteMember)
        {
            this.GotoPageCommand = new ButtonCommandBinding<string>(gotoPageAction);
            this.DeleteMemberCommand = new ButtonCommandBinding<string>(deleteMember);
            this.member = member;

            var db = new CodeProjectDatabase();
            byte[] avatar = db.GetGravatar(this.member.Id);

            if (avatar != null)
            {
                BitmapImage bitmapImage = new BitmapImage();
                MemoryStream ms = new MemoryStream(avatar);
                bitmapImage.SetSource(ms);

                AvatarImage = bitmapImage;
            }
        }
        public CodeprojectMemberViewModel(CodeProjectMember member, Action <string> gotoPageAction, Action <string> deleteMember)
        {
            this.GotoPageCommand     = new ButtonCommandBinding <string>(gotoPageAction);
            this.DeleteMemberCommand = new ButtonCommandBinding <string>(deleteMember);
            this.member = member;

            var db = new CodeProjectDatabase();

            byte[] avatar = db.GetGravatar(this.member.Id);

            if (avatar != null)
            {
                BitmapImage  bitmapImage = new BitmapImage();
                MemoryStream ms          = new MemoryStream(avatar);
                bitmapImage.SetSource(ms);

                AvatarImage = bitmapImage;
            }
        }
Exemplo n.º 9
0
        public List <CodeProjectMember> GetMembers()
        {
            List <CodeProjectMember> memberList = new List <CodeProjectMember> ();

            var connection = new SqliteConnection("Data Source=" + dbPath);

            connection.Open();

            using (var command = connection.CreateCommand()) {
                command.CommandText = "SELECT [Key], [Name], [ArticleCnt], [BlogCnt], [Reputation], [IsMe] FROM [Member]";
                var r = command.ExecuteReader();
                while (r.Read())
                {
                    CodeProjectMember member = new CodeProjectMember();
                    FillMemberFromDataReader(member, r);
                    memberList.Add(member);
                }
            }

            connection.Close();

            return(memberList);
        }
Exemplo n.º 10
0
        public CodeProjectMember GetMember(int memberId)
        {
            var connection = new SqliteConnection("Data Source=" + dbPath);

            connection.Open();

            CodeProjectMember member = new CodeProjectMember();

            member.Id = memberId;

            using (var command = connection.CreateCommand()) {
                command.CommandText = "SELECT [Key], [Name], [ArticleCnt], [BlogCnt], [Reputation], [IsMe] FROM [Member] WHERE [Key]=" + memberId;
                var r = command.ExecuteReader();
                while (r.Read())
                {
                    FillMemberFromDataReader(member, r);
                }
            }

            connection.Close();

            return(member);
        }
 public void SaveMember(CodeProjectMember member)
 {
     SaveMember();
 }
 public void SaveMember(CodeProjectMember member)
 {
     SaveMember();
 }
		public void SetMember(CodeProjectMember member) {
			viewModel.MemberId = member.Id;
			viewModel.MemberReputationGraphUrl = member.ReputationGraph;
		}