Пример #1
0
        public ActionResult Create(AspNetUserLogins entity)
        {
            if (entity != null && ModelState.IsValid)
            {
                string currentPerson = GetCurrentPerson();
                //entity.CreateTime = DateTime.Now;
                //entity.CreatePerson = currentPerson;

                entity.LoginProvider = Result.GetNewId();
                string returnValue = string.Empty;
                if (m_BLL.Create(ref validationErrors, entity))
                {
                    LogClassModels.WriteServiceLog(Suggestion.InsertSucceed + ",AspNetUserLogins的信息的Id为" + entity.LoginProvider, "AspNetUserLogins"
                                                   );//写入日志
                    return(Json(Suggestion.InsertSucceed));
                }
                else
                {
                    if (validationErrors != null && validationErrors.Count > 0)
                    {
                        validationErrors.All(a =>
                        {
                            returnValue += a.ErrorMessage;
                            return(true);
                        });
                    }
                    LogClassModels.WriteServiceLog(Suggestion.InsertFail + ",AspNetUserLogins的信息," + returnValue, "AspNetUserLogins"
                                                   );                  //写入日志
                    return(Json(Suggestion.InsertFail + returnValue)); //提示插入失败
                }
            }

            return(Json(Suggestion.InsertFail + ",请核对输入的数据的格式")); //提示输入的数据的格式不对
        }
Пример #2
0
        public ActionResult Edit(string id, AspNetUserLogins entity)
        {
            if (entity != null && ModelState.IsValid)
            {   //数据校验
                string currentPerson = GetCurrentPerson();
                //entity.UpdateTime = DateTime.Now;
                //entity.UpdatePerson = currentPerson;

                string returnValue = string.Empty;
                if (m_BLL.Edit(ref validationErrors, entity))
                {
                    LogClassModels.WriteServiceLog(Suggestion.UpdateSucceed + ",AspNetUserLogins信息的Id为" + id, "AspNetUserLogins"
                                                   );       //写入日志
                    return(Json(Suggestion.UpdateSucceed)); //提示更新成功
                }
                else
                {
                    if (validationErrors != null && validationErrors.Count > 0)
                    {
                        validationErrors.All(a =>
                        {
                            returnValue += a.ErrorMessage;
                            return(true);
                        });
                    }
                    LogClassModels.WriteServiceLog(Suggestion.UpdateFail + ",AspNetUserLogins信息的Id为" + id + "," + returnValue, "AspNetUserLogins"
                                                   );                  //写入日志
                    return(Json(Suggestion.UpdateFail + returnValue)); //提示更新失败
                }
            }
            return(Json(Suggestion.UpdateFail + "请核对输入的数据的格式")); //提示输入的数据的格式不对
        }
Пример #3
0
        public async Task <IActionResult> PutAspNetUserLogins(string id, AspNetUserLogins aspNetUserLogins)
        {
            if (id != aspNetUserLogins.LoginProvider)
            {
                return(BadRequest());
            }

            _context.Entry(aspNetUserLogins).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AspNetUserLoginsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,LoginProvider,ProviderKey,ProviderDisplayName,UserId")] AspNetUserLogins aspNetUserLogins)
        {
            if (id != aspNetUserLogins.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(aspNetUserLogins);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AspNetUserLoginsExists(aspNetUserLogins.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"] = new SelectList(_context.AspNetUsers, "Id", "Id", aspNetUserLogins.UserId);
            return(View(aspNetUserLogins));
        }
Пример #5
0
        public ActionResult DeleteConfirmed(string id)
        {
            AspNetUserLogins aspNetUserLogins = db.AspNetUserLogins.Find(id);

            db.AspNetUserLogins.Remove(aspNetUserLogins);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        /// <summary>
        /// dohvati jedan po primary key-u
        /// </summary>
        /// <param name="guid"></param>
        /// <returns></returns>
        public AspNetUserLogins Get(int Id)
        {
            AspNetUserLogins item = null;

            using (Entities data = new Entities())
            {
                item = data.AspNetUserLogins.Where(r => r.Id == Id).FirstOrDefault();
            }

            return(item);
        }
Пример #7
0
 public ActionResult Edit([Bind(Include = "LoginProvider,ProviderKey,UserId")] AspNetUserLogins aspNetUserLogins)
 {
     if (ModelState.IsValid)
     {
         db.Entry(aspNetUserLogins).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.UserId = new SelectList(db.AspNetUsers, "Id", "Email", aspNetUserLogins.UserId);
     return(View(aspNetUserLogins));
 }
Пример #8
0
 public Task <IActionResult> Edit(AspNetUserLogins model)
 {
     return(Task.Factory.StartNew <IActionResult>(() =>
     {
         if (!ModelState.IsValid)
         {
             return Json(ExcutedResult.FailedResult("数据验证失败"));
         }
         AspNetUserLoginsRepository.Edit(model, false);
         return Json(ExcutedResult.SuccessResult());
     }));
 }
Пример #9
0
        public async Task <IActionResult> Create([Bind("Id,LoginProvider,ProviderKey,ProviderDisplayName,UserId")] AspNetUserLogins aspNetUserLogins)
        {
            if (ModelState.IsValid)
            {
                _context.Add(aspNetUserLogins);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"] = new SelectList(_context.AspNetUsers, "Id", "Id", aspNetUserLogins.UserId);
            return(View(aspNetUserLogins));
        }
Пример #10
0
        // GET: AspNetUserLogins/Details/5
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetUserLogins aspNetUserLogins = db.AspNetUserLogins.Find(id);

            if (aspNetUserLogins == null)
            {
                return(HttpNotFound());
            }
            return(View(aspNetUserLogins));
        }
        /// <summary>
        /// Inserts a new login in the UserLogins table
        /// </summary>
        /// <param name="user">User to have new login added</param>
        /// <param name="login">Login to be added</param>
        /// <returns></returns>
        public int Insert(IdentityUser user, UserLoginInfo login)
        {
            ConnectionService.ThreadVanityUrl = ConnectionName;

            AspNetUserLogins loginUser = new AspNetUserLogins();

            SetConnection(loginUser);
            loginUser.LoginProvider = login.LoginProvider;
            loginUser.ProviderKey   = login.ProviderKey;
            loginUser.UserId        = user.Id;
            loginUser.Save();

            return(1);
        }
Пример #12
0
 /// <summary>
 /// 创建一个AspNetUserLogins
 /// </summary>
 /// <param name="validationErrors">返回的错误信息</param>
 /// <param name="db">数据库上下文</param>
 /// <param name="entity">一个AspNetUserLogins</param>
 /// <returns></returns>
 public bool Create(ref ValidationErrors validationErrors, AspNetUserLogins entity)
 {
     try
     {
         repository.Create(entity);
         return(true);
     }
     catch (Exception ex)
     {
         validationErrors.Add(ex.Message);
         ExceptionsHander.WriteExceptions(ex);
     }
     return(false);
 }
Пример #13
0
        /// <summary>
        /// The add login async.
        /// </summary>
        /// <param name="user">
        /// The user.
        /// </param>
        /// <param name="login">
        /// The login.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public virtual Task AddLoginAsync([NotNull] AspNetUsers user, [NotNull] UserLoginInfo login)
        {
            CodeContracts.VerifyNotNull(user, nameof(user));
            CodeContracts.VerifyNotNull(login, nameof(login));

            var userLogin = new AspNetUserLogins
            {
                UserId = user.Id, ProviderKey = login.ProviderKey, LoginProvider = login.LoginProvider
            };

            this.GetRepository <AspNetUserLogins>().Insert(userLogin);

            return(Task.FromResult(0));
        }
Пример #14
0
        // GET: AspNetUserLogins/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetUserLogins aspNetUserLogins = db.AspNetUserLogins.Find(id);

            if (aspNetUserLogins == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserId = new SelectList(db.AspNetUsers, "Id", "Email", aspNetUserLogins.UserId);
            return(View(aspNetUserLogins));
        }
Пример #15
0
        public void CreateUserSocial(string LoginProvider, string ProviderKey, string UserId)
        {
            var checkExist = HanomaContext.AspNetUserLogins.FirstOrDefault(p =>
                                                                           p.LoginProvider == LoginProvider && p.ProviderKey == ProviderKey);

            if (checkExist == null)
            {
                AspNetUserLogins item = new AspNetUserLogins();
                item.LoginProvider = LoginProvider;
                item.ProviderKey   = ProviderKey;
                item.UserId        = UserId;
                HanomaContext.AspNetUserLogins.Add(item);
                HanomaContext.SaveChangesAsync();
            }
        }
        /// <summary>
        /// obriši item
        /// nije brisanje već postavljanje Deleted polja na true
        /// </summary>
        /// <param name="item">instanca entity objekta</param>
        /// <returns></returns>
        public bool Delete(AspNetUserLogins item)
        {
            bool uspjelo = false;

            using (KaFotkaEntities data = new KaFotkaEntities())
            {
                item.Deleted = true;
                data.Entry <AspNetUserLogins>(item).State = System.Data.EntityState.Modified;
                data.SaveChanges();

                uspjelo = true;
            }

            return(uspjelo);
        }
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            AspNetUserLogins = await _context.AspNetUserLogins
                               .Include(a => a.User).FirstOrDefaultAsync(m => m.LoginProvider == id);

            if (AspNetUserLogins == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Пример #18
0
        /// <summary>
        /// The add login.
        /// </summary>
        /// <param name="userId">
        /// The user id.
        /// </param>
        /// <param name="login">
        /// The login.
        /// </param>
        public void AddLogin(string userId, UserLoginInfo login)
        {
            CodeContracts.VerifyNotNull(userId, nameof(userId));
            CodeContracts.VerifyNotNull(login, nameof(login));

            if (this.GetRepository <AspNetUserLogins>().GetSingle(l => l.UserId == userId) != null)
            {
                return;
            }

            var userLogin = new AspNetUserLogins
            {
                UserId = userId, ProviderKey = login.ProviderKey, LoginProvider = login.LoginProvider
            };

            this.GetRepository <AspNetUserLogins>().Insert(userLogin);
        }
Пример #19
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            AspNetUserLogins = await _context.AspNetUserLogins
                               .Include(a => a.User).FirstOrDefaultAsync(m => m.LoginProvider == id);

            if (AspNetUserLogins == null)
            {
                return(NotFound());
            }
            ViewData["UserId"] = new SelectList(_context.AspNetUsers, "Id", "Id");
            return(Page());
        }
Пример #20
0
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            AspNetUserLogins = await _context.AspNetUserLogins.FindAsync(id);

            if (AspNetUserLogins != null)
            {
                _context.AspNetUserLogins.Remove(AspNetUserLogins);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
        /// <summary>
        /// spremi item
        /// insert ako nema Id
        /// update ako ima Id
        /// </summary>
        /// <param name="item">instanca entity objekta</param>
        /// <returns></returns>
        public bool Save(AspNetUserLogins item)
        {
            bool uspjelo = false;

            using (Entities data = new Entities())
            {
                data.AspNetUserLogins.Add(item);
                //ako ima Id onda je update
                if (item.Id != null)
                {
                    data.Entry <AspNetUserLogins>(item).State = System.Data.EntityState.Modified;
                }

                data.SaveChanges();

                uspjelo = true;
            }

            return(uspjelo);
        }
Пример #22
0
        public async Task <ActionResult <AspNetUserLogins> > PostAspNetUserLogins(AspNetUserLogins aspNetUserLogins)
        {
            _context.AspNetUserLogins.Add(aspNetUserLogins);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (AspNetUserLoginsExists(aspNetUserLogins.LoginProvider))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetAspNetUserLogins", new { id = aspNetUserLogins.LoginProvider }, aspNetUserLogins));
        }
        /// <summary>
        /// Return a userId given a user's login
        /// </summary>
        /// <param name="userLogin">The user's login info</param>
        /// <returns></returns>
        public string FindUserIdByLogin(UserLoginInfo userLogin)
        {
            ConnectionService.ThreadVanityUrl = ConnectionName;

            string userId = null;

            AspNetUserLoginsQuery q = new AspNetUserLoginsQuery();

            q.Select(q.UserId);
            q.Where(q.LoginProvider == userLogin.LoginProvider && q.ProviderKey == userLogin.ProviderKey);

            AspNetUserLogins login = new AspNetUserLogins();

            SetConnection(login);
            if (login.Load(q))
            {
                userId = login.UserId;
            }

            return(userId);
        }
Пример #24
0
        public async Task <IActionResult> ExternalLoginCallback(string returnUrl = null, string remoteError = null)
        {
            var info = await _signInManager.GetExternalLoginInfoAsync();

            if (info == null)
            {
                return(RedirectToAction(nameof(Login)));
            }

            ViewData["LoginProvider"] = info.LoginProvider;
            var email = info.Principal.FindFirstValue(ClaimTypes.Email);

            var name      = info.Principal.FindFirstValue(ClaimTypes.Name).Split(" ");
            var firstname = name[0];
            var surname   = name[1];
            var country   = info.Principal.FindFirstValue(ClaimTypes.Country);

            var user = await _usersRepository.GetByEmail(email);

            string userEmail = null;

            if (user != null)
            {
                userEmail = user.Email;
            }

            if (userEmail == null)
            {
                try
                {
                    await _usersRepository.RegisterStudent(
                        new UserViewModel
                    {
                        Email      = email,
                        FirstName  = firstname,
                        LastName   = surname,
                        MiddleName = null,
                        UserName   = email,
                        IsBanned   = false,
                    },
                        new StudentViewModel
                    {
                        University = null,
                        Faculty    = null,
                        StudyYear  = null,
                        Skills     = null,
                        HasAccess  = false
                    }
                        );
                }
                catch
                {
                    return(RedirectToAction("Login", new { error = "Електронна адреса вже зайнята!" }));
                }

                userEmail = email;
            }
            else
            {
                if (user.IsBanned.HasValue && user.IsBanned.Value == true)
                {
                    await _signInManager.SignOutAsync();

                    return(RedirectToAction("Banned", "Account"));
                }

                if (user.PasswordHash != null)
                {
                    return(RedirectToAction("Login", new { error = "Електронна адреса вже зайнята!" }));
                }
            }

            var userId  = _context.AspNetUsers.Where(c => c.Email == email).Select(c => c.Id).FirstOrDefault();
            var logProv = _context.AspNetUserLogins.Where(c => c.UserId == userId).Select(c => c.LoginProvider).FirstOrDefault();
            var provKey = _context.AspNetUserLogins.Where(c => c.UserId == userId).Select(c => c.ProviderKey).FirstOrDefault();

            if (logProv == null || provKey == null)
            {
                AspNetUserLogins nLog = new AspNetUserLogins
                {
                    LoginProvider       = info.LoginProvider,
                    ProviderKey         = info.ProviderKey,
                    ProviderDisplayName = info.ProviderDisplayName,
                    UserId = userId
                };

                _context.AspNetUserLogins.Add(nLog);
                _context.SaveChanges();

                logProv = info.LoginProvider;
                provKey = info.ProviderKey;
            }

            var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent : false, bypassTwoFactor : true);

            if (result.Succeeded)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(RedirectToAction("Login", new { error = "Сталася невідома помилка, спробуйте пізніше!" }));
        }
Пример #25
0
        public ActionResult Details(string id)
        {
            AspNetUserLogins item = m_BLL.GetById(id);

            return(View(item));
        }
Пример #26
0
 public AspNetUserLoginsShould()
 {
     _userLogin = new AspNetUserLogins();
 }