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); }
/// <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); }