예제 #1
0
    /// <summary>
    /// btLogin_Click: DO LOGIN
    /// </summary>

    protected void Button1_Click(object sender, EventArgs e)
    {
        LoginDAO  loginDAO  = new LoginDAO();
        LoginRole loginRole = new LoginRole();

        loginRole = loginDAO.GetLoginRole(tbUserName.Text, tbPassword.Text);

        if (loginRole.Role == string.Empty)
        {
            lbMessage.Text = "Username/password do not match. Try again.";
        }

        if (loginRole.Role != string.Empty)
        {
            Session["username"] = tbUserName.Text;

            if (loginRole.Role == "administrator")
            {
                Session["administrator"] = tbUserName.Text;
            }

            lbMessage.Text = "";
            Page.Response.Redirect("Default.aspx");
        }
    }
예제 #2
0
    protected void btnRoleAssignSave_Click(object sender, EventArgs e)
    {
        string loginID = "1";

        try
        {
            if (Session["Login"] == null)
            {
                Session["PreviousPage"] = HttpContext.Current.Request.Url.AbsoluteUri; Response.Redirect("../LoginPage.aspx");
            }
            loginID = ((Login)Session["Login"]).LoginID.ToString();
        }
        catch (Exception ex)
        { }
        try
        {
            LoginRole loginRole = new LoginRole();

            loginRole.LoginID     = Int32.Parse(ddlLogin.SelectedValue.Split('-')[0]);
            loginRole.RowStatusID = 1;
            loginRole.AddedDate   = DateTime.Now;
            loginRole.AddedBy     = loginID;
            loginRole.ModifyDate  = DateTime.Now;
            loginRole.ModifyBy    = loginID;
            bool resutl = LoginRoleManager.UpdateLoginRoleByIDs(loginRole, getSelectedRoleIds());
        }
        catch (Exception ex)
        { }
    }
예제 #3
0
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        string loginID = "1";
        try
        {
            if (Session["Login"] == null) { Session["PreviousPage"] = HttpContext.Current.Request.Url.AbsoluteUri; Response.Redirect("../LoginPage.aspx"); }

            loginID = ((Login)Session["Login"]).LoginID.ToString();
        }
        catch (Exception ex)
        { }

        LoginRole loginRole = new LoginRole();
        loginRole = LoginRoleManager.GetLoginRoleByID(Int32.Parse(Request.QueryString["loginRoleID"]));
        LoginRole tempLoginRole = new LoginRole();
        tempLoginRole.LoginRoleID = loginRole.LoginRoleID;

        tempLoginRole.RoleID = Int32.Parse(ddlRole.SelectedValue);
        tempLoginRole.LoginID = Int32.Parse(ddlLogin.SelectedValue);
        tempLoginRole.RowStatusID = Int32.Parse(ddlRowStatus.SelectedValue);
        tempLoginRole.AddedDate = DateTime.Now;
        tempLoginRole.AddedBy = loginID;
        tempLoginRole.ModifyDate = DateTime.Now;
        tempLoginRole.ModifyBy = loginID;
        bool result = LoginRoleManager.UpdateLoginRole(tempLoginRole);
        Response.Redirect("AdminLoginRoleDisplay.aspx");
    }
예제 #4
0
    protected void btnRoleAssignSave_Click(object sender, EventArgs e)
    {
        string loginID = "1";
        try
        {
            if (Session["Login"] == null) { Session["PreviousPage"] = HttpContext.Current.Request.Url.AbsoluteUri; Response.Redirect("../LoginPage.aspx"); }
            loginID = ((Login)Session["Login"]).LoginID.ToString();
        }
        catch (Exception ex)
        { }
        try
        {
        LoginRole loginRole = new LoginRole();

        loginRole.LoginID = Int32.Parse(ddlLogin.SelectedValue.Split('-')[0]);
        loginRole.RowStatusID = 1;
        loginRole.AddedDate = DateTime.Now;
        loginRole.AddedBy = loginID;
        loginRole.ModifyDate = DateTime.Now;
        loginRole.ModifyBy = loginID;
        bool resutl = LoginRoleManager.UpdateLoginRoleByIDs(loginRole,getSelectedRoleIds());
        }
        catch (Exception ex)
        { }
    }
예제 #5
0
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        string loginID = "1";

        try
        {
            if (Session["Login"] == null)
            {
                Session["PreviousPage"] = HttpContext.Current.Request.Url.AbsoluteUri; Response.Redirect("../LoginPage.aspx");
            }

            loginID = ((Login)Session["Login"]).LoginID.ToString();
        }
        catch (Exception ex)
        { }

        LoginRole loginRole = new LoginRole();

        loginRole = LoginRoleManager.GetLoginRoleByID(Int32.Parse(Request.QueryString["loginRoleID"]));
        LoginRole tempLoginRole = new LoginRole();

        tempLoginRole.LoginRoleID = loginRole.LoginRoleID;

        tempLoginRole.RoleID      = Int32.Parse(ddlRole.SelectedValue);
        tempLoginRole.LoginID     = Int32.Parse(ddlLogin.SelectedValue);
        tempLoginRole.RowStatusID = Int32.Parse(ddlRowStatus.SelectedValue);
        tempLoginRole.AddedDate   = DateTime.Now;
        tempLoginRole.AddedBy     = loginID;
        tempLoginRole.ModifyDate  = DateTime.Now;
        tempLoginRole.ModifyBy    = loginID;
        bool result = LoginRoleManager.UpdateLoginRole(tempLoginRole);

        Response.Redirect("AdminLoginRoleDisplay.aspx");
    }
예제 #6
0
    public Person()
    {
        //取得UserData
        string strUserData = ((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData;
        SPerson Myperson = JsonConvert.DeserializeObject<SPerson>(strUserData);
        _Account = Myperson.account;
        _people_id = Myperson.people_id;
        _Email = Myperson.email;
        _Name = Myperson.name;
        _Permission = Myperson.Permission;
        _School_id = Myperson.School_id;
        switch (Myperson.Role)
        {
            case "0":
                _Role = LoginRole.Teacher;
                break;
            case "1":
                _Role = LoginRole.Student;
                break;
            case "2":
                _Role = LoginRole.Parent;
                break;
            case "3":
                _Role = LoginRole.SchoolAdmin;
                break;
            case "4":
                _Role = LoginRole.Administrator;
                break;

        }
    }
예제 #7
0
    public LoginRole GetLoginRole(string username, string password)
    {
        LoginRole loginRole = new LoginRole();

        // ----------------------------------------------------------
        // TO DO: The login role must be retrieved from the database
        //
        // The below is here for testing purposes ONLY.
        // ----------------------------------------------------------
        loginRole.Role = null;

        IDataReader resultSet;

        myDatabase.Open(myConnectionString);

        String sqlText =
            @"SELECT role    
                  FROM Rider
              WHERE username = '******' AND password = '******'";                                                   //Correct?

        resultSet = myDatabase.ExecuteQuery(sqlText);
        while (resultSet.Read() == true)
        {
            loginRole.Role = (String)resultSet["role"];                               //Correct pl0x?
        }

        resultSet.Close();
        myDatabase.Close();

        return(loginRole);
    }
예제 #8
0
        /// <summary>
        /// Accessing user account by a valid username
        /// </summary>
        /// <param name="username">valid username</param>
        /// <returns>user account if success, otherwise null</returns>
        private static UserAccount GetUserAccount(string username)
        {
            if (username == null)
            {
                return(null);
            }

            LoginRole loginRole = (LoginRole)(int)(decimal)
                                  DataAccessLayer.SelectCommand(DataAccessLayer.SelectCommandString(
                                                                    "Login_Role_ID", LoginTable, "Username = :username"),
                                                                new CommandParameter(":username", username)).Rows[0][0];

            switch (loginRole)
            {
            case LoginRole.Student:
                return(new Account.Student());

            case LoginRole.Teacher:
                return(new Account.Teacher());

            case LoginRole.School:
                return(new Account.School());
            }

            return(null);
        }
예제 #9
0
        // GET: Roles/Delete/5
        public async Task <ActionResult> Delete(string id)
        {
            LoginRole role = await this._roleManager.FindByIdAsync(id);

            var result = await this._roleManager.DeleteAsync(role);

            return(RedirectToAction(nameof(List)));
        }
예제 #10
0
    public static LoginRole GetLoginRoleByID(int id)
    {
        LoginRole            loginRole            = new LoginRole();
        SqlLoginRoleProvider sqlLoginRoleProvider = new SqlLoginRoleProvider();

        loginRole = sqlLoginRoleProvider.GetLoginRoleByID(id);
        return(loginRole);
    }
예제 #11
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            LoginRole loginRole = await db.LoginRoles.FindAsync(id);

            db.LoginRoles.Remove(loginRole);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
예제 #12
0
    public LoginRole GetLoginRole(string username, string password)
    {
        LoginRole   loginRole = new LoginRole();
        IDataReader resultSet;

        loginRole.Role = string.Empty;
        try
        {
            myDatabase.Open(myConnectionString);

            String sqlText = String.Format(@"Select role FROM Members Where username='******' AND password='******'");

            resultSet = myDatabase.ExecuteQuery(sqlText);

            if (resultSet.Read() == true)
            {
                loginRole.Role = (String)resultSet["role"];


                return(loginRole);
            }

            else
            {
                return(loginRole);
            }
        }

        catch (Exception)
        {
            return(loginRole);
        }

        finally
        {
            myDatabase.Close();
        }

        // ----------------------------------------------------------
        // TO DO: The login role must be retrieved from the database
        //
        // The below is here for testing purposes ONLY.
        // ----------------------------------------------------------

        /*loginRole.Role = null;
         *
         * if (username == "user" && password == "user")
         * {
         *  loginRole.Role = "user";
         * }
         *
         * if (username == "admin" && password == "admin")
         * {
         *  loginRole.Role = "administrator";
         * }*/
    }
        public static Login AddNewLoginAndPerson(RegisterViewModel model, string emailConfirmToken)
        {
            var salt         = UtilService.GeneratePassword(10, 5);
            var passwordHash = AccountService.CreatePasswordHash(model.Password, salt);

            try
            {
                var user = new Login
                {
                    UserName                         = model.UserName,
                    Email                            = model.UserName,
                    PasswordHash                     = passwordHash,
                    SecurityStamp                    = salt,
                    EmailConfirmationToken           = emailConfirmToken.ToString(),
                    EmailConfirmationTokenExpiryDate = DateTime.Now.AddHours(2).ToUniversalTime(),  // FOR TESTING PUPROSE VALIDITY ONLY FOR 2HRS
                    EmailConfirmed                   = false,
                    CreatedBy                        = model.UserName,
                    CreatedOn                        = DateTime.Now,
                    IsActive                         = false
                };
                var person = new Person
                {
                    FirstName  = model.FirstName,
                    MiddleName = model.MiddleName,
                    LastName   = model.LastName,
                    Login      = user,

                    Address = new Address
                    {
                        CountryId = 1,
                        IsActive  = true,
                    },
                    Address1 = new Address
                    {
                        CountryId = 1,
                        IsActive  = true
                    },

                    UID      = Guid.NewGuid(),
                    IsActive = true
                };
                var loginRole = new LoginRole
                {
                    RoleId          = model.RoleId,
                    IsActive        = true,
                    PendingApproval = false
                };
                var result = AddNewUser(user, person, loginRole);
                return(result.IsSuccess ? user : null);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
예제 #14
0
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        LoginRole role = new LoginRole();

        role.RoleName = txtRoleName.Text.Trim();
        
        authService.myService.DaoInsert(role);

        string JsStr = JavascriptUtil.AlertJSAndRedirect("新增成功", LIST_PAGE);
        ScriptManager.RegisterClientScriptBlock(lblMsg, lblMsg.GetType(), "data", JsStr, false);
    }
        public ViewModelInformation RegisterStudent(ViewModelRegisterStudent viewModelRegisterStudent)
        {
            ViewModelInformation viewModelInformation = null;

            try
            {
                viewModelInformation = new ViewModelInformation();
                string         js_code        = viewModelRegisterStudent.Code.ToString();
                string         serviceAddress = "https://api.weixin.qq.com/sns/jscode2session?appid=wxece27e98fc59b527&secret=3efec00e6fe037602aeae3a317608942&js_code=" + js_code + "&grant_type=authorization_code";
                HttpWebRequest request        = (HttpWebRequest)WebRequest.Create(serviceAddress);
                request.Method      = "GET";
                request.ContentType = "text/html;charset=UTF-8";
                HttpWebResponse response         = (HttpWebResponse)request.GetResponse();
                Stream          myResponseStream = response.GetResponseStream();
                StreamReader    myStreamReader   = new StreamReader(myResponseStream, Encoding.UTF8);
                string          retString        = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();
                string key        = "\"openid\":\"";
                int    startIndex = retString.IndexOf(key);
                int    endIndex   = retString.IndexOf("\"}", startIndex);
                string openid     = retString.Substring(startIndex + key.Length, endIndex - startIndex - key.Length);

                var user = new Student();
                user.OpenId            = openid;
                user.StudentId         = viewModelRegisterStudent.StudentId;
                user.Name              = viewModelRegisterStudent.Name;
                user.ProfessionalClass = viewModelRegisterStudent.ProfessionalClass;
                user.TotalSignIn       = 0;
                user.TotalAttendance   = 0;
                unitOfWork.StudentRepository.Insert(user);    //增加新User
                unitOfWork.Save();

                var users = new Login();
                users.OpenId = openid;
                unitOfWork.LoginRepository.Insert(users);
                unitOfWork.Save();

                var sysRole  = unitOfWork.SysRoleRepository.Get().Where(s => s.RoleName.Equals("学生")).FirstOrDefault();   //寻找用户所选择角色在UserRole里的实例,返回对象
                var userRole = new LoginRole();
                userRole.UserID        = users.ID;
                userRole.PrimaryRoleID = sysRole.ID;
                userRole.ConfirmRoleID = 0;
                unitOfWork.LoginRoleRepository.Insert(userRole);
                unitOfWork.Save();

                throw new Exception("提交成功");
            }
            catch (Exception ex)
            {
                viewModelInformation.Message = ex.Message;
                return(viewModelInformation);
            }
        }
예제 #16
0
        public async Task <ActionResult> Edit([Bind(Include = "Id,RoleType,RoleDescription,CreatedBy,ModifiedBy,CreatedOn,ModifiedOn")] LoginRole loginRole)
        {
            if (ModelState.IsValid)
            {
                db.Entry(loginRole).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(loginRole));
        }
예제 #17
0
    private void showLoginRoleData()
    {
        LoginRole loginRole = new LoginRole();

        loginRole = LoginRoleManager.GetLoginRoleByID(Int32.Parse(Request.QueryString["loginRoleID"]));

        ddlRole.SelectedValue      = loginRole.RoleID.ToString();
        ddlLogin.SelectedValue     = loginRole.LoginID.ToString();
        ddlRowStatus.SelectedValue = loginRole.RowStatusID.ToString();
        txtAddedBy.Text            = loginRole.AddedBy;
        txtModifyDate.Text         = loginRole.ModifyDate.ToString("dd MMM yyyy hh:mm tt");
        txtModifyBy.Text           = loginRole.ModifyBy;
    }
예제 #18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //可以在页面加载时设置页面的缓存为“SetNoStore()”,即无缓存

            Response.Cache.SetNoStore();

            //Session中存储的变量“IsSubmit”是标记是否提交成功的

            if (Convert.ToBoolean(Session["IsSubmit"]))
            {
                //如果表单数据提交成功,就设“Session["IsSubmit"]”为false

                Session["IsSubmit"] = false;

                //显示提交成功信息
            }
            if (!Page.IsPostBack)
            {
                string url = SPWeb == null ? "test.aspx" : SPWeb.Url;
                try
                {
                    //专家评分操作
                    if (!IsWebAdmin && !LoginRole.Contains(3))
                    {
                        Page.ClientScript.RegisterStartupScript(this.GetType(), "message", "<script defer>alert('没有权限');top.location.href='" + url + "'</script>");
                        return;
                    }
                }
                catch
                {
                }
                DataTable dt = GetCurrentWorks.Tables[0];
                if (dt.Rows.Count == 0)
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "message", "<script defer>alert('评分已经结束');top.location.href='" + url + "'</script>");
                    return;
                }
                ddlNumber.DataSource     = dt.DefaultView;
                ddlNumber.DataTextField  = "Number";
                ddlNumber.DataValueField = "WorksID";
                ddlNumber.DataBind();
                ddlNumber_SelectedIndexChanged(null, null);
            }
            ddlNumber.SelectedIndexChanged += new EventHandler(ddlNumber_SelectedIndexChanged);
            btnSubmit.Click += new EventHandler(btnSubmit_Click);
            if (HiddenField1.Value != "")
            {
                lblTotalScore.InnerText = HiddenField1.Value;
            }
            InitControl();
        }
예제 #19
0
        // GET: LoginRoles/Delete/5
        public async Task <ActionResult> Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LoginRole loginRole = await db.LoginRoles.FindAsync(id);

            if (loginRole == null)
            {
                return(HttpNotFound());
            }
            return(View(loginRole));
        }
예제 #20
0
        /// <summary>
        /// Get headmaster name if assigned, otherwise "N/A"
        /// </summary>
        /// <returns>headmaster name if assigned, otherwise "N/A"</returns>
        public string GetHeadmasterName()
        {
            DataTable dataTable = DataAccessLayer.SelectCommand(DataAccessLayer.SelectCommandString(
                                                                    "Headmaster_ID", LoginRole.ToString(), "ID = :ID"),
                                                                new CommandParameter(":ID", ID));

            if (!dataTable.Rows[0].IsNull(0))
            {
                int headmasterID = (int)(decimal)dataTable.Rows[0][0];
                return((string)DataAccessLayer.SelectCommand(DataAccessLayer.SelectCommandString(
                                                                 "Name", "Teacher", "ID = :headmasterID"),
                                                             new CommandParameter(":headmasterID", headmasterID)).Rows[0][0]);
            }

            return(EmptyField);
        }
예제 #21
0
    public LoginRole GetLoginRole(string username, string password)
    {

        LoginRole loginRole = new LoginRole();
        loginRole.Role = null;
        IDataReader resultSet;

        try
        {
            myDatabase = new Database();
            myDatabase.Open(myConnectionString);
            String role = "";
            String sqlText =
            "SELECT role " +
            "FROM Rider " +
            "WHERE username = '******' AND password = '******'";

            resultSet = myDatabase.ExecuteQuery(sqlText);

            if (resultSet.Read() == true)
            {
                role = (String)resultSet["role"];
            }


            if (role == "user")
            {
                loginRole.Role = "user";
            }
            else if (role == "admin")
            {
                loginRole.Role = "administrator";
            }
            resultSet.Close();
            return loginRole;
        }
        catch (Exception)
        {
            return null;
        }
        finally
        {
            myDatabase.Close();
        }


    }
예제 #22
0
    public LoginRole GetLoginRole(string username, string password)
    {
        LoginRole loginRole = new LoginRole();

        loginRole.Role = null;
        IDataReader resultSet;

        try
        {
            myDatabase = new Database();
            myDatabase.Open(myConnectionString);
            String role    = "";
            String sqlText =
                "SELECT role " +
                "FROM Rider " +
                "WHERE username = '******' AND password = '******'";

            resultSet = myDatabase.ExecuteQuery(sqlText);

            if (resultSet.Read() == true)
            {
                role = (String)resultSet["role"];
            }


            if (role == "user")
            {
                loginRole.Role = "user";
            }
            else if (role == "admin")
            {
                loginRole.Role = "administrator";
            }
            resultSet.Close();
            return(loginRole);
        }
        catch (Exception)
        {
            return(null);
        }
        finally
        {
            myDatabase.Close();
        }
    }
예제 #23
0
    public bool UpdateLoginRoleByIDs(LoginRole loginRole,String RoleIDs)
    {
        using (SqlConnection connection = new SqlConnection(this.ConnectionString))
        {
            SqlCommand cmd = new SqlCommand("Login_UpdateLoginRoleByIDs", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@RoleIDs", SqlDbType.NVarChar).Value = RoleIDs;
            cmd.Parameters.Add("@LoginID", SqlDbType.Int).Value = loginRole.LoginID;
            cmd.Parameters.Add("@RowStatusID", SqlDbType.Int).Value = loginRole.RowStatusID;
            cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = loginRole.AddedDate;
            cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = loginRole.AddedBy;
            cmd.Parameters.Add("@ModifyDate", SqlDbType.DateTime).Value = loginRole.ModifyDate;
            cmd.Parameters.Add("@ModifyBy", SqlDbType.NVarChar).Value = loginRole.ModifyBy;
            connection.Open();

            int result = cmd.ExecuteNonQuery();
            return result == 1;
        }
    }
예제 #24
0
 // GET: Home
 public ActionResult Index()
 {
     if (!User.Identity.IsAuthenticated)
     {
         return(RedirectToRoute(new { controller = "Login", action = "Index" }));
     }
     else
     {
         if (Session["UserInfo"] == null || Session["LoginRole"] == null || Session["ControlRoles"] == null)
         {
             return(RedirectToRoute(new { controller = "Login", action = "Index" }));
         }
         User_Info user     = (User_Info)Session["UserInfo"];
         LoginRole role     = (LoginRole)Session["LoginRole"];
         int       id       = Common.PageValidate.FilterParam(User.Identity.Name);
         var       userInfo = (from u in db.User_Info
                               where u.user_id == id
                               select new UserModel
         {
             name = u.real_name,
             times = u.user_login_times
         }).FirstOrDefault();
         var loginInfos = (from l in db.Sys_Log
                           where l.log_user_id == id
                           select l
                           );
         if (loginInfos.Count() <= 1)
         {
             userInfo.lastIp   = "无";
             userInfo.lastTime = "无";
         }
         else
         {
             var loginInfo = loginInfos.OrderByDescending(x => x.log_time).Skip(1).FirstOrDefault();
             userInfo.lastIp   = loginInfo.log_ip;
             userInfo.lastTime = loginInfo.log_time.ToString("yyyy年MM月dd日 HH时mm分");
         }
         userInfo.roleName = role.roleName;
         userInfo.name     = AESEncrypt.Decrypt(userInfo.name);
         //如果是有批复权限的,显示待批复列表
         return(View(userInfo));
     }
 }
예제 #25
0
    public int InsertLoginRole(LoginRole loginRole)
    {
        using (SqlConnection connection = new SqlConnection(this.ConnectionString))
        {
            SqlCommand cmd = new SqlCommand("Login_InsertLoginRole", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@LoginRoleID", SqlDbType.Int).Direction = ParameterDirection.Output;
            cmd.Parameters.Add("@RoleID", SqlDbType.Int).Value = loginRole.RoleID;
            cmd.Parameters.Add("@LoginID", SqlDbType.Int).Value = loginRole.LoginID;
            cmd.Parameters.Add("@RowStatusID", SqlDbType.Int).Value = loginRole.RowStatusID;
            cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = loginRole.AddedDate;
            cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = loginRole.AddedBy;
            cmd.Parameters.Add("@ModifyDate", SqlDbType.DateTime).Value = loginRole.ModifyDate;
            cmd.Parameters.Add("@ModifyBy", SqlDbType.NVarChar).Value = loginRole.ModifyBy;
            connection.Open();

            int result = cmd.ExecuteNonQuery();
            return (int)cmd.Parameters["@LoginRoleID"].Value;
        }
    }
예제 #26
0
        public async Task <ActionResult> Create(LoginRole role)
        {
            try
            {
                var result = await this._roleManager.CreateAsync(role);

                if (result.Succeeded)
                {
                    return(RedirectToAction(nameof(List)));
                }
                else
                {
                    return(View());
                }
            }
            catch
            {
                return(View());
            }
        }
예제 #27
0
 public LoginRole GetLoginRoleFromReader(IDataReader reader)
 {
     try
     {
         LoginRole loginRole = new LoginRole
             (
                 (int)reader["LoginRoleID"],
                 (int)reader["RoleID"],
                 (int)reader["LoginID"],
                 (int)reader["RowStatusID"],
                 (DateTime)reader["AddedDate"],
                 reader["AddedBy"].ToString(),
                 (DateTime)reader["ModifyDate"],
                 reader["ModifyBy"].ToString()
             );
          return loginRole;
     }
     catch(Exception ex)
     {
         return null;
     }
 }
예제 #28
0
 public static string GetLoginRole(LoginRole role)
 {
     switch (role)
     {
         case LoginRole.SuperAdmin:
             return "sa";
         case LoginRole.Agent:
             return "ag";
         case LoginRole.Tenant:
             return "t";
         case LoginRole.Landlord:
             return "l";
         case LoginRole.None:
             return "";
         case LoginRole.Owner:
             return "o";
         case LoginRole.Admin:
             return "a";
         default:
             return "";
     }
    
 }
예제 #29
0
        protected UserAccount(string username)
        {
            if (username == null)
            {
                throw new AccessViolationException(ErrorStringNoLogin);
            }

            LoginRole = (LoginRole)(int)(decimal)DataAccessLayer.SelectCommand(DataAccessLayer.SelectCommandString(
                                                                                   "Login_Role_ID", LoginTable, "Username = :username"),
                                                                               new CommandParameter(":username", username)).Rows[0][0];

            LoginID = (int)(decimal)DataAccessLayer.SelectCommand(DataAccessLayer.SelectCommandString(
                                                                      "ID", LoginTable, "Username = :username"),
                                                                  new CommandParameter(":username", username)).Rows[0][0];

            ID = (int)(decimal)DataAccessLayer.SelectCommand(DataAccessLayer.SelectCommandString(
                                                                 "ID", LoginRole.ToString(), "Login_ID = :LoginID"),
                                                             new CommandParameter(":LoginID", LoginID)).Rows[0][0];

            Name = (string)DataAccessLayer.SelectCommand(DataAccessLayer.SelectCommandString(
                                                             "Name", LoginRole.ToString(), "ID = :ID"),
                                                         new CommandParameter(":ID", ID)).Rows[0][0];
        }
        public static ServiceResponseResult CreateTenantAccount(AddTenantToPropertyModel model, Login creartor, string temPass)
        {
            using (var db = new KeysEntities())
            {
                var salt = UtilService.GeneratePassword(10, 5);
                //var temPass = UtilService.GeneraterRandomKey(8);
                var passwordHash = AccountService.CreatePasswordHash(temPass, salt);
                var login        = new Login
                {
                    UserName       = model.TenantEmail,
                    Email          = model.TenantEmail,
                    PasswordHash   = passwordHash,
                    SecurityStamp  = salt,
                    EmailConfirmed = true,
                    CreatedBy      = creartor.Email,
                    CreatedOn      = DateTime.Now,
                    IsActive       = true
                };

                var person = new Person
                {
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    Login     = login,
                    Address   = new Address
                    {
                        CountryId = 1,
                        IsActive  = true,
                    },
                    Address1 = new Address
                    {
                        CountryId = 1,
                        IsActive  = true
                    },

                    UID      = Guid.NewGuid(),
                    IsActive = true
                };
                var loginRole = new LoginRole
                {
                    RoleId          = 5,
                    IsActive        = true,
                    PendingApproval = false
                };
                db.Login.Add(login);
                person.Login = login;
                db.Person.Add(person);
                loginRole.Person = person;
                db.LoginRole.Add(loginRole);
                var tenant = new Tenant
                {
                    Person = person,
                    IsCompletedPersonalProfile = false,
                    HasProofOfIdentity         = false,
                    CreatedOn = DateTime.UtcNow,
                    CreatedBy = creartor.Id,
                    UpdatedOn = DateTime.UtcNow,
                    IsActive  = true,
                    Address   = new Address
                    {
                        CountryId = 1,
                        IsActive  = true,
                    }
                };
                db.Tenant.Add(tenant);
                try
                {
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true, NewObject = login
                    });
                }
                catch (Exception e)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false
                    });
                }
            }
        }
예제 #31
0
    private void initAuthData()
    {
        LoginUser user = new LoginUser();
        LoginRole role = new LoginRole();
        user.UserId = "admin";
        user.Password = EncryptUtil.GetMD5(PASS_WORD);
        user.Name = "系統管理者";
        user.IsEnable = true;
        user.Email = "*****@*****.**";
        myService.DaoInsert(user);

        role.RoleName = "系統管理者";
        myService.DaoInsert(role);

        List<LoginUser> userList = new List<LoginUser>();
        List<LoginRole> roleList = new List<LoginRole>();
        roleList.Add(role);
        user.BelongRoles = new List<LoginRole>();

        role.BelongUsers = userList;
        user.BelongRoles = roleList;
        myService.DaoUpdate(role);
        myService.DaoUpdate(user);

        lblStatus.Text = "初始化資料成功!!";
    }
예제 #32
0
    public static bool UpdateLoginRole(LoginRole loginRole)
    {
        SqlLoginRoleProvider sqlLoginRoleProvider = new SqlLoginRoleProvider();

        return(sqlLoginRoleProvider.UpdateLoginRole(loginRole));
    }
예제 #33
0
    public static bool UpdateLoginRoleByIDs(LoginRole loginRole, string RoleIDs)
    {
        SqlLoginRoleProvider sqlLoginRoleProvider = new SqlLoginRoleProvider();

        return(sqlLoginRoleProvider.UpdateLoginRoleByIDs(loginRole, RoleIDs));
    }
예제 #34
0
    private void showLoginRoleData()
    {
        LoginRole loginRole = new LoginRole();
        loginRole = LoginRoleManager.GetLoginRoleByID(Int32.Parse(Request.QueryString["loginRoleID"]));

        ddlRole.SelectedValue = loginRole.RoleID.ToString();
        ddlLogin.SelectedValue = loginRole.LoginID.ToString();
        ddlRowStatus.SelectedValue = loginRole.RowStatusID.ToString();
        txtAddedBy.Text = loginRole.AddedBy;
        txtModifyDate.Text = loginRole.ModifyDate.ToString("dd MMM yyyy hh:mm tt");
        txtModifyBy.Text = loginRole.ModifyBy;
    }
예제 #35
0
 public LoginRole GetLoginRoleFromReader(IDataReader reader)
 {
     try
     {
         LoginRole loginRole = new LoginRole
             (
                 (int)reader["LoginRoleID"],
                 (int)reader["RoleID"],
                 (int)reader["LoginID"],
                 (int)reader["RowStatusID"],
                 (DateTime)reader["AddedDate"],
                 reader["AddedBy"].ToString(),
                 (DateTime)reader["ModifyDate"],
                 reader["ModifyBy"].ToString()
             );
          return loginRole;
     }
     catch(Exception ex)
     {
         return null;
     }
 }
예제 #36
0
    public bool UpdateLoginRoleByIDs(LoginRole loginRole,String RoleIDs)
    {
        using (SqlConnection connection = new SqlConnection(this.ConnectionString))
        {
            SqlCommand cmd = new SqlCommand("Login_UpdateLoginRoleByIDs", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@RoleIDs", SqlDbType.NVarChar).Value = RoleIDs;
            cmd.Parameters.Add("@LoginID", SqlDbType.Int).Value = loginRole.LoginID;
            cmd.Parameters.Add("@RowStatusID", SqlDbType.Int).Value = loginRole.RowStatusID;
            cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = loginRole.AddedDate;
            cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = loginRole.AddedBy;
            cmd.Parameters.Add("@ModifyDate", SqlDbType.DateTime).Value = loginRole.ModifyDate;
            cmd.Parameters.Add("@ModifyBy", SqlDbType.NVarChar).Value = loginRole.ModifyBy;
            connection.Open();

            int result = cmd.ExecuteNonQuery();
            return result == 1;
        }
    }
예제 #37
0
    public int InsertLoginRole(LoginRole loginRole)
    {
        using (SqlConnection connection = new SqlConnection(this.ConnectionString))
        {
            SqlCommand cmd = new SqlCommand("Login_InsertLoginRole", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@LoginRoleID", SqlDbType.Int).Direction = ParameterDirection.Output;
            cmd.Parameters.Add("@RoleID", SqlDbType.Int).Value = loginRole.RoleID;
            cmd.Parameters.Add("@LoginID", SqlDbType.Int).Value = loginRole.LoginID;
            cmd.Parameters.Add("@RowStatusID", SqlDbType.Int).Value = loginRole.RowStatusID;
            cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = loginRole.AddedDate;
            cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = loginRole.AddedBy;
            cmd.Parameters.Add("@ModifyDate", SqlDbType.DateTime).Value = loginRole.ModifyDate;
            cmd.Parameters.Add("@ModifyBy", SqlDbType.NVarChar).Value = loginRole.ModifyBy;
            connection.Open();

            int result = cmd.ExecuteNonQuery();
            return (int)cmd.Parameters["@LoginRoleID"].Value;
        }
    }
        public static ServiceResponseResult AddNewRoleToUser(int roleId, Person person)
        {
            using (var db = new KeysEntities())
            {
                var login     = db.Login.FirstOrDefault(x => x.Id == person.Id);
                var loginRole = new LoginRole
                {
                    RoleId          = roleId,
                    PersonId        = person.Id,
                    IsActive        = true,
                    PendingApproval = false
                };

                db.LoginRole.Add(loginRole);
                db.SaveChanges();
                switch (roleId)
                {
                case 4:
                    var owner = new Owners {
                        Person = person
                    };
                    db.Owners.Add(owner);
                    break;

                case 5:
                    var tenant = new Tenant
                    {
                        Id = person.Id,
                        IsCompletedPersonalProfile = false,
                        HasProofOfIdentity         = false,
                        CreatedOn = DateTime.UtcNow,
                        CreatedBy = person.Id,
                        UpdatedOn = DateTime.UtcNow,
                        IsActive  = true,
                        Address   = new Address
                        {
                            CountryId = 1,
                            IsActive  = true,
                        }
                    };
                    db.Tenant.Add(tenant);
                    break;

                case 6:
                    var com = new Company
                    {
                        UpdatedBy = login.Email,
                        CreatedOn = DateTime.UtcNow,
                        CreatedBy = login.Email,
                        UpdatedOn = DateTime.UtcNow,
                        IsActive  = true,
                        Address   = new Address   //Bug Fix #2075
                        {
                            CountryId = 1,
                            IsActive  = true
                        },
                        Address1 = new Address     //Bug Fix #2075
                        {
                            CountryId = 1,
                            IsActive  = true
                        }
                    };
                    var sp = new ServiceProvider {
                        Id = person.Id, Company = com, IsProfileComplete = false
                    };
                    db.ServiceProvider.Add(sp);
                    break;
                }
                try
                {
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception e)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false
                    });
                }
            }
        }
        public static ServiceResponseResult AddNewUser(Login login, Person person, LoginRole loginRole)
        {
            using (var db = new KeysEntities())
            {
                try
                {
                    db.Login.Add(login);
                    //person.LoginId = login.Id;
                    person.Id = login.Id;
                    db.Person.Add(person);
                    loginRole.PersonId = person.Id;
                    db.LoginRole.Add(loginRole);
                    switch (loginRole.RoleId)
                    {
                    case 4:
                        var owner = new Owners {
                            Person = person
                        };
                        db.Owners.Add(owner);
                        break;

                    case 5:
                        var tenant = new Tenant
                        {
                            Person = person,
                            IsCompletedPersonalProfile = false,
                            HasProofOfIdentity         = false,
                            CreatedOn = DateTime.UtcNow,
                            CreatedBy = login.Id,
                            UpdatedOn = DateTime.UtcNow,
                            IsActive  = true,
                            Address   = new Address
                            {
                                CountryId = 1,
                                IsActive  = true,
                            }
                        };
                        db.Tenant.Add(tenant);
                        break;

                    case 6:
                        var com = new Company
                        {
                            UpdatedBy = login.Email,
                            CreatedOn = DateTime.UtcNow,
                            CreatedBy = login.Email,
                            UpdatedOn = DateTime.UtcNow,
                            IsActive  = true,
                            Address   = new Address   //Bug Fix #2075
                            {
                                CountryId = 1,
                                IsActive  = true
                            },
                            Address1 = new Address     //Bug Fix #2075
                            {
                                CountryId = 1,
                                IsActive  = true
                            }
                        };
                        var sp = new ServiceProvider {
                            Person = person, Company = com, IsProfileComplete = false
                        };
                        db.ServiceProvider.Add(sp);
                        break;
                    }
                    db.SaveChanges();
                    return(new ServiceResponseResult {
                        IsSuccess = true
                    });
                }
                catch (Exception ex)
                {
                    return(new ServiceResponseResult {
                        IsSuccess = false
                    });
                }
            }
        }
예제 #40
0
    public static int InsertLoginRole(LoginRole loginRole)
    {
        SqlLoginRoleProvider sqlLoginRoleProvider = new SqlLoginRoleProvider();

        return(sqlLoginRoleProvider.InsertLoginRole(loginRole));
    }
예제 #41
0
        public static void Initialize(WorkDbContext context)
        {
            context.Database.EnsureDeleted();
            context.Database.Migrate();

            //if (context.Companies.Any() && context.Employees.Any() && context.Users.Any() && context.TokenModels.Any())
            //{
            //    return;
            //}

            var companies = new Company[]
            {
                new Company
                {
                    Id           = Guid.Parse("620f23d6-6a9c-43b9-a70a-c93cf0096ee5"),
                    Name         = "Microsoft",
                    Introduction = "Great Company"
                },
                new Company
                {
                    Id           = Guid.Parse("f6ee3f75-8659-4ab1-a1a3-d799b8a8f70c"),
                    Name         = "Google",
                    Introduction = "404 Company"
                },
                new Company
                {
                    Id           = Guid.Parse("28e2b431-f8b3-4fad-af74-602278ebda00"),
                    Name         = "Alipapa",
                    Introduction = "FuBao Company"
                },
                new Company
                {
                    Id           = Guid.Parse("aeb13c79-f6d4-4d23-b06b-01d550e2acc6"),
                    Name         = "Face Book",
                    Introduction = "Freedown Company"
                },
                new Company
                {
                    Id           = Guid.Parse("290d2019-1a83-4afd-b370-7e19f8965c92"),
                    Name         = "BaiDu",
                    Introduction = "Ads Company"
                },
                new Company
                {
                    Id           = Guid.Parse("8bc932ea-9f54-4da2-a7a1-2e8045a8a5cf"),
                    Name         = "Wang Yi",
                    Introduction = "Freedown Company"
                },
                new Company
                {
                    Id           = Guid.Parse("6db2af13-fce8-4731-9d8f-92abf87a55b0"),
                    Name         = "JingDong",
                    Introduction = "Fast Company"
                },
                new Company
                {
                    Id           = Guid.Parse("412300f6-a923-45ee-92c1-581fcf93c21a"),
                    Name         = "Xiao Mi",
                    Introduction = "Smart Company"
                },
                new Company
                {
                    Id           = Guid.Parse("6b48611b-f96c-4527-aebd-db96e7b02146"),
                    Name         = "Bilibili",
                    Introduction = "Acg Company"
                },
                new Company
                {
                    Id           = Guid.Parse("f69e131f-1cfb-4e26-8661-79ad9be75ace"),
                    Name         = "Zhang Zi Dao",
                    Introduction = "Faker Company"
                }
            };

            foreach (var i in companies)
            {
                context.Companies.Add(i);
            }
            context.SaveChanges();

            var employees = new Employee[]
            {
                new Employee
                {
                    Id          = Guid.Parse("347e2607-04ba-43de-a8df-07154856f824"),
                    CompanyId   = Guid.Parse("620f23d6-6a9c-43b9-a70a-c93cf0096ee5"),
                    EmployeeNo  = "A001",
                    FirstName   = "张",
                    LastName    = "一",
                    Gender      = Gender.男,
                    BirthOfDate = new DateTime(1990, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("15422d65-3426-4ad0-a815-ce70f4ba5174"),
                    CompanyId   = Guid.Parse("620f23d6-6a9c-43b9-a70a-c93cf0096ee5"),
                    EmployeeNo  = "A002",
                    FirstName   = "张",
                    LastName    = "二",
                    Gender      = Gender.男,
                    BirthOfDate = new DateTime(1991, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("d454a121-7f98-4641-a996-10f6a02701d8"),
                    CompanyId   = Guid.Parse("620f23d6-6a9c-43b9-a70a-c93cf0096ee5"),
                    EmployeeNo  = "A003",
                    FirstName   = "张",
                    LastName    = "三",
                    Gender      = Gender.男,
                    BirthOfDate = new DateTime(1992, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("72562ee7-b32b-435b-b91f-c65e487a487d"),
                    CompanyId   = Guid.Parse("f6ee3f75-8659-4ab1-a1a3-d799b8a8f70c"),
                    EmployeeNo  = "B001",
                    FirstName   = "王",
                    LastName    = "一",
                    Gender      = Gender.男,
                    BirthOfDate = new DateTime(1993, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("0f33e571-69f8-45c4-96d7-734dd775ded4"),
                    CompanyId   = Guid.Parse("f6ee3f75-8659-4ab1-a1a3-d799b8a8f70c"),
                    EmployeeNo  = "B002",
                    FirstName   = "王",
                    LastName    = "二",
                    Gender      = Gender.男,
                    BirthOfDate = new DateTime(1994, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("9daced10-9473-47aa-bd84-f5f52da7d4a3"),
                    CompanyId   = Guid.Parse("f6ee3f75-8659-4ab1-a1a3-d799b8a8f70c"),
                    EmployeeNo  = "B003",
                    FirstName   = "王",
                    LastName    = "三",
                    Gender      = Gender.男,
                    BirthOfDate = new DateTime(1995, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("c9ccdadd-325f-4f84-8cec-b668a76047e8"),
                    CompanyId   = Guid.Parse("28e2b431-f8b3-4fad-af74-602278ebda00"),
                    EmployeeNo  = "C001",
                    FirstName   = "李",
                    LastName    = "一",
                    Gender      = Gender.女,
                    BirthOfDate = new DateTime(1996, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("8b623d8f-3ab9-4941-8625-8fa8405175ef"),
                    CompanyId   = Guid.Parse("28e2b431-f8b3-4fad-af74-602278ebda00"),
                    EmployeeNo  = "C002",
                    FirstName   = "李",
                    LastName    = "二",
                    Gender      = Gender.女,
                    BirthOfDate = new DateTime(1997, 01, 01)
                },
                new Employee
                {
                    Id          = Guid.Parse("3006d592-2fa2-41cf-ba51-9a4f7e705eac"),
                    CompanyId   = Guid.Parse("28e2b431-f8b3-4fad-af74-602278ebda00"),
                    EmployeeNo  = "C003",
                    FirstName   = "李",
                    LastName    = "三",
                    Gender      = Gender.女,
                    BirthOfDate = new DateTime(1998, 01, 01)
                }
            };

            foreach (var i in employees)
            {
                context.Employees.Add(i);
            }
            context.SaveChanges();

            var users = new User[]
            {
                new User
                {
                    Id       = 1,
                    UserName = "******",
                    PassWord = "******"
                },
                new User
                {
                    Id       = 2,
                    UserName = "******",
                    PassWord = "******"
                },
                new User
                {
                    Id       = 3,
                    UserName = "******",
                    PassWord = "******"
                }
            };

            foreach (var i in users)
            {
                context.Users.Add(i);
            }
            context.Database.OpenConnection();
            try
            {
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Users ON");
                context.SaveChanges();
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Users OFF");
            }
            finally
            {
                context.Database.CloseConnection();
            }
            //context.SaveChanges();

            var tokenModels = new TokenModel[]
            {
                new TokenModel
                {
                    Uid    = 1,
                    Uname  = "The Giao",
                    Role   = Role.Admin,
                    UserId = 1
                },
                new TokenModel
                {
                    Uid    = 2,
                    Uname  = "The Shy",
                    Role   = Role.Admin,
                    UserId = 2
                },
                new TokenModel
                {
                    Uid    = 3,
                    Uname  = "The Bug",
                    Role   = Role.Leader,
                    UserId = 3
                }
            };

            foreach (var i in tokenModels)
            {
                context.TokenModels.Add(i);
            }
            context.Database.OpenConnection();
            try
            {
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.TokenModels ON");
                context.SaveChanges();
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.TokenModels OFF");
            }
            finally
            {
                context.Database.CloseConnection();
            }
            //context.SaveChanges();

            var loginRoles = new LoginRole[]
            {
                new LoginRole
                {
                    Id          = 1,
                    RoleName    = Role.Admin,
                    Discription = "拥有一切权限"
                },
                new LoginRole
                {
                    Id          = 2,
                    RoleName    = Role.Leader,
                    Discription = "拥有对Employee的权限"
                }
            };

            foreach (var i in loginRoles)
            {
                context.LoginRoles.Add(i);
            }
            context.Database.OpenConnection();
            try
            {
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.LoginRoles ON");
                context.SaveChanges();
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.LoginRoles OFF");
            }
            finally
            {
                context.Database.CloseConnection();
            }

            var urls = new Url[]
            {
                new Url
                {
                    Id      = 1,
                    LinkUrl = "/api/companies",
                    RoleId  = 1
                },
                new Url
                {
                    Id      = 2,
                    LinkUrl = "/api/text",
                    RoleId  = 2
                }
            };

            foreach (var i in urls)
            {
                context.Urls.Add(i);
            }
            context.Database.OpenConnection();
            try
            {
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Urls ON");
                context.SaveChanges();
                context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Urls OFF");
            }
            finally
            {
                context.Database.CloseConnection();
            }
        }