public IHttpActionResult PutDetalle(int id, Detalle detalle)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != detalle.idDetalle)
            {
                return(BadRequest());
            }
            try
            {
                DetalleBLL.Update(detalle);
                return(Content(HttpStatusCode.OK, "Detalle actualizado correctamente"));
            }
            catch (Exception ex)
            {
                Detalle det = DetalleBLL.Get(id);
                if (det == null)
                {
                    return(NotFound());
                }
                else
                {
                    return(StatusCode(HttpStatusCode.NoContent));
                }
            }
        }
 public IHttpActionResult PostDetalle(Detalle detalle)
 {
     try
     {
         DetalleBLL.Create(detalle);
         return(Content(HttpStatusCode.Created, "Detalle creado correctamente"));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
 public IHttpActionResult GetDetalle()
 {
     try
     {
         List <Detalle> todos = DetalleBLL.List();
         return(Content(HttpStatusCode.OK, todos));
     }
     catch (Exception ex)
     {
         return(Content(HttpStatusCode.BadRequest, ex));
     }
 }
 public IHttpActionResult GetDetalle(int id)
 {
     try
     {
         Detalle result = DetalleBLL.Get(id);
         if (result == null)
         {
             return(NotFound());
         }
         return(Content(HttpStatusCode.OK, result));
     }
     catch (Exception ex)
     {
         return(Content(HttpStatusCode.BadRequest, ex));
     }
 }
      private void Buscarbutton_Click(object sender, EventArgs e)
      {
          int        id = Convert.ToInt32(AsistenciaIDnumericUpDown.Value);
          Asistencia asistencia;

          asistencia = DetalleBLL.Buscar(id);

          if (asistencia != null)
          {
              Limpiar();
              LlenaCampo(asistencia);
          }
          else
          {
              MessageBox.Show("Asistencia no encontrada.");
          }
      }
        public IHttpActionResult DeleteDetalle(int id)
        {
            Detalle detalle = DetalleBLL.Get(id);

            if (detalle == null)
            {
                return(NotFound());
            }
            try
            {
                DetalleBLL.Delete(id);
                return(Ok("Detalle eliminado correctamente"));
            }
            catch (Exception ex)
            {
                return(Content(HttpStatusCode.BadRequest, ex));
            }
        }
        private void Consultarbutton_Click(object sender, EventArgs e)
        {
            var listado = new List <Asistencia>();


            if (CriteriotextBox.Text.Trim().Length > 0)
            {
                switch (FiltrocomboBox.SelectedIndex)
                {
                case 0:     //Todo
                    listado = DetalleBLL.GetList(p => true);
                    break;

                case 1:
                    int ID = Convert.ToInt32(CriteriotextBox.Text);
                    listado = DetalleBLL.GetList(p => p.AsistenciasId == ID);
                    break;

                case 2:
                    int IDAsignatura = Convert.ToInt32(CriteriotextBox.Text);
                    listado = DetalleBLL.GetList(p => p.AsignaturasId == IDAsignatura);
                    break;

                case 3:
                    int Cantidad = Convert.ToInt32(CriteriotextBox.Text);
                    listado = DetalleBLL.GetList(p => p.Cantidad == Cantidad);
                    break;

                default:
                    MessageBox.Show("No existe esa opción en el filtro.", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    break;
                }
                //Fecha
                listado = listado.Where(p => p.Fecha >= DesdedateTimePicker.Value.Date && p.Fecha <= HastadateTimePicker.Value.Date).ToList();
            }
            else
            {
                listado = DetalleBLL.GetList(p => true);
            }

            ConsultadataGridView.DataSource = null;
            this.ConsultadataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            ConsultadataGridView.DataSource = listado;
        }
      private void Gurdarbutton_Click(object sender, EventArgs e)
      {
          if (!Validar())
          {
              return;
          }

          bool       paso;
          Asistencia asistencia;

          asistencia = LlenaClase();

          if (AsistenciaIDnumericUpDown.Value == 0)
          {
              paso = DetalleBLL.Guardar(asistencia);
          }
          else
          {
              if (!Existe())
              {
                  MessageBox.Show("No se puede modificar porque no existe en la base de datos",
                                  "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                  return;
              }
              paso = DetalleBLL.Modificar(asistencia);
          }

          if (paso)
          {
              MessageBox.Show("Guardado!!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
          }
          else
          {
              MessageBox.Show("No fue posible guardar!!", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Error);
              Limpiar();
          }
      }
      private void Eliminarbutton_Click(object sender, EventArgs e)
      {
          MyerrorProvider.Clear();
          int  Id = Convert.ToInt32(AsistenciaIDnumericUpDown.Value);
          bool paso;

          if (!Existe())
          {
              MessageBox.Show("No se puede eliminar porque no existe.", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Error);
          }
          else
          {
              paso = DetalleBLL.Eliminar(Id);
              if (paso)
              {
                  Limpiar();
                  MessageBox.Show("Eliminado!!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
              }
              else
              {
                  MessageBox.Show("No se puede eliminar la asistencia", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Error);
              }
          }
      }
      private bool Existe()
      {
          Asistencia asistencia = DetalleBLL.Buscar((int)AsistenciaIDnumericUpDown.Value);

          return(asistencia != null);
      }