Ejemplo n.º 1
0
 public IActionResult AdminLogin(LoginRequest loginRequest)
 {
     try
     {
         AdminResponseModel data = _adminBusiness.AdminLogin(loginRequest);
         bool   status           = false;
         string message;
         string token;
         if (data == null)
         {
             message = "No Admin Account Present with this Email-Id and Password";
             return(Ok(new { status, message }));
         }
         else
         {
             status  = true;
             message = "Admin Successfully Logged In";
             token   = GenerateToken(data, _login);
             return(Ok(new { status, message, data, token }));
         }
     }
     catch (Exception e)
     {
         return(BadRequest(new { e.Message }));
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// It Generate the token.
        /// </summary>
        /// <param name="userToken">Response Model</param>
        /// <param name="type">Token Type</param>
        /// <returns>it return Token</returns>
        private string GenerateToken(AdminResponseModel userToken, string type)
        {
            try
            {
                var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Key"]));
                var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);

                var claims = new[]
                {
                    new Claim("UserId", userToken.UserId.ToString()),
                    new Claim("EmailId", userToken.EmailId.ToString()),
                    new Claim("TokenType", type),
                    new Claim("UserType", userToken.UserRole.ToString())
                };

                var token = new JwtSecurityToken(_configuration["Jwt:Issuer"], _configuration["Jwt:Issuer"],
                                                 claims, expires: DateTime.Now.AddDays(1), signingCredentials: credentials);

                return(new JwtSecurityTokenHandler().WriteToken(token));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> AdminRegistration(AdminRegisterRequest registerRequest)
        {
            try
            {
                AdminResponseModel data = await _adminBusiness.AdminRegistration(registerRequest);

                bool   status = false;
                string message;
                string token;
                if (data == null)
                {
                    message = "No Data Provided";
                    return(Ok(new { status, message }));
                }
                else
                {
                    status  = true;
                    message = "Admin Account Created Successfully";
                    token   = GenerateToken(data, "Registration");
                    return(Ok(new { status, message, data, token }));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(new { e.Message }));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// It is used to Send Mails
        /// </summary>
        /// <param name="data">Response Data</param>
        /// <param name="token">Token</param>
        private bool SendMail(AdminResponseModel data, string token)
        {
            try
            {
                if (data != null)
                {
                    string FROMNAME = "Vinayak Ushakola", FROM = "*****@*****.**", TO = data.Email, SUBJECT = "Reset Password";
                    int    PORT     = 587;
                    string FullName = "\n" + data.FirstName + " " + data.LastName;
                    string message  = "\nClick on this link to Reset your password: https://localhost:44314/api/user/resetpassword \nCopy this token & paste in your postman: " + token;
                    var    BODY     = "Hi," + FullName + message;

                    MailMessage mailMessage = new MailMessage();
                    SmtpClient  client      = new SmtpClient("smtp.gmail.com", PORT);
                    mailMessage.From = new MailAddress(FROM, FROMNAME);
                    mailMessage.To.Add(new MailAddress(TO));
                    mailMessage.Subject = SUBJECT;
                    mailMessage.Body    = BODY;

                    client.Credentials    = new NetworkCredential(FROM, "@bcd.1234");
                    client.EnableSsl      = true;
                    client.DeliveryMethod = SmtpDeliveryMethod.Network;
                    client.Send(mailMessage);
                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// It Login the Admin
        /// </summary>
        /// <param name="loginRequest">Login Data</param>
        /// <returns>User Response Model</returns>
        public AdminResponseModel AdminLogin(LoginRequest loginRequest)
        {
            try
            {
                loginRequest.Password = EncodeDecode.EncodePasswordToBase64(loginRequest.Password);
                var data = _applicationContext.UserDetails.
                           FirstOrDefault(user => (user.EmailId == loginRequest.EmailId) &&
                                          (user.Password == loginRequest.Password) && user.UserRole == _admin);

                if (data != null)
                {
                    var userData = new AdminResponseModel()
                    {
                        UserId     = data.UserId,
                        FirstName  = data.FirstName,
                        LastName   = data.LastName,
                        EmailId    = data.EmailId,
                        IsActive   = data.IsActive,
                        UserRole   = data.UserRole,
                        CreatedAt  = data.CreatedAt,
                        ModifiedAt = data.ModifiedAt
                    };
                    return(userData);
                }
                return(null);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        /// <summary>
        /// It Stores Data in the Database
        /// </summary>
        /// <param name="registrationRequest">User Data</param>
        /// <returns>If Storing Data Successfull it return ResponseData else null or Exception</returns>
        public AdminResponseModel Registration(RegistrationRequest registrationRequest)
        {
            try
            {
                AdminResponseModel responseData = null;

                using (SqlConnection conn = new SqlConnection(sqlConnectionString))
                {
                    SqlCommand cmd = new SqlCommand("spAddAdminAccount", conn)
                    {
                        CommandType = System.Data.CommandType.StoredProcedure
                    };
                    cmd.Parameters.AddWithValue("@FirstName", registrationRequest.FirstName);
                    cmd.Parameters.AddWithValue("@LastName", registrationRequest.LastName);
                    cmd.Parameters.AddWithValue("@Email", registrationRequest.Email);
                    cmd.Parameters.AddWithValue("@Password", EncodeDecode.EncodePasswordToBase64(registrationRequest.Password));
                    cmd.Parameters.AddWithValue("@ContactNumber", registrationRequest.ContactNumber);
                    cmd.Parameters.AddWithValue("@IsVerified", registrationRequest.IsVerified);
                    cmd.Parameters.AddWithValue("@CreatorStamp", registrationRequest.CreatorStamp);
                    cmd.Parameters.AddWithValue("@CreatorUser", registrationRequest.CreatorUser);
                    cmd.Parameters.AddWithValue("@CreatedDate", DateTime.Now);
                    cmd.Parameters.AddWithValue("@ModifiedDate", DateTime.Now);

                    conn.Open();
                    SqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        responseData = new AdminResponseModel
                        {
                            AdminID       = Convert.ToInt32(dataReader["AdminID"].ToString()),
                            FirstName     = dataReader["FirstName"].ToString(),
                            LastName      = dataReader["LastName"].ToString(),
                            Email         = dataReader["Email"].ToString(),
                            ContactNumber = dataReader["ContactNumber"].ToString(),
                            IsVerified    = Convert.ToBoolean(dataReader["IsVerified"]),
                            CreatorStamp  = dataReader["CreatorStamp"].ToString(),
                            CreatorUser   = dataReader["CreatorUser"].ToString(),
                            CreatedDate   = Convert.ToDateTime(dataReader["CreatedDate"]),
                            ModifiedDate  = Convert.ToDateTime(dataReader["ModifiedDate"])
                        };
                    }
                    conn.Close();
                }
                return(responseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// It checks Email & Password
        /// </summary>
        /// <param name="login">Login Data</param>
        /// <returns>If Data Found return ResponseData else null or Exception</returns>
        public AdminResponseModel Login(LoginRequest login)
        {
            try
            {
                AdminResponseModel responseData = null;
                using (SqlConnection conn = new SqlConnection(sqlConnectionString))
                {
                    SqlCommand cmd = new SqlCommand("spValidateAdminLogin", conn)
                    {
                        CommandType = System.Data.CommandType.StoredProcedure
                    };
                    SqlParameter parm = new SqlParameter("@Status", SqlDbType.Int);
                    parm.Direction = ParameterDirection.ReturnValue;
                    cmd.Parameters.Add(parm);
                    cmd.Parameters.AddWithValue("@Email", login.Email);
                    cmd.Parameters.AddWithValue("@Password", EncodeDecode.EncodePasswordToBase64(login.Password));

                    conn.Open();
                    cmd.ExecuteNonQuery();
                    var status = Convert.ToInt32(parm.Value);
                    if (status > 0)
                    {
                        SqlDataReader dataReader = cmd.ExecuteReader();

                        while (dataReader.Read())
                        {
                            responseData = new AdminResponseModel()
                            {
                                AdminID       = Convert.ToInt32(dataReader["AdminID"]),
                                FirstName     = dataReader["FirstName"].ToString(),
                                LastName      = dataReader["LastName"].ToString(),
                                Email         = dataReader["Email"].ToString(),
                                ContactNumber = dataReader["ContactNumber"].ToString(),
                                IsVerified    = Convert.ToBoolean(dataReader["IsVerified"]),
                                CreatorStamp  = dataReader["CreatorStamp"].ToString(),
                                CreatorUser   = dataReader["CreatorUser"].ToString(),
                                CreatedDate   = Convert.ToDateTime(dataReader["CreatedDate"]),
                                ModifiedDate  = Convert.ToDateTime(dataReader["ModifiedDate"])
                            };
                        }
                    }
                    conn.Close();
                }
                return(responseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// It Register the New Admin
        /// </summary>
        /// <param name="registerRequest">Admin Data</param>
        /// <returns>User Response Model</returns>
        public async Task <AdminResponseModel> AdminRegistration(AdminRegisterRequest registerRequest)
        {
            try
            {
                registerRequest.Password = EncodeDecode.EncodePasswordToBase64(registerRequest.Password);


                var userData = new UserDetails
                {
                    FirstName  = registerRequest.FirstName,
                    LastName   = registerRequest.LastName,
                    EmailId    = registerRequest.EmailId,
                    Password   = registerRequest.Password,
                    IsActive   = true,
                    UserRole   = _admin,
                    CreatedAt  = DateTime.Now,
                    ModifiedAt = DateTime.Now
                };

                _applicationContext.UserDetails.Add(userData);
                await _applicationContext.SaveChangesAsync();

                var data = new AdminResponseModel()
                {
                    UserId     = userData.UserId,
                    FirstName  = userData.FirstName,
                    LastName   = userData.LastName,
                    EmailId    = userData.EmailId,
                    IsActive   = userData.IsActive,
                    UserRole   = userData.UserRole,
                    CreatedAt  = userData.CreatedAt,
                    ModifiedAt = userData.ModifiedAt
                };

                return(data);
            }
            catch (Exception e)
            {
                if (e.InnerException != null)
                {
                    throw new Exception(e.InnerException.Message);
                }
                else
                {
                    throw new Exception(e.Message);
                }
            }
        }
        /// <summary>
        /// It Checks Email
        /// </summary>
        /// <param name="forogotPassword">Forgot Password Data</param>
        /// <returns>If Data Found return ResponseData else null or Exception</returns>
        public AdminResponseModel ForgotPassword(ForgotPasswordRequest forogotPassword)
        {
            try
            {
                AdminResponseModel responseData = null;
                try
                {
                    using (SqlConnection conn = new SqlConnection(sqlConnectionString))
                    {
                        SqlCommand cmd = new SqlCommand("spCheckEmailExists", conn)
                        {
                            CommandType = System.Data.CommandType.StoredProcedure
                        };

                        cmd.Parameters.AddWithValue("@Email", forogotPassword.Email);

                        conn.Open();
                        SqlDataReader dataReader = cmd.ExecuteReader();
                        while (dataReader.Read())
                        {
                            responseData = new AdminResponseModel()
                            {
                                AdminID       = Convert.ToInt32(dataReader["AdminID"].ToString()),
                                FirstName     = dataReader["FirstName"].ToString(),
                                LastName      = dataReader["LastName"].ToString(),
                                Email         = dataReader["Email"].ToString(),
                                ContactNumber = dataReader["ContactNumber"].ToString(),
                                IsVerified    = Convert.ToBoolean(dataReader["IsVerified"]),
                                CreatorStamp  = dataReader["CreatorStamp"].ToString(),
                                CreatorUser   = dataReader["CreatorUser"].ToString(),
                                CreatedDate   = Convert.ToDateTime(dataReader["CreatedDate"]),
                                ModifiedDate  = Convert.ToDateTime(dataReader["ModifiedDate"])
                            };
                        }
                        conn.Close();
                    }
                    return(responseData);
                }
                catch
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// It Updates a Specific Admin Data in the Database
        /// </summary>
        /// <param name="adminID">AdminID</param>
        /// <param name="updateRequest">Update Data</param>
        /// <returns>If Updating Data Successfull return ResponseData else return null or Exception</returns>
        public AdminResponseModel UpdateAdmin(int adminID, AdminUpdateRequest updateRequest)
        {
            try
            {
                AdminResponseModel responseData = new AdminResponseModel();
                using (SqlConnection conn = new SqlConnection(sqlConnectionString))
                {
                    SqlCommand cmd = new SqlCommand("spUpdateAdminAccount", conn)
                    {
                        CommandType = System.Data.CommandType.StoredProcedure
                    };
                    cmd.Parameters.AddWithValue("@AdminID", adminID);
                    cmd.Parameters.AddWithValue("@FirstName", updateRequest.FirstName);
                    cmd.Parameters.AddWithValue("@LastName", updateRequest.LastName);
                    cmd.Parameters.AddWithValue("@ContactNumber", updateRequest.ContactNumber);
                    cmd.Parameters.AddWithValue("@IsVerified", updateRequest.IsVerified);
                    cmd.Parameters.AddWithValue("@CreatorStamp", updateRequest.CreatorStamp);
                    cmd.Parameters.AddWithValue("@CreatorUser", updateRequest.CreatorUser);
                    cmd.Parameters.AddWithValue("@ModifiedDate", DateTime.Now);

                    conn.Open();

                    SqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        responseData.AdminID       = Convert.ToInt32(dataReader["AdminID"].ToString());
                        responseData.FirstName     = dataReader["FirstName"].ToString();
                        responseData.LastName      = dataReader["LastName"].ToString();
                        responseData.Email         = dataReader["Email"].ToString();
                        responseData.ContactNumber = dataReader["ContactNumber"].ToString();
                        responseData.IsVerified    = Convert.ToBoolean(dataReader["IsVerified"]);
                        responseData.CreatorStamp  = dataReader["CreatorStamp"].ToString();
                        responseData.CreatorUser   = dataReader["CreatorUser"].ToString();
                        responseData.CreatedDate   = Convert.ToDateTime(dataReader["CreatedDate"]);
                        responseData.ModifiedDate  = Convert.ToDateTime(dataReader["ModifiedDate"]);
                    }
                    conn.Close();
                }
                return(responseData);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Ejemplo n.º 11
0
 /// <summary>
 /// This is the Method for register admin.
 /// </summary>
 /// <param name="admin"></param>
 /// <returns></returns>
 public AdminResponseModel AdminRegister(Admin admin)
 {
     try
     {
         SqlConnection sqlConnection = new SqlConnection(_configuration["connectionstring:ElectionDb"]);
         SqlCommand    sqlCommand    = new SqlCommand("sp_Admin", sqlConnection);
         sqlCommand.CommandType = CommandType.StoredProcedure;
         sqlCommand.Parameters.AddWithValue("@FirstName", admin.FirstName);
         sqlCommand.Parameters.AddWithValue("@LastName", admin.LastName);
         sqlCommand.Parameters.AddWithValue("@MobileNumber", admin.MobileNumber);
         sqlCommand.Parameters.AddWithValue("@UserName", admin.UserName);
         sqlCommand.Parameters.AddWithValue("@Password", admin.Password);
         sqlCommand.Parameters.AddWithValue("@CreatedDate", DateTime.Now);
         sqlCommand.Parameters.AddWithValue("@ModifiedDate", DateTime.Now);
         sqlCommand.Parameters.AddWithValue("@Query", 1);
         sqlConnection.Open();
         SqlDataReader sdr = sqlCommand.ExecuteReader();
         while (sdr.Read())
         {
             responseModel              = new AdminResponseModel();
             responseModel.AdminId      = Convert.ToInt32(sdr["AdminId"]);
             responseModel.FirstName    = sdr["FirstName"].ToString();
             responseModel.LastName     = sdr["LastName"].ToString();
             responseModel.MobileNumber = sdr["MobileNumber"].ToString();
             responseModel.UserName     = sdr["UserName"].ToString();
             responseModel.Password     = sdr["Password"].ToString();
             responseModel.CreatedDate  = Convert.ToDateTime(sdr["CreatedDate"]);
             responseModel.ModifiedDate = Convert.ToDateTime(sdr["ModifiedDate"]);
         }
         sdr.Close();
         if (responseModel != null)
         {
             return(responseModel);
         }
         else
         {
             return(null);
         }
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
        /// <summary>
        /// It Fetch Data from the Database
        /// </summary>
        /// <returns>If Retrieving Data Successfull return Data else return null or Exception</returns>
        public List <AdminResponseModel> GetAllAdmins()
        {
            try
            {
                List <AdminResponseModel> adminList = null;

                using (SqlConnection conn = new SqlConnection(sqlConnectionString))
                {
                    adminList = new List <AdminResponseModel>();
                    SqlCommand cmd = new SqlCommand("spGetAllAdminAccounts", conn)
                    {
                        CommandType = System.Data.CommandType.StoredProcedure
                    };
                    conn.Open();
                    SqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        AdminResponseModel adminData = new AdminResponseModel
                        {
                            AdminID       = Convert.ToInt32(dataReader["AdminID"].ToString()),
                            FirstName     = dataReader["FirstName"].ToString(),
                            LastName      = dataReader["LastName"].ToString(),
                            Email         = dataReader["Email"].ToString(),
                            ContactNumber = dataReader["ContactNumber"].ToString(),
                            IsVerified    = Convert.ToBoolean(dataReader["IsVerified"]),
                            CreatorStamp  = dataReader["CreatorStamp"].ToString(),
                            CreatorUser   = dataReader["CreatorUser"].ToString(),
                            CreatedDate   = Convert.ToDateTime(dataReader["CreatedDate"]),
                            ModifiedDate  = Convert.ToDateTime(dataReader["ModifiedDate"])
                        };
                        adminList.Add(adminData);
                    }
                    conn.Close();
                }
                return(adminList);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }