public CursoResponse Delete(FiltroComunRequest request)
        {
            var response = new CursoResponse();

            try
            {
                using (var ctx = new ContextoDb())
                {
                    var entidad = ctx.GetCurso(request.Id);

                    if (entidad == null)
                    {
                        throw new InvalidOperationException("Registro no existe");
                    }

                    ctx.Set <Curso>().Attach(entidad);
                    ctx.Entry(entidad).State = EntityState.Deleted;

                    response.Exito = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }
            return(response);
        }
        public CursoResponse Get(FiltroComunRequest request)
        {
            var response = new CursoResponse();

            try
            {
                using (var ctx = new ContextoDb())
                {
                    var entidad = ctx.GetCurso(request.Id);
                    if (entidad == null)
                    {
                        throw new InvalidOperationException("No se encuentra el registro");
                    }

                    response.Curso = new CursoDto
                    {
                        Id             = entidad.Id,
                        NombreCurso    = entidad.NombreCurso,
                        NombreProfesor = entidad.NombreProfesor,
                        FechaInicio    = entidad.FechaInicio
                    };
                }

                response.Exito = true;
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }

            return(response);
        }
        public CursoResponse Put([FromBody] CursoRequest value)
        {
            var response = new CursoResponse();

            try
            {
                using (var ctx = new ContextoDb())
                {
                    var entidad = ctx.GetCurso(value.Id);

                    if (entidad == null)
                    {
                        throw new InvalidOperationException("Registro no existe");
                    }

                    entidad.NombreCurso    = value.NombreCurso;
                    entidad.NombreProfesor = value.NombreProfesor;
                    entidad.FechaInicio    = value.FechaInicio;

                    ctx.Set <Curso>().Attach(entidad);
                    ctx.Entry(entidad).State = EntityState.Modified;

                    AsignarDto(response, entidad);
                    response.Exito = ctx.SaveChanges() > 0;
                }
            }
            catch (Exception ex)
            {
                response.Exito        = false;
                response.MensajeError = ex.Message;
            }

            return(response);
        }