示例#1
0
        public async Task <IActionResult> Post([FromBody] RegisterStudentModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new StudentModel
                {
                    Firstname = model.FirstName, Lastname = model.LastName, UserName = model.UserName,
                    Role      = Role.Student,
                    Email     = model.Email, LocationModel = new LocationModel {
                        Street = "", City = "", Number = "", Zip = ""
                    },
                    CreatedOn = DateTime.Now, ModifiedOn = DateTime.Now
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (!result.Succeeded)
                {
                    return(BadRequest(string.Join(",",
                                                  result.Errors?.Select(error => error.Description) ?? throw new InvalidOperationException())));
                }

                var created = new JsonResult("User created")
                {
                    StatusCode = 201
                };
                return(Ok(created));
            }

            var errorMessage =
                string.Join(", ", ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage));

            return(BadRequest(errorMessage));
        }
示例#2
0
 public ActionResult RegirstStudentSave(RegisterStudentModel registerStudent)
 {
     ViewBag.message = _registerStudentManager.SaveRegisterStuden(registerStudent);
     //departmentManager.GateAllDepertmentManager();
     TempData["Msg"] = ViewBag.message;
     return(RedirectToAction("RegirstStudentSave"));
 }
        public List <RegisterStudentModel> GateRegistationNumberGateway()
        {
            SqlConnection con   = new SqlConnection(connectingString);
            string        query = "select * from StudentRegister ORDER BY RegistationNumber ASC";
            SqlCommand    cmd   = new SqlCommand(query, con);

            con.Open();
            SqlDataReader dataReader = cmd.ExecuteReader();
            List <RegisterStudentModel> registerStudent = new List <RegisterStudentModel>();

            if (dataReader.HasRows)
            {
                while (dataReader.Read())
                {
                    RegisterStudentModel registerStudentModel = new RegisterStudentModel();
                    registerStudentModel.StudentId         = Convert.ToInt32(dataReader["StudentID"]);
                    registerStudentModel.RegistationNumber = dataReader["RegistationNumber"].ToString();
                    registerStudentModel.Date = (DateTime)dataReader["Date"];
                    registerStudent.Add(registerStudentModel);
                }
                dataReader.Close();
            }
            con.Close();
            return(registerStudent);
        }
示例#4
0
 public ActionResult RegisterStudent(RegisterStudentModel rsm)
 {
     ViewBag.title = "Registration";
     if (!rsm.IsAgreedToTerms)
     {
         // If user does not apply to proceed this will error to label
         ModelState.AddModelError("IsAgreedToTerms", "Please Check to proceed further...");
     }
     return(View()); // return Page
 }
        public async Task RegisterStudentAsync(RegisterStudentModel request)
        {
            var registerCommand = db.CreateCommand();

            registerCommand.CommandText = "EXEC RegisterStudent @email, @passwordHash, @fullName, @groupName";
            registerCommand.Parameters.AddWithValue("@email", request.Email);
            registerCommand.Parameters.AddWithValue("@passwordHash",
                                                    new PasswordHasher <AppUser>().HashPassword(null, request.Password));
            registerCommand.Parameters.AddWithValue("@fullName", request.FullName);
            registerCommand.Parameters.AddWithValue("@groupName", request.GroupName);
            await registerCommand.ExecuteNonQueryAsync();
        }
        public int InsertRegisterStudent(RegisterStudentModel registerStudentModel)
        {
            SqlConnection connection = new SqlConnection(connectingString);
            string        query      = "INSERT INTO StudentRegister VALUES ('" + registerStudentModel.RegistationNumber + "','" + registerStudentModel.Name + "','" + registerStudentModel.Email + "','" + registerStudentModel.ContactNo + "', '" + registerStudentModel.Date + "','" + registerStudentModel.Address + "','" + registerStudentModel.DepartmentId + "')";
            SqlCommand    command    = new SqlCommand(query, connection);

            connection.Open();
            int rowAffected = command.ExecuteNonQuery();

            connection.Close();
            return(rowAffected);
        }
示例#7
0
        public async Task <IActionResult> updateUser(string userId, [FromBody]  RegisterStudentModel model)
        {
            if (ModelState.IsValid)
            {
                var Result = await Service.updateUser(userId, model);

                if (Result)
                {
                    return(Ok(Result));
                }
                return(Ok(Result));
            }
            return(BadRequest("No se pudo registrar. Algo estuvo mal!"));
        }
示例#8
0
        public async Task <IActionResult> CreateUserStudentAsync([FromBody]  RegisterStudentModel model)
        {
            if (ModelState.IsValid)
            {
                var Result = await Service.RegisterUserStudentAsync(model);

                if (Result.IsSuccess)
                {
                    return(Ok(Result));
                }
                return(Ok(Result));
            }
            return(BadRequest("No se pudo registrar. Algo estuvo mal!"));
        }
        public string IsExistEmail(RegisterStudentModel registerStudentModel)
        {
            string        message    = null;
            SqlConnection connection = new SqlConnection(connectingString);
            string        query      = "SELECT * FROM StudentRegister WHERE StudentEmail='" + registerStudentModel.Email + "' ";
            SqlCommand    command    = new SqlCommand(query, connection);

            connection.Open();
            SqlDataReader reader = command.ExecuteReader();

            if (reader.HasRows)
            {
                message = "This mail Already Exist";
            }
            connection.Close();
            return(message);
        }
示例#10
0
 public string SaveRegisterStuden(RegisterStudentModel registerStudentModel)
 {
     Registernumber(registerStudentModel);
     if (_registerStudentGateway.IsExistEmail(registerStudentModel) == null)
     {
         if (_registerStudentGateway.InsertRegisterStudent(registerStudentModel) > 0)
         {
             return("Save Successfull");
         }
         else
         {
             return("Save Fail");
         }
     }
     else
     {
         return(_registerStudentGateway.IsExistEmail(registerStudentModel));
     }
 }
        public async Task <IActionResult> RegisterStudent(RegisterStudentModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    await usersRepository.OpenConnectionAsync();

                    AppUser user = await usersRepository.GetByEmailAsync(model.Email);

                    if (user == null)
                    {
                        await usersRepository.RegisterStudentAsync(model);

                        user = await usersRepository.GetByEmailAsync(model.Email);
                        await Authenticate(user);

                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, "User is already registered");
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(model));
                }
                finally
                {
                    usersRepository.CloseConnection();
                }
            }
            return(View(model));
        }
        public async Task <bool> updateUser(string userId, RegisterStudentModel model)
        {
            //var user = await UserManager.FindByNameAsync(model.UserName);
            var user = await UserManager.FindByIdAsync(userId);

            /*  var newPassword = UserManager.PasswordHasher.HashPassword(user, model.Password);
             * user.PasswordHash = newPassword;*/
            user.Name     = model.Name;
            user.LastName = model.LastName;
            user.School   = model.School;
            user.Email    = model.Email;
            user.Grade    = model.Grade;
            user.Birthday = model.Birthday;
            var res = await UserManager.UpdateAsync(user);

            if (res.Succeeded)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public List <RegisterStudentModel> GateStudentByDepartmentId(int departmentId)
        {
            SqlConnection con   = new SqlConnection(connectingString);
            string        query = "select * from StudentRegister Where DepartmentID = '" + departmentId + "'";
            SqlCommand    cmd   = new SqlCommand(query, con);

            con.Open();
            SqlDataReader dataReader = cmd.ExecuteReader();
            List <RegisterStudentModel> registerStudent = new List <RegisterStudentModel>();

            if (dataReader.HasRows)
            {
                while (dataReader.Read())
                {
                    RegisterStudentModel registerStudentModel = new RegisterStudentModel();
                    registerStudentModel.RegistationNumber = dataReader["RegistationNumber"].ToString();
                    registerStudentModel.Date = (DateTime)dataReader["Date"];
                    registerStudent.Add(registerStudentModel);
                }
                dataReader.Close();
            }
            con.Close();
            return(registerStudent);
        }
示例#14
0
        public RegisterStudentModel Registernumber(RegisterStudentModel registerStudent)
        {
            string departmentCode = _departmentGateway.GateDepartmentCodeByDepartmentId(registerStudent.DepartmentId);
            List <RegisterStudentModel> student =
                _registerStudentGateway.GateStudentByDepartmentId(registerStudent.DepartmentId);
            string year      = registerStudent.Date.ToString("yyyy");
            int    yearcount = 0;
            int    count     = student.Count;

            if (count != 0)
            {
                foreach (var studentList in student)
                {
                    string regYear = studentList.Date.ToString("yyyy");
                    if (regYear == year)
                    {
                        yearcount++;
                    }
                }
            }
            yearcount++;
            registerStudent.RegistationNumber = departmentCode + "-" + year + "-" + yearcount.ToString().PadLeft(3, '0');
            return(registerStudent);
        }
        public async Task <UserManagerResponse> RegisterUserStudentAsync(RegisterStudentModel model)
        {
            if (model == null)
            {
                throw new NullReferenceException("No se enviaron datos");
            }
            if (model.Password != model.ConfirmPassword)
            {
                return(new UserManagerResponse()
                {
                    Message = "Las contraseñas no coinciden",
                    IsSuccess = false
                });
            }
            var q = await UserManager.Users.Select(c => c.Id).AsNoTracking().ToListAsync();

            if (q.Count != 0)
            {
                if (await UserManager.FindByEmailAsync(model.Email) != null)
                {
                    return(new UserManagerResponse()
                    {
                        Message = "Ya hay un usuario registrado con ese Email",
                        IsSuccess = false
                    });
                }
            }
            var applicationUser = new ApplicationUser
            {
                Name       = model.Name,
                LastName   = model.LastName,
                UserName   = model.UserName,
                Birthday   = model.Birthday,
                School     = model.School,
                Grade      = model.Grade,
                Age        = model.Age,
                Email      = model.Email,
                Uid        = model.Uid,
                State      = true,
                Status     = true,
                UpdateDate = DateTime.Now,
                CreateDate = DateTime.Now
            };

            /*   if (q.Count==0)
             * {
             *     applicationUser.Id = "";
             *     dbcontext.Users.Add(applicationUser);
             * }*/
            var result = await UserManager.CreateAsync(applicationUser, model.Password);

            if (result.Succeeded)
            {
                List <AuxiliarClass> query = await(from u in dbcontext.Users
                                                   where u.Email == applicationUser.Email &&
                                                   u.Name == applicationUser.Name
                                                   select new AuxiliarClass
                {
                    aux1 = u.Id
                }).AsNoTracking().ToListAsync();

                bool resp = await CreateUserRoleAsync(query.FirstOrDefault().aux1, "Estudiante");

                if (!resp)
                {
                    return(new UserManagerResponse()
                    {
                        Message = "Algo salio mal, no se pudo asignar el rol de estudiante. Pero el Usuario se pudo crear.",
                        IsSuccess = true
                    });
                }
                else
                {
                    return(new UserManagerResponse()
                    {
                        Message = "Usuario creado correctamente!",
                        IsSuccess = true
                    });
                }
            }

            return(new UserManagerResponse()
            {
                Message = "El usuario no pudo ser creado",
                IsSuccess = false,
                Errors = result.Errors.Select(e => e.Description)
            });
        }
示例#16
0
        public async Task <IActionResult> Register(RegisterStudentModel student)
        {
            await Mediator.Send(new RegisterStudentCommand(student.Nombre, student.Apellido, student.Documento));

            return(NoContent());
        }