/// <summary> /// Obtiene los datos para el Reporte Venta Muerte /// </summary> /// <returns> </returns> internal ReporteVentaMuerteDatos GenerarReporteVentaMuerte(int organizacionID, DateTime fechaInicial, DateTime fechaFinal) { try { Logger.Info(); Dictionary <string, object> parameters = AuxReporteVentaMuerteDAL.ObtenerParametrosReporte( organizacionID, fechaInicial, fechaFinal); DataSet ds = Retrieve("ReporteVentaMuerte_Obtener", parameters); ReporteVentaMuerteDatos result = null; if (ValidateDataSet(ds)) { result = MapReporteVentaMuerteDAL.ObtenerDatosReporte(ds); } return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene los datos para el Reporte Venta Muerte /// </summary> /// <returns> </returns> public List <ReporteVentaMuerteInfo> GenerarReporteVentaMuerte(int organizacionID, DateTime fechaInicial, DateTime fechaFinal) { List <ReporteVentaMuerteInfo> lista = null; try { Logger.Info(); var reporteVentaMuerteDAL = new ReporteVentaMuerteDAL(); ReporteVentaMuerteDatos datosReporte = reporteVentaMuerteDAL.GenerarReporteVentaMuerte(organizacionID, fechaInicial, fechaFinal); if (datosReporte != null) { lista = GenerarReporte(datosReporte); } } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(lista); }
/// <summary> /// Genera los datos del reporte /// </summary> /// <param name="datosReporte"></param> /// <returns></returns> private List <ReporteVentaMuerteInfo> GenerarReporte(ReporteVentaMuerteDatos datosReporte) { var resultado = new List <ReporteVentaMuerteInfo>(); datosReporte.MovimientosEnfermeria.ForEach(animalEnfermo => { var reporteVentaMuerte = new ReporteVentaMuerteInfo { Arete = animalEnfermo.Arete, Causa = animalEnfermo.Causa, Enfermeria = animalEnfermo. Enfermeria, Sexo = animalEnfermo.Sexo, Fecha = animalEnfermo.Fecha.ToShortDateString(), Detector = animalEnfermo.Detector }; reporteVentaMuerte.CorralOrigen = datosReporte.MovimientosProduccion.Where( condicion => condicion.AnimalID == animalEnfermo.AnimalID). Select(corral => corral.CorralProduccion). FirstOrDefault(); reporteVentaMuerte.LugarGeneracion = reporteVentaMuerte.CorralOrigen; List <ReporteVentaMuerteTratamiento> tratamientos = datosReporte.Tratamientos.Where( condicion => condicion.AnimalID == animalEnfermo.AnimalID). Select( tratamiento => tratamiento) .ToList(); if (tratamientos.Any()) { AsignarTratamientos(tratamientos, reporteVentaMuerte); } ReporteVentaMuerteFolio folio = datosReporte.Folios.FirstOrDefault( condicion => condicion.AnimalID == animalEnfermo.AnimalID); if (folio != null) { reporteVentaMuerte.Partida = folio.FolioEntrada; reporteVentaMuerte.OrganizacionOrigen = folio.Organizacion; reporteVentaMuerte.DiasEngorda = folio.DiasEngorda; } resultado.Add(reporteVentaMuerte); }); return(resultado); }
/// <summary> /// Obtiene los datos del reporte /// </summary> /// <param name="ds"></param> /// <returns></returns> internal static ReporteVentaMuerteDatos ObtenerDatosReporte(DataSet ds) { ReporteVentaMuerteDatos resultado; try { Logger.Info(); DataTable dtMovimientosEnfermeria = ds.Tables[ConstantesDAL.DtMovimientosEnfermeria]; DataTable dtMovimientosProduccion = ds.Tables[ConstantesDAL.DtMovimientosProduccion]; DataTable dtMovimientosTratamientos = ds.Tables[ConstantesDAL.DtTratamientos]; DataTable dtFolios = ds.Tables[ConstantesDAL.DtFolios]; resultado = new ReporteVentaMuerteDatos { MovimientosEnfermeria = (from movs in dtMovimientosEnfermeria.AsEnumerable() select new ReporteVentaMuerteMovimientosEnfermeria { AnimalID = movs.Field <int>("AnimalID"), AnimalMovimientoID = movs.Field <long>("AnimalMovimientoID"), Arete = movs.Field <string>("Arete"), Causa = movs.Field <string>("Causa"), CorralEnfermeria = movs.Field <string>("CorralEnfermeria"), Detector = movs.Field <string>("Detector"), Enfermeria = movs.Field <string>("Enfermeria"), Fecha = movs.Field <DateTime>("Fecha"), Sexo = movs.Field <string>("Sexo") }).ToList(), MovimientosProduccion = (from movs in dtMovimientosProduccion.AsEnumerable() select new ReporteVentaMuerteMovimientosProduccion { AnimalID = movs.Field <int>("AnimalID"), AnimalMovimientoID = movs.Field <long>("AnimalMovimientoID"), CorralProduccion = movs.Field <string>("CorralProduccion"), Fecha = movs.Field <DateTime>("Fecha") }).ToList(), Folios = (from movs in dtFolios.AsEnumerable() select new ReporteVentaMuerteFolio { AnimalID = movs.Field <long>("AnimalID"), DiasEngorda = movs.Field <int>("DiasEngorda"), FolioEntrada = movs.Field <long>("FolioEntrada"), Organizacion = movs.Field <string>("Organizacion"), OrganizacionID = movs.Field <int>("OrganizacionID") }).ToList(), Tratamientos = (from movs in dtMovimientosTratamientos.AsEnumerable() select new ReporteVentaMuerteTratamiento { AnimalID = movs.Field <long>("AnimalID"), AnimalMovimientoID = movs.Field <long>("AnimalMovimientoID"), CodigoTratamiento = movs.Field <int>("CodigoTratamiento"), FechaMovimiento = movs.Field <DateTime>("FechaMovimiento"), Producto = movs.Field <string>("Producto") }).ToList() }; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }