package com.example.calendaryapp;


import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.NumberPicker;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;


/**
 * Clase para agrear notas
 * @author Carlos Fernandez, Sergio Castro, Javier Ortiz
 */

public class AddNoteActivity extends AppCompatActivity {

	/**
 	* Titulo de la nota (ramo)
 	*/
    public static final String EXTRA_TITLE =
            "com.example.calendaryapp.EXTRA_TITLE";
            /**
 	* Descripcion de la nota (ramo)
 	*/
    public static final String EXTRA_DESCRIPTION =
            "com.example.calendaryapp.EXTRA_DESCRIPTION";

    /**
 	* Prioridad de la nota (ramo)
 	*/
    public static final String EXTRA_PRIORITY =
            "com.example.calendaryapp.EXTRA_PRIORITY";

    /**
 	* Sala de la nota (ramo)
 	*/
    public static final String EXTRA_SALA =
            "com.example.calendaryapp.EXTRA_SALA";


   	/**
 	* Cuadro texto para ingresar titutlo
 	*/
    private EditText editTextTitle;

    /**
 	* Cuadro texto para ingresar descripcion
 	*/
    private EditText editTextDescription;

    /**
 	* Cuadro texto para ingresar sala
 	*/
    private EditText editTextSala;

    /**
 	* Cuadro texto para ingresar prioridad
 	*/
    private NumberPicker numberPickerPriority;

    @Override
    /** 
	* Metodo que crea la actividad  
 	* @param savedInstanceState 
 	*/
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_add_note);//se coloca el layout de esta actividad
        //se referencia cada campo
        editTextTitle = findViewById(R.id.edit_text_Saladeclases);
        editTextDescription = findViewById(R.id.edit_text_description);
        numberPickerPriority = findViewById(R.id.number_picker_priority);
        editTextSala = findViewById(R.id.edit_text_title);

        numberPickerPriority.setMinValue(1);
        numberPickerPriority.setMaxValue(7);

        getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close);//se agrega simbolo para cerrar vista
        setTitle("Agregar Asignatura al Horario");
    }

    /** 
	* Metodo que guarda la nota en el calendario
 	*/

    private void saveNote() {
        //se obtienen los datos de cada campo titulo, descripcion, sala y prioridad(horario)
        String title = editTextTitle.getText().toString();
        String description = editTextDescription.getText().toString();
        String sala = editTextSala.getText().toString();
        int priority = numberPickerPriority.getValue();

        if (title.trim().isEmpty() || description.trim().isEmpty()) { //para ver si es que la wea esta vacia
            Toast.makeText(this, "Porfavor Ingrese el nombre de asignatura, su detalle y sala asignada", Toast.LENGTH_SHORT).show();
            return;
        }
        //Se mandan lso datos a la actividad que llamo el addnote activity(que es la nueva pestaña)
        Intent data = new Intent();
        data.putExtra(EXTRA_TITLE, title);
        data.putExtra(EXTRA_DESCRIPTION, description);
        data.putExtra(EXTRA_PRIORITY, priority);
        data.putExtra(EXTRA_SALA,sala);



        setResult(RESULT_OK, data);//Se manda el resultado de que todo esta ok junto con los datos
        finish();
    }


    /** 
	* Metodo que añade la nota al menu
 	* @param menu 
 	*/

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.add_note_menu, menu);
        return true;
    }

    @Override

    /** 
	* Metodo que maneja la seleccion de la nota como item en el menu 
 	* @param item item seleccionado
 	*/

    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.save_note:
                saveNote();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}
