public async Task <IActionResult> Register(RegisterModel model)
        {
            if (ModelState.IsValid)
            {
                User user = await db.Users.FirstOrDefaultAsync(u => u.Login == model.Login);

                if (user == null)
                {
                    // добавляем пользователя в бд
                    Role userRole = await db.Roles.FirstOrDefaultAsync(r => r.Name == "user");

                    if (userRole != null)
                    {
                        db.Users.Add(new User {
                            Login = model.Login, Password = model.Password, Role = userRole, Name = model.Name, Avatar = "http://s1.iconbird.com/ico/2013/12/505/w450h4001385925286User.png"
                        });
                    }
                    await db.SaveChangesAsync();

                    await Authenticate(model.Login); // аутентификация

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", "Некорректные логин и(или) пароль");
                }
            }
            return(View(model));
        }
        public async Task <IActionResult> CreateSub([Bind("Name,Period,UserId")] Subscription userSub)
        {
            ViewData["Id"] = userSub.UserId;
            var sub = db.Subscriptions.FirstOrDefault(s => s.Name == userSub.Name && s.UserId == userSub.UserId);

            if (sub != null)
            {
                return(View(userSub));
            }
            if (ModelState.IsValid)
            {
                db.Add(userSub);//в бд
                await db.SaveChangesAsync();

                return(RedirectToAction("Subscriptions", new { Id = userSub.UserId }));
            }
            return(View(userSub));
        }
Esempio n. 3
0
        public async Task <IActionResult> Create([Bind("Id,Name,Path,Time,UserId")] UserFile userFile, string text)
        {
            if (ModelState.IsValid)
            {
                User user     = HomeController.GetUser(db, HttpContext);
                var  time     = DateTime.Now;
                var  filename = userFile.Name + "_" + time.ToShortDateString().Replace('.', '-') + '-' + time.ToLongTimeString().Replace(':', '-') + ".txt";
                if (userFile.Previous == 0)
                {
                    userFile.Time     = time;
                    userFile.Path     = "/Files/" + filename;
                    userFile.UserId   = user.Id;
                    userFile.Previous = -1;
                }
                db.Add(userFile);           //в бд
                SaveToFile(text, filename); //в папку
                await db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UserId"] = new SelectList(db.Users, "Id", "Id", userFile.UserId);
            return(View(userFile));
        }