Ejemplo n.º 1
0
        public async Task <IHttpActionResult> Login([FromUri] string Username, [FromUri] string Password)
        {
            Account_BenhNhan account = await db.Account_BenhNhan.FirstOrDefaultAsync(q => q.Username == Username && q.Password == Password && q.Status == ACTIVE);

            if (account == null)
            {
                return(NotFound());
            }

            var time       = TimeSpan.FromHours(10);
            var Expiration = DateTime.Now.Add(time);

            account.TokenExpiration = Expiration;

            var token = Convert.ToBase64String(new UTF8Encoding().GetBytes($"BN:{account.IDAccountBN}:{Username}:{Password}:{Expiration}:{new Random().Next(1000, 9999)}"));

            token         = token.CreateMD5();
            account.Token = token;

            if (await db.SaveChangesAsync() > 0)
            {
                token = $"{account.IDAccountBN}:{token}";
                token = Convert.ToBase64String(new UTF8Encoding().GetBytes(token));
                return(Ok(token));
            }
            return(BadRequest());
        }
        public async Task <IHttpActionResult> PutAccount_BenhNhan(int id, Account_BenhNhan Account_BenhNhan)
        {
            if (LoginHelper.CheckAccount(id) == false || !ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != Account_BenhNhan.IDAccountBN)
            {
                return(BadRequest());
            }

            Account_BenhNhan.Modified_Id     = LoginHelper.GetAccountNV().IDAccountNV;
            Account_BenhNhan.ModifiedDate    = DateTime.Now;
            db.Entry(Account_BenhNhan).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!Account_BenhNhanExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 3
0
        public IHttpActionResult Test2([FromBody] int k)
        {
            var data = new Account_BenhNhan
            {
                Username    = "******",
                IDAccountBN = 10
            };

            return(Ok(data.Encode <Account_BenhNhan>(Models.Encoder.GetKey())));
        }
        public async Task <IHttpActionResult> PostAccount_BenhNhan(Account_BenhNhan Account_BenhNhan)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Account_BenhNhan.Add(Account_BenhNhan);
            await db.SaveChangesAsync();

            return(Ok("SUCCESS"));
        }
Ejemplo n.º 5
0
 public static Account_BenhNhanDTO ConvertToAccountBNDTO(Account_BenhNhan account)
 {
     return(new Account_BenhNhanDTO
     {
         Email = account.Email,
         IDAccountBN = account.IDAccountBN,
         Password = account.Password,
         Status = account.Status,
         Username = account.Username,
         MaYTe = account.Username,
         BenhNhan_Id = account.BenhNhan_Id,
         Token = account.Token,
         TokenExpiration = account.TokenExpiration,
     });
 }
Ejemplo n.º 6
0
        public async Task <IHttpActionResult> Confirm(string id)
        {
            if (id == null)
            {
                return(Content(HttpStatusCode.BadRequest, "Mã xác nhận không tồn tại."));
            }

            var url         = Encoding.UTF8.GetString(Convert.FromBase64String(HttpUtility.UrlDecode(id)));
            var decodeArray = url.Split(':');

            if (decodeArray.Length != 2)
            {
                return(Content(HttpStatusCode.BadRequest, "Mã xác nhận không hợp lệ."));
            }

            var account_test = new Account_BenhNhan
            {
                Username = decodeArray[0],
                Token    = decodeArray[1],
            };

            if (db.Account_BenhNhan.FirstOrDefault(q => q.Username == account_test.Username) is Account_BenhNhan account)
            {
                if (account.Status == CONFIRM)
                {
                    if (account.Token == account_test.Token)
                    {
                        if (account.TokenExpiration >= DateTime.Now)
                        {
                            account.Status = ACTIVE;
                            await db.SaveChangesAsync();

                            return(Content(HttpStatusCode.OK, $"{account.Email} xác nhận thành công."));
                        }
                        else
                        {
                            return(Content(HttpStatusCode.OK, $"{account.Email} hết thời gian xác nhận."));
                        }
                    }
                    return(Content(HttpStatusCode.BadRequest, "Xác nhận thất bại, mã xác nhận không chính xác."));
                }
                else
                {
                    return(Content(HttpStatusCode.BadRequest, "Tài khoản đã được xác nhận trước đó."));
                }
            }
            return(Content(HttpStatusCode.BadRequest, "Xác nhận thất bại, tài khoản không tồn tại"));
        }
        public async Task <IHttpActionResult> DeleteAccount_BenhNhan(int id)
        {
            Account_BenhNhan Account_BenhNhan = await db.Account_BenhNhan.FindAsync(id);

            if (Account_BenhNhan == null)
            {
                return(NotFound());
            }

            Account_BenhNhan.Modified_Id  = LoginHelper.GetAccountNV().IDAccountNV;
            Account_BenhNhan.ModifiedDate = DateTime.Now;
            Account_BenhNhan.Status       = "DELETE";
            await db.SaveChangesAsync();

            return(Ok(ConvertToAccount_BenhNhanDTO(Account_BenhNhan)));
        }
        public async Task <IHttpActionResult> GetAccount_BenhNhan(int id)
        {
            var acc = LoginHelper.GetAccount();

            if (acc.IDAccountBN != id)
            {
                return(NotFound());
            }

            Account_BenhNhan item = await db.Account_BenhNhan.FindAsync(id);

            if (item == null)
            {
                return(NotFound());
            }

            return(Ok(ConvertToAccount_BenhNhanDTO(item)));
        }
 public static Account_BenhNhanDTO ConvertToAccount_BenhNhanDTO(Account_BenhNhan item)
 {
     if (item == null)
     {
         return(null);
     }
     return(new Account_BenhNhanDTO
     {
         Email = item.Email,
         IDAccountBN = item.IDAccountBN,
         BenhNhan_Id = item.BenhNhan_Id,
         Password = item.Password,
         Status = item.Status,
         Token = item.Token,
         Username = item.Username,
         TokenExpiration = item.TokenExpiration,
     });
 }