public async Task <ActionResult <User> > Post(User User)
        {
            if (User.RoleId == 4)
            {
                User.IsDisabled = true;
            }
            EmailService email      = new EmailService(_db);
            SMSService   sms        = new SMSService(_db);
            var          verifyUser = await _db.Users.Where(x => x.Email_Address == User.Email_Address || x.Contact_Number == User.Contact_Number).FirstOrDefaultAsync();

            if (verifyUser != null)
            {
                if (verifyUser.IsVerified != true)
                {
                    sms.sendCodeSMS(verifyUser.Code, verifyUser.Contact_Number);
                    email.sendCodeEmail(verifyUser.Code, verifyUser.Email_Address);
                    return(StatusCode(404, "unverified-" + verifyUser.Id));
                }
                return(StatusCode(404, "Email or Mobile Number  Already Exist"));
            }
            else
            {
                Random random = new Random();
                User.Code       = random.Next(9999);
                User.IsVerified = false;
                _db.Users.Update(User);
                await _db.SaveChangesAsync();

                sms.sendCodeSMS(User.Code, User.Contact_Number);
                var superadmin = await _db.Users.Where(x => x.RoleId == 1).FirstOrDefaultAsync();

                if (User.RoleId == 4)
                {
                    sms.sendRiderAddSMS(superadmin.Contact_Number);  // send sms to admin
                }
                if (User.RoleId == 2)
                {
                    sms.sendShopOwnerAddSMS(superadmin.Contact_Number);
                }
                email.sendCodeEmail(User.Code, User.Email_Address);
                return(CreatedAtAction(nameof(GetSingle), new { id = User.Id }, User));
            }
        }