public static FiltroGenerarArchivoDataLink GenerarRepartos(FiltroCheckListReparto filtro) { try { var repartoAlimentoBL = new RepartoAlimentoBL(); var seguridad = (SeguridadInfo)ObtenerSeguridad(); filtro.OperadorID = seguridad.Usuario.Operador.OperadorID; filtro.OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID; FiltroGenerarArchivoDataLink repartos = repartoAlimentoBL.GenerarRepartos(filtro); return(repartos); } catch (Exception ex) { Logger.Error(ex); throw; } }
public FiltroGenerarArchivoDataLink GenerarRepartos(FiltroCheckListReparto filtro) { var repartos = new List <GridRepartosModel>(); var respuesta = new FiltroGenerarArchivoDataLink(); try { Logger.Info(); var parametroOrganizacionDAL = new ParametroOrganizacionDAL(); ParametroOrganizacionInfo parametroRutaArchivo = parametroOrganizacionDAL.ObtenerPorOrganizacionIDClaveParametro(filtro.OrganizacionID, ParametrosEnum.rutaArchivoDatalink. ToString()); ParametroOrganizacionInfo parametroNombreArchivo = parametroOrganizacionDAL.ObtenerPorOrganizacionIDClaveParametro(filtro.OrganizacionID, ParametrosEnum.nombreArchivoDatalink. ToString()); if (parametroRutaArchivo == null) { respuesta.Mensaje = string.Format(ConstantesBL.MensajeSinParametro, ParametrosEnum.rutaArchivoDatalink. ToString()); return(respuesta); } if (parametroNombreArchivo == null) { respuesta.Mensaje = string.Format(ConstantesBL.MensajeSinParametro, ParametrosEnum.nombreArchivoDatalink. ToString()); return(respuesta); } string archivoDataLink = string.Format("{0}{1}", parametroRutaArchivo.Valor, parametroNombreArchivo.Valor); if (File.Exists(archivoDataLink)) { string[] valoresArchivo; using (var sr = new StreamReader(archivoDataLink)) { valoresArchivo = sr.ReadToEnd().Split('\n'); } var datosDataLink = (from s in valoresArchivo where !string.IsNullOrWhiteSpace(s) select CargarDatosArchivo(s)).ToList(); GenerarValoresGridReparto(repartos, datosDataLink, filtro); if (!repartos.Any()) { respuesta.Mensaje = ConstantesBL.MensajeSinDatosDataLink; } else { respuesta.DatosDataLink = repartos; respuesta.TotalKilosEmbarcados = repartos.Sum(rep => rep.KilosEmbarcados); respuesta.TotalKilosRepartidos = repartos.Sum(rep => rep.KilosRepartidos); respuesta.TotalSobrante = respuesta.TotalKilosEmbarcados - respuesta.TotalKilosRepartidos; respuesta.TotalTiempoViaje = ObtenerTiempoTotalSuma(repartos); respuesta.MermaReparto = ObtenerMermaReparto(repartos); //respuesta.DatosDataLink.ToList().ForEach(deta => //{ // deta.TiempoTotalViaje = ObtenerTiempoTotalViajeConsulta(filtro.Fecha, deta); //}); } } else { respuesta.Mensaje = ConstantesBL.MensajeArchivoNoExiste; } } catch (ExcepcionGenerica ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(respuesta); }