jeudi 21 juillet 2016

get default value in a checkbox

I have a checkbox dropdown in a function. So the user can select one, more than one or zero. When the user select one or more than one, everything is correct. But when the user dont select any I have a null pointer exception. To handle this exception I want to make by default that if he doesnt select anything to show the results of all (like if he is selecting all). How can I do that?

Here is the JS function

  $(function () {
      $("#datepicker").datepicker({
          //defaultDate: "+1w",
          changeMonth: true,
          changeYear: true,
          numberOfMonths: 1,
          minDate: "01/01/2008"
      })
      .datepicker('setDate', new Date());
      $("button.action").click(function () {
          //var users = new Array();
          var date = $('#datepicker').val().toString();
          var selected_values = new Array();
          //var userName = $(' .checked:checked').val();
          $(document).ready(function () {
              selected_values = []; // initialize empty array 
              $(".checked:checked").each(function () {
                  selected_values.push($(this).val());
              });
          });
          $.ajax({
              url: 'EmployeeDate',
              datatype: "application/json",
              traditional:true, 
              data: {
                  lstUserName: selected_values,
                  strDate: date
              },
              success: function (data, textStatus, jqXHR) {
                  $('#DataUser').html(data);
              },
              error: function () {
                  console.log("error handler when ajax request fails... ");
              },

          });
      });
  });

and this is the controller:

    public IEnumerable<DateTime> getInfoByDate(string strDate, string[] lstUserName)
    {
        CareDB context = new CareDB();
        IEnumerable<DateTime> lst = null;
        List<DateTime> model = new List<DateTime>();

        if (lstUserName != null)
        {
            foreach (string user in lstUserName)
            {
                SqlParameter userName = new SqlParameter("@EmployeeName", user);
                SqlParameter Date = new SqlParameter("@Date", strDate);
                object[] parameters = new object[] { Date, userName };

                model.Add(context.ReleaseDate.SqlQuery("_UserInformationByDate @Date, @EmployeeName", parameters).ToList().FirstOrDefault());

            }
        }
        else
        {
            SqlParameter Date = new SqlParameter("@Date", strDate);
            SqlParameter userName = new SqlParameter("@EmployeeName", lstUserName);

            object[] parameters = new object[] { Date, userName };

            model = context.ReleaseDate.SqlQuery("_UserInformationByDate @Date, @EmployeeName", parameters).ToList();
        }
        context.Dispose();
        context = null;
        return model;
    }




Aucun commentaire:

Enregistrer un commentaire