public ResultadoOperacionDto RegistrarConsultaAnalisis(ConsultaAnalisisDto consultaAnalisisDto)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                if (consultaAnalisisDto.IdConsultaAnalisis > 0)
                {
                    var registoConsultaBD = ConsultaAnalisisRepository.GetById(consultaAnalisisDto.IdConsultaAnalisis);

                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisEntidad.RemoveRange(registoConsultaBD.ConsultaAnalisisEntidad);
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisConcepto.RemoveRange(registoConsultaBD.ConsultaAnalisisConcepto);
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisPeriodo.RemoveRange(registoConsultaBD.ConsultaAnalisisPeriodo);

                    registoConsultaBD.Nombre = consultaAnalisisDto.Nombre;
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisConcepto.AddRange(GenerarConsultaAnalisisConcepto(consultaAnalisisDto.ConsultaAnalisisConcepto, consultaAnalisisDto.IdConsultaAnalisis));
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisEntidad.AddRange(GenerarConsultaAnalisisEntidad(consultaAnalisisDto.ConsultaAnalisisEntidad, consultaAnalisisDto.IdConsultaAnalisis));
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisPeriodo.AddRange(GenerarConsultaAnalisisPeriodo(consultaAnalisisDto.ConsultaAnalisisPeriodo, consultaAnalisisDto.IdConsultaAnalisis));

                    ConsultaAnalisisRepository.Update(registoConsultaBD);

                    resultado.InformacionExtra = registoConsultaBD.IdConsultaAnalisis;
                }
                else
                {
                    var consultaAnalisis = new ConsultaAnalisis();
                    consultaAnalisis.Nombre = consultaAnalisisDto.Nombre;
                    consultaAnalisis.ConsultaAnalisisConcepto = GenerarConsultaAnalisisConcepto(consultaAnalisisDto.ConsultaAnalisisConcepto, consultaAnalisisDto.IdConsultaAnalisis);
                    consultaAnalisis.ConsultaAnalisisEntidad  = GenerarConsultaAnalisisEntidad(consultaAnalisisDto.ConsultaAnalisisEntidad, consultaAnalisisDto.IdConsultaAnalisis);
                    consultaAnalisis.ConsultaAnalisisPeriodo  = GenerarConsultaAnalisisPeriodo(consultaAnalisisDto.ConsultaAnalisisPeriodo, consultaAnalisisDto.IdConsultaAnalisis);

                    ConsultaAnalisisRepository.Add(consultaAnalisis);
                    ConsultaAnalisisRepository.Commit();

                    resultado.InformacionExtra = consultaAnalisis.IdConsultaAnalisis;
                }

                resultado.Resultado = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
        public ResultadoOperacionDto ObtenerConsultaPorId(long idConsulta)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                resultado.InformacionExtra = ConsultaAnalisisRepository.GetById(idConsulta);
                resultado.Resultado        = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
        public ResultadoOperacionDto ObtenerConsultasPorNombre(string valorConsulta)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                resultado.InformacionExtra = ConsultaAnalisisRepository.ObtenerConsultasAnalisis(valorConsulta);
                resultado.Resultado        = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
        public ResultadoOperacionDto EliminarConsulta(long idConsulta)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var consultaAnalisis = ConsultaAnalisisRepository.GetById(idConsulta);

                if (consultaAnalisis.ConsultaAnalisisConcepto.Count > 0)
                {
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisConcepto.RemoveRange(consultaAnalisis.ConsultaAnalisisConcepto);
                }
                if (consultaAnalisis.ConsultaAnalisisEntidad.Count > 0)
                {
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisEntidad.RemoveRange(consultaAnalisis.ConsultaAnalisisEntidad);
                }


                if (consultaAnalisis.ConsultaAnalisisPeriodo.Count > 0)
                {
                    ConsultaAnalisisRepository.DbContext.ConsultaAnalisisPeriodo.RemoveRange(consultaAnalisis.ConsultaAnalisisPeriodo);
                }

                ConsultaAnalisisRepository.Delete(consultaAnalisis);

                ConsultaAnalisisRepository.DbContext.SaveChanges();

                ConsultaAnalisisRepository.Commit();
                resultado.Resultado = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }