Beispiel #1
0
        public List <Models.ViewTag> Get()
        {
            CrowdHeynaEntities db = new CrowdHeynaEntities();
            var tags = new List <Models.ViewTag>();

            //
            foreach (Tag tag in db.Tags.ToList())
            {
                var viewTag = new ViewTag()
                {
                    Id   = tag.Id,
                    Name = tag.Name
                           //
                };
                switch (tag.Id)
                {
                case 1: viewTag.Color = "Red"; break;

                case 2: viewTag.Color = "Green"; break;

                case 3: viewTag.Color = "Blue"; break;

                case 4: viewTag.Color = "Purple"; break;
                }
                tags.Add(viewTag);
            }
            return(tags);
        }
Beispiel #2
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, Hometown = model.Hometown
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    CrowdHeynaEntities db = new CrowdHeynaEntities();
                    db.Users.Add(new User()
                    {
                        UserId = user.Id
                    });
                    db.SaveChanges();
                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
 public List <Models.Tweet> get()
 {
     try
     {
         CrowdHeynaEntities  db     = new CrowdHeynaEntities();
         List <Models.Tweet> tweets = new List <Models.Tweet>();
         var skip = new Random().Next(tweets.Count);
         // var tList = db.Tweets.OrderBy(x => x.Id).Skip(skip).Take(15).ToList();
         var tList = db.Tweets.OrderBy(x => x.Id).Take(15).ToList();
         foreach (Tweet t in tList)
         {
             Models.Tweet tw = new Models.Tweet()
             {
                 Id   = t.Id,
                 Text = t.Text
             };
             tweets.Add(tw);
         }
         return(tweets);
     }
     catch (Exception ex)
     {
         var message = ex.Message;
     }
     return(null);
 }
        public Models.Keywords get(int tweetid)
        {
            CrowdHeynaEntities db = new CrowdHeynaEntities();
            var keywords          = new List <Keyword>();

            //
            keywords = db.Keywords.Where(key => key.TweetId == tweetid).ToList();
            var results = new Models.Keywords();

            foreach (Keyword k in keywords)
            {
                Models.Keyword item = new Models.Keyword();
                item.Id       = k.Id;
                item.Name     = k.Keyword1;
                item.TagCount = 0;
                //
                switch (k.SourceId)
                {
                case 1:
                    results.fromText.Add(item);
                    break;

                case 2:
                    results.fromHashtag.Add(item);
                    break;

                case 3:
                    results.fromURL.Add(item);
                    break;
                }
            }
            return(results);
        }
        public void Post(List <UserKeywordSuggestion> suggestions)
        {
            CrowdHeynaEntities db = new CrowdHeynaEntities();
            var username          = (string)HttpContext.Current.Session["username"];
            var user = db.AspNetUsers.Where(us => us.UserName == username).FirstOrDefault();

            //

            foreach (UserKeywordSuggestion sugg in suggestions)
            {
                var internalUser = db.Users.Where(us => us.UserId == user.Id).FirstOrDefault();
                if (internalUser != null)
                {
                    UserKeywordTagSuggestion sug = new UserKeywordTagSuggestion()
                    {
                        KeywordId  = sugg.KeywordId,
                        TagId      = sugg.TagId,
                        UserId     = internalUser.Id,
                        Suggestion = sugg.Suggestion
                    };
                    db.UserKeywordTagSuggestions.Add(sug);
                }
            }
            db.SaveChanges();
        }
        public List <string> Get(int keyword, int id)
        {
            CrowdHeynaEntities db = new CrowdHeynaEntities();

            //var key = db.Keywords.Where(k => k.Keyword1 == keywordId).FirstOrDefault().Id;
            return(db.UserKeywordTagSuggestions.Where(uts => uts.KeywordId == keyword && uts.TagId == id).Select(s => s.Suggestion).ToList());
        }
Beispiel #7
0
        public async Task <ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Manage"));
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();

                if (info == null)
                {
                    return(View("ExternalLoginFailure"));
                }
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, Hometown = model.Hometown
                };
                var result = await UserManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    result = await UserManager.AddLoginAsync(user.Id, info.Login);

                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        CrowdHeynaEntities db = new CrowdHeynaEntities();
                        db.Users.Add(new User()
                        {
                            UserId = user.Id
                        });
                        db.SaveChanges();
                        return(RedirectToLocal(returnUrl));
                    }
                }
                AddErrors(result);
            }

            ViewBag.ReturnUrl = returnUrl;
            return(View(model));
        }
 public Models.Tweet get(int id)
 {
     try
     {
         CrowdHeynaEntities db = new CrowdHeynaEntities();
         var tweet             = db.Tweets.Where(t => t.Id == id).FirstOrDefault();
         var tw = new Models.Tweet()
         {
             Id   = tweet.Id,
             Text = tweet.Text
         };
         return(tw);
     }
     catch (Exception ex)
     {
         var message = ex.Message;
     }
     return(null);
 }
Beispiel #9
0
        public List <Models.GridRowModel> Get(int tweetId)
        {
            var resultRows = new List <Models.GridRowModel>();

            using (CrowdHeynaEntities db = new CrowdHeynaEntities())
            {
                var keywords = db.UserKeywordTags.Where(key => key.Keyword.TweetId == tweetId).ToList();
                //
                var uniqueKeywords = keywords.Select(s => s.Keyword.Keyword1).Distinct().ToList();
                //
                foreach (string keyword in uniqueKeywords)
                {
                    Models.GridRowModel newRow = new Models.GridRowModel();
                    newRow.Keyword = keyword;
                    //
                    resultRows.Add(newRow);
                }
            }
            //
            return(resultRows);
        }
        public List <Models.KeywordUserTags> Get(int tweetid, string keyword = null)
        {
            var keywordUserTags = new List <Models.KeywordUserTags>();

            //
            using (CrowdHeynaEntities db = new CrowdHeynaEntities())
            {
                var tweet           = db.Tweets.Where(tw => tw.Id == tweetid).FirstOrDefault();
                var tags            = db.Tags.ToList();
                var userKeywordTags = db.UserKeywordTags.ToList();
                var totalUsers      = db.UserKeywordTags.Select(m => m.UserId).Distinct().Count();
                //
                foreach (Tag tag in tags)
                {
                    var kut = new Models.KeywordUserTags()
                    {
                        TagId   = tag.Id,
                        TagName = tag.Name
                    };
                    switch (kut.TagId)
                    {
                    case 1: kut.TagColor = "Red"; break;

                    case 2: kut.TagColor = "Green"; break;

                    case 3: kut.TagColor = "Blue"; break;

                    case 4: kut.TagColor = "Purple"; break;
                    }
                    //
                    foreach (Keyword k in tweet.Keywords.ToList())
                    {
                        if (keyword != "0" && keyword != k.Keyword1)
                        {
                            continue;
                        }
                        //
                        var keywordTags = userKeywordTags.Where(ukt => ukt.KeywordId == k.Id && ukt.Keyword.TweetId == tweet.Id);
                        if (keywordTags != null)
                        {
                            var list = keywordTags.ToList();
                            foreach (UserKeywordTag ukt in list)
                            {
                                if (ukt.TagId == tag.Id)
                                {
                                    if (kut.TagInfo.Exists(ti => ti.KeywordId == ukt.KeywordId))
                                    {
                                        //var tagInf = kut.TagInfo.Where(ti => ti.KeywordId == ukt.KeywordId).FirstOrDefault();
                                    }
                                    else
                                    {
                                        Models.TagInfo tagInfo = new Models.TagInfo();
                                        tagInfo.KeywordId    = ukt.KeywordId;
                                        tagInfo.KeywordName  = ukt.Keyword.Keyword1;
                                        tagInfo.TagUserCount = keywordTags.Where(kt => kt.TagId == tag.Id).Count();
                                        tagInfo.UserCount    = totalUsers;
                                        //
                                        kut.TagInfo.Add(tagInfo);
                                    }
                                }
                            }
                        }
                    }
                    keywordUserTags.Add(kut);
                }
            }
            //
            return(keywordUserTags);
        }