Example #1
0
        // GET: Books/Create
        public IActionResult Create()
        {
            if (TUser.Power > ACCESSBLE)
            {
                return(NeedLogin());
            }

            var book = new Book
            {
                RegisterID     = TUser.GetID(User),
                IDName         = "",
                LimitedOffcial = false,
                Auther         = TUser.Name,
                Contact        = $"https://twitter.com/{TUser.ScreenName}",
                PublishedDate  = DateTime.Now.Date
            };

            return(View(book));
        }
Example #2
0
        public async Task <IActionResult> ExternalLoginCallback(string returnUrl = null, string remoteError = null)
        {
            var isAuthenticated = User.Identity.IsAuthenticated;

            if (remoteError != null)
            {
                return(RedirectToAction(nameof(Login)));
            }
            if (!isAuthenticated)
            {
                return(RedirectToAction(nameof(Login)));
            }

            var c = context.TUser.Select(user => user.ID);

            if (!context.TUser.Select(user => user.ID).Contains(TUser.GetID(User)))
            {
                var tuser = new TUser(User);
                try
                {
                    await tuser.TwitterTokens.Statuses.UpdateAsync($"「かみしば」を始めました!\n\n {Request.Scheme}://{Request.Host}");
                }
                catch { }
                context.Add(tuser);
                context.SaveChanges();
            }

            var name = await context.TUser.SingleOrDefaultAsync(m => m.ID == TUser.GetID(User));

            TempData["info"] = $"ようこそ {name.Name} 様! (@{name.ScreenName})";

            if (TempData["login_redirect"] != null)
            {
                var target = TempData["login_redirect"].ToString();
                TempData["login_redirect"] = null;
                return(Redirect(target));
            }
            else
            {
                return(Redirect("/"));
            }
        }