<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Repository\AdminRepository;
use Illuminate\Http\Request;
use App\Models\DefaultedUser;
use App\Models\Auth\User;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;

class DefaultedUserController extends Controller {

    public function __construct(AdminRepository $AdminRepository)
    {
        $this->dart_email = $AdminRepository->email_to();
    }

    public function index() 
    {
        $users = DB::select(DB::raw("select ANY_VALUE(defaulted_users.id) id,ANY_VALUE(username) username,ANY_VALUE(mobile) mobile,ANY_VALUE(mobile_country_code) mobile_country_code, ANY_VALUE(defaulted_users.status) status, SUM(IF(circles.status = 2, 1, 0)) blocked, SUM(IF(circles.status = 3, 1, 0)) suspended from defaulted_users join circles on circles.circle_code = defaulted_users.circle_code group by mobile"));
        //dd($users);
        // dd($this->dart_email[4]['value']);
        return view('admin.pages.defaulted.list', compact('users'));
    }

    public function status($id) {
        $id = base64_decode($id);       
        $details = DefaultedUser::where('id', $id)->first(); 
        $userData = User::where('mobile_number', $details->mobile)->first();
        if($userData){
            /*************email********************/
            $to = $userData->email;
            $email_text='  <tr>
                               <td style="padding: 20px 10px; font-family: sans-serif; font-size: 15px; mso-height-rule: exactly; line-height: 20px;color: #333; ">
                                   <p>'.__('messages.all_mail_before_name').' <span style="">'.$userData->first_name.'</span> </p>
                                </td>
                            </tr>
                            <tr>
                                <td style="font-family: sans-serif; color: #333; padding: 0px 10px 40px; font-size: 16px; line-height: 30px;">
                                   
                                   <p>'.__('messages.defaulter_set_by_admin_mail_body_para1').'</p>
                                   
                                </td>
                            </tr>
                            <tr>
                                <td style="font-family: sans-serif; color: #333; padding: 0px 10px 40px; font-size: 16px; line-height: 30px;">
                                   <p>'.__('messages.all_mail_footer_para2').'</p>
                                    <p>'.__('messages.all_mail_footer_para3').'</p>
                                </td>
                            </tr>';
                    //echo $email_text; die;
            $data['email_text'] = $email_text;    
            Mail::send('mail.email_template', $data, function($message) use ($to)
            {
                $message->from($this->dart_email[4]['value'], 'DANT');
                $message->to($to);
                $message->subject(__('messages.defaulter_set_by_admin_mail_subject'));
            });
            /*************email********************/
        }
        $data = array('status' => 2);    
        $status = User::where('mobile_number', $details->mobile)->update($data);        
        $status = DefaultedUser::where('mobile', $details->mobile)->update(['status'=>1]);        
        session()->flash('success', 'User Status Changed Successfully');
        return redirect()->route('admin.defaulted.list');
    }

    public function details($id)
    {
        $id = base64_decode($id);
        $details = DefaultedUser::where('id', $id)->first();
        $userlist = DefaultedUser::where('mobile', $details->mobile)->join('circles','circles.circle_code','=','defaulted_users.circle_code')->select('*','circles.status')->get();
        return view('admin.pages.defaulted.details', compact('userlist'));
    }
}
