public async Task <IHttpActionResult> Register(Account_BenhNhanDTO account) { var acc = await db.Account_BenhNhan.FirstOrDefaultAsync(q => q.Username == account.MaYTe && q.Status == "ACTIVE"); if (acc == null) { var bn = db.SP_DM_BenhNhan_GetByMaYTe(account.MaYTe).FirstOrDefault(); if (bn != null) { if (bn.TenBenhNhan.ToUpper().Equals(account.HoTen.ToUpper()) && bn.NgaySinh?.OnlyDate() == account.NgaySinh.OnlyDate()) { var id = db.SP_Account_BenhNhan_Insert(account.Password, account.Email, account.MaYTe).FirstOrDefault(); if (id != null) { if (_sendMailConfirm(id.IDAccountBN ?? 0)) { return(Ok("Vui lòng xác nhận tài khoản, kiểm tra mail " + account.Email)); } return(Content(HttpStatusCode.Created, "Vui lòng xác nhận tài khoản, thử lại gửi mail: " + account.Email)); } else { return(BadRequest()); } } else { return(Content(HttpStatusCode.NotAcceptable, "Thông tin họ tên và ngày sinh không trùng khớp với Mã Y Tế.")); } } else { return(Content(HttpStatusCode.NotAcceptable, "Mã y tế không tồn tại.")); } } else { if (acc.Status == CONFIRM) { return(Content(HttpStatusCode.Created, "Vui lòng xác nhận tài khoản với email " + acc.Email)); } else if (acc.Status == ACTIVE) { return(Content(HttpStatusCode.NotAcceptable, "Thông tin Mã Y tế đã được sử dụng.")); } return(Content(HttpStatusCode.NotAcceptable, "Tài khoản đã được tạo trước đó.")); } }