public HttpResponseMessage Delete(dynamic DynamicClass)
        {
            string Input = JsonConvert.SerializeObject(DynamicClass);

            dynamic data = JObject.Parse(Input);

            string idUsuario = data.IdUsuario;

            if (idUsuario == null)
            {
                idUsuario = "0";
            }

            string instId       = data.InstId;
            string titulo       = data.Titulo;
            string fechaInicio  = data.FechaInicio;
            string fechaTermino = data.FechaTermino;

            HttpResponseMessage httpResponse = new HttpResponseMessage();


            try
            {
                VCFramework.Entidad.Calendario calendario = new VCFramework.Entidad.Calendario();

                List <VCFramework.Entidad.Calendario> calendarios = VCFramework.NegocioMySQL.Calendario.ObtenerCalendarioPorInstId(int.Parse(instId));
                calendario = calendarios.Find(p => p.Titulo == titulo && p.FechaInicio == Convert.ToDateTime(fechaInicio) && p.FechaTermino == Convert.ToDateTime(fechaTermino));
                if (calendario != null && calendario.Id > 0)
                {
                    calendario.Eliminado = 1;
                    VCFramework.NegocioMySQL.Calendario.Modificar(calendario);
                }


                httpResponse = new HttpResponseMessage(HttpStatusCode.OK);
                String JSON = JsonConvert.SerializeObject(calendario);
                httpResponse.Content = new StringContent(JSON);
                httpResponse.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(VCFramework.NegocioMySQL.Utiles.JSON_DOCTYPE);
            }
            catch (Exception ex)
            {
                httpResponse = new HttpResponseMessage(HttpStatusCode.ExpectationFailed);
                throw ex;
            }

            return(httpResponse);
        }
        public HttpResponseMessage Put(dynamic DynamicClass)
        {
            string Input = JsonConvert.SerializeObject(DynamicClass);

            dynamic data = JObject.Parse(Input);

            string idUsuario = data.IdUsuario;

            if (idUsuario == null)
            {
                idUsuario = "0";
            }

            string instId       = data.InstId;
            string titulo       = data.Titulo;
            string fechaInicio  = data.FechaInicio;
            string fechaTermino = data.FechaTermino;
            string esNuevo      = data.EsNuevo;


            HttpResponseMessage httpResponse = new HttpResponseMessage();

            //buscamos el evento con todos los parametros para ver si es nuevo o antiguo
            bool nuevoRegistro = Convert.ToBoolean(esNuevo);
            int  idNuevo       = 0;



            try
            {
                VCFramework.Entidad.Calendario   calendario = new VCFramework.Entidad.Calendario();
                System.Globalization.CultureInfo culture    = new System.Globalization.CultureInfo("es-CL");

                //si es nuevo registro se inserta y no se realiza busqueda
                if (nuevoRegistro)
                {
                    calendario.Asunto       = titulo;
                    calendario.Descripcion  = titulo;
                    calendario.Detalle      = titulo;
                    calendario.Eliminado    = 0;
                    calendario.Etiqueta     = 1;
                    calendario.FechaInicio  = DateTime.Parse(fechaInicio, culture);
                    calendario.FechaTermino = DateTime.Parse(fechaTermino, culture);
                    //calendario.FechaTermino = Convert.ToDateTime(fechaTermino);
                    calendario.InstId    = int.Parse(instId);
                    calendario.Status    = 1;
                    calendario.Tipo      = 1;
                    calendario.Titulo    = titulo;
                    calendario.Ubicacion = "";
                    calendario.Url       = "";
                    //insertar
                    idNuevo       = VCFramework.NegocioMySQL.Calendario.Insertar(calendario);
                    calendario.Id = idNuevo;
                }
                else
                {
                    List <VCFramework.Entidad.Calendario> calendarios = VCFramework.NegocioMySQL.Calendario.ObtenerCalendarioPorInstId(int.Parse(instId));
                    calendario = calendarios.Find(p => p.FechaInicio == Convert.ToDateTime(fechaInicio) && p.FechaTermino == Convert.ToDateTime(fechaTermino));
                    if (calendario != null && calendario.Id > 0)
                    {
                        calendario.Asunto      = titulo;
                        calendario.Descripcion = titulo;
                        calendario.Detalle     = titulo;
                        calendario.Titulo      = titulo;
                        VCFramework.NegocioMySQL.Calendario.Modificar(calendario);
                    }
                }


                httpResponse = new HttpResponseMessage(HttpStatusCode.OK);
                String JSON = JsonConvert.SerializeObject(calendario);
                httpResponse.Content = new StringContent(JSON);
                httpResponse.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(VCFramework.NegocioMySQL.Utiles.JSON_DOCTYPE);
            }
            catch (Exception ex)
            {
                httpResponse = new HttpResponseMessage(HttpStatusCode.ExpectationFailed);
                throw ex;
            }

            return(httpResponse);
        }