Exemple #1
0
        public int AddLikeOrDislike(int userId, int answerId, ActivityType activityType)
        {
            var activity = new QAActivity()
            {
                UserId       = userId,
                AnswerId     = answerId,
                ActivityType = activityType
            };
            var newActivity = this.Mapper.Map <DataModel.QAActivity>(activity);
            var data        = this.DataBase.SingleOrDefault <DataModel.QAActivity>("where AnswerId=@0 and UserId=@1 and IsDeleted=0", newActivity.AnswerId, newActivity.UserId);

            if (data == null)
            {
                return(Convert.ToInt32(this.DataBase.Insert(newActivity)));
            }
            else if (data.ActivityType == newActivity.ActivityType)
            {
                data.IsDeleted   = true;
                data.DateDeleted = DateTime.UtcNow;
                return(Convert.ToInt32(this.DataBase.Update(data, new List <string> {
                    "IsDeleted", "DateDeleted"
                })));
            }
            else
            {
                data.IsDeleted   = true;
                data.DateDeleted = DateTime.UtcNow;
                this.DataBase.Update(data, new List <string> {
                    "IsDeleted", "DateDeleted"
                });
                return(Convert.ToInt32(this.DataBase.Insert(newActivity)));
            }
        }
Exemple #2
0
        public int AddView(int userId, int questionId)
        {
            var activity = new QAActivity()
            {
                UserId       = userId,
                QuestionId   = questionId,
                ActivityType = ActivityType.View
            };
            var newActivity = this.Mapper.Map <DataModel.QAActivity>(activity);

            return(Convert.ToInt32(this.DataBase.Insert(newActivity)));
        }
Exemple #3
0
        public bool AddUpVote(int userId, int questionId)
        {
            var activity = new QAActivity()
            {
                UserId       = userId,
                QuestionId   = questionId,
                ActivityType = ActivityType.UpVote
            };

            var newActivity = this.Mapper.Map <DataModel.QAActivity>(activity);
            var data        = this.DataBase.SingleOrDefault <DataModel.QAActivity>("where QuestionId=@0 and UserId=@1 and ActivityType=@2 and IsDeleted=0", newActivity.QuestionId, newActivity.UserId, newActivity.ActivityType);

            if (data == null)
            {
                this.DataBase.Insert(newActivity);
                return(true);
            }
            data.IsDeleted   = true;
            data.DateDeleted = DateTime.UtcNow;
            this.DataBase.Update(data, new List <string> {
                "IsDeleted", "DateDeleted"
            });
            return(false);
        }