package ir.almahdi.sandogh_bsa_aza.login;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;

import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import ir.almahdi.sandogh_bsa_aza.Class.MySingleton;
import ir.almahdi.sandogh_bsa_aza.Global_var;
import ir.almahdi.sandogh_bsa_aza.Model.Model_user;
import ir.almahdi.sandogh_bsa_aza.R;
import ir.almahdi.sandogh_bsa_aza.Utility;
import ir.almahdi.sandogh_bsa_aza.karbar_activity;

public class login extends AppCompatActivity {
    final String url = "http://sandogh-bs.makkh.ir/checkuserpass.php";
    Button btn_login;
    EditText user, pass;
    String username,pasokh="";
    ImageView img_nvg_setting;

    Global_var global_var=new Global_var();
    List<Model_user> models = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_login2);
        if (getIntent().getBooleanExtra("EXIT", false)) {
            finish();
        }

//بدست آوردن سال مالی شمسی
        Global_var.gsal_mali= Utility.getCurrentShamsidate().substring(2);
        String salmali= Global_var.gsal_mali;
        Global_var.gsal_mali=salmali.substring(0,2);
        //********************
        btn_login = findViewById(R.id.btn_login);
        user = findViewById(R.id.et_user);
        pass = findViewById(R.id.et_pass);

        btn_login.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.N)
            @Override
            public void onClick(View v) {
                if ((user.getText().toString().isEmpty()) || (pass.getText().toString().isEmpty())) {
                    Toast.makeText(login.this, "نام کاربری و رمز عبور را وارد کنید", Toast.LENGTH_SHORT).show();
                }
                else {
                    String str_code;
                    Global_var.gid_ozviat = user.getText().toString();
                    str_code = pass.getText().toString();
                    pasokh="befor";
                    //کاربر دریافت شماره عضویت
                    if (Global_var.gid_ozviat.equals("2")){
                        img_nvg_setting.setVisibility(View.GONE);

                        Intent intent = new Intent(login.this, karbar_activity.class);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(intent);
                        finish();
                        pasokh="";
                    }
                        fun_str_request_login(Global_var.gid_ozviat, str_code);



                   // Toast.makeText(login.this, pasokh, Toast.LENGTH_SHORT).show();

                }

            }
        });

    }


    private void fun_str_request_login(final String str_idozv, final String str_code) {
        final ProgressDialog pDialog;
        pDialog = new ProgressDialog(this);
        pDialog.setMessage("در حال ارسال اطلاعات...");
        pDialog.setCancelable(false);
        pDialog.show();
        Response.Listener<String> listener = new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                pasokh = response.toLowerCase();
                pDialog.dismiss();
                if (pasokh.equals("ok")){
                    Global_var.gid_ozviat=str_idozv;

                    // تععین یک شناسه شامل سال مالی و یک تابع رندم برای ثبت در دیتابیس
                    Global_var.gtarikh_day= Utility.getCurrentShamsidate().substring(2);
                    String[] tr =Global_var.gtarikh_day.split("/");
                    Global_var.gtarikh_day=tr[0]+tr[1];
                    Global_var.gtarikh_day=Global_var.gtarikh_day+(int) (Math.random() * 1000);
                   // Toast.makeText(getApplicationContext(), Global_var.gtarikh_day, Toast.LENGTH_LONG).show();

                    //پایان سال مالی
                    Intent intent = new Intent(login.this, karbar_activity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    startActivity(intent);
                    finish();
                    pasokh="";
                }
                //Toast.makeText(getApplicationContext(), pasokh, Toast.LENGTH_SHORT).show();


            }
        };

        Response.ErrorListener errorListener = new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(getApplicationContext(), "خطا در اتصال به سرور یا اینترنت", Toast.LENGTH_SHORT).show();
                pDialog.dismiss();
            }
        };

        StringRequest request = new StringRequest(Request.Method.POST, url, listener, errorListener) {
            @Override

                protected Map<String, String> getParams() {
                    Map<String,String> Data=new HashMap<>();
                    Data.put("user",str_idozv);
                    Data.put("pass", str_code);
                    return Data;
            }
        };

        MySingleton.getInstance(getApplicationContext()).addToRequestQueue(request);

    }

}
