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);
        }
示例#2
0
        /// <summary>
        /// Copia el elemento evitando las referencias a objetos que proboquen redundancia ciclica cuando se serializan a JSON.
        /// </summary>
        /// <param name="o">Elemento a copiar.</param>
        /// <returns>Copia del elemento.</returns>
        public ConsultaAnalisisDto Copia(ConsultaAnalisis o)
        {
            if (o == null)
            {
                return(null);
            }
            var consultaAnalisisDto = new ConsultaAnalisisDto()
            {
                IdConsultaAnalisis = o.IdConsultaAnalisis,
                Nombre             = o.Nombre,
            };

            consultaAnalisisDto.ConsultaAnalisisConcepto = Copia(o.ConsultaAnalisisConcepto);
            consultaAnalisisDto.ConsultaAnalisisEntidad  = Copia(o.ConsultaAnalisisEntidad);
            consultaAnalisisDto.ConsultaAnalisisPeriodo  = Copia(o.ConsultaAnalisisPeriodo);

            return(consultaAnalisisDto);
        }