Exemplo n.º 1
0
        public async Task<IHttpActionResult> PostForCreateNewAdmin(JObject data)
        {

            const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            RNGCryptoServiceProvider gen = new RNGCryptoServiceProvider();
            byte[] num = new byte[8];

            //GENERATE PASSWORD 8 CHARS
            string password = "";
            gen.GetBytes(num);
            for (int j = 0; j < 8; j++)
            {
                num[j] %= (byte)chars.Length;
                password += chars[num[j]];
            }
            //=========================
            string emaillower = data["email"].ToString();
            emaillower = emaillower.ToLower();
            UsernamePassword u =  new UsernamePassword(emaillower, password);

            datacontext.admin_creator_id = Convert.ToInt32(data["user_id"]);
            datacontext.username = emaillower;
            datacontext.password = u.password;
            datacontext.t_name = data["t_name"].ToString();

            object result = await datacontext.InsertWithSelect();
            if (result.GetType().ToString() != "System.String")
            {
                object sendresult = await MailingUtils.sendUsernamePasswordMailForAdmin(emaillower, password, datacontext.t_name);
                if (sendresult == null)
                    return Ok(result);
                else
                    return InternalServerError((Exception)sendresult);
            }
            else
                return BadRequest(result.ToString());
        }
Exemplo n.º 2
0
        public async Task<IHttpActionResult> PostForLogin(JObject usrpwdata)
        {
            List<System.Net.Http.Headers.CookieHeaderValue> x = Request.Headers.GetCookies("mymy").ToList();
            if (x.Count == 1)
            {
                //If login cookie exists:Return error to indicate that user already logged in
                return BadRequest("ท่านได้เข้าสู่ระบบอยู่แล้ว");
            }
            UsernamePassword data = new UsernamePassword();
            data.username = usrpwdata["username"].ToString();
            data.password = usrpwdata["password"].ToString();

            if (data.username == "" && data.password == "")
                return BadRequest("กรุณาใส่ชื่อผู้ใช้และรหัสผ่านที่ต้องการเข้าสู่ระบบ");
            else if (data.username == "")
                return BadRequest("กรุณาใส่ชื่อผู้ใช้งานที่ต้องการเข้าสู่ระบบ");
            else if (data.password == "")
                return BadRequest("กรุณาใส่รหัสผ่านที่ใช้ในการเข้าสู่ระบบ");
            oUsers context = new oUsers();
            data.username = data.username.ToLower();
            object result = await context.SelectUser(data.username);

            //Check whether login is success?
            if (result.GetType().ToString() != "System.String")
            {
                User_information_with_privilege_information u = (User_information_with_privilege_information)result;
                string oldpassword = data.password;
                data.password = u.information.GetPassword();
                if (data.isMatchPassword(oldpassword))
                {
                    return Ok(u);
                }
                else
                {
                    return BadRequest("ชื่อผู้ใช้งานหรือรหัสผ่านไม่ถูกต้อง");
                }
            }
            else
            {
                return BadRequest("ชื่อผู้ใช้งานหรือรหัสผ่านไม่ถูกต้อง");
            }
        }