private void GenerarRepartoAlimentoDetalle(List <GridRepartosModel> repartoDetalle, List <RepartoAlimentoDetalleInfo> listaRepartosAlimentoDetalle, int organizacionID, int repartoAlimentoID) { IList <RepartoAlimentoDetalleInfo> listaDetallesGuardadas = new List <RepartoAlimentoDetalleInfo>(); if (repartoAlimentoID > 0) { var repartoAlimentoDetalleDAL = new RepartoAlimentoDetalleDAL(); listaDetallesGuardadas = repartoAlimentoDetalleDAL.ObtenerPorRepartoAlimentoID(repartoAlimentoID); } var codigosCorral = new List <string>(); repartoDetalle.ForEach(rep => { codigosCorral.Add(rep.CorralInicio.Trim().PadLeft(3, '0')); codigosCorral.Add(rep.CorralFinal.Trim().PadLeft(3, '0')); }); var corralDAL = new CorralDAL(); List <CorralInfo> corrales = corralDAL.ObtenerCorralesPorCodigosCorral(codigosCorral, organizacionID); if (corrales == null) { return; } foreach (var detalle in repartoDetalle) { if (listaDetallesGuardadas != null && listaDetallesGuardadas.Any()) { RepartoAlimentoDetalleInfo detalleExiste = listaDetallesGuardadas.FirstOrDefault( deta => deta.FolioReparto == detalle.Reparto && deta.FormulaIDRacion == detalle.RacionFormula); if (detalleExiste != null) { continue; } } var repartoAlimentoDetalle = new RepartoAlimentoDetalleInfo(); repartoAlimentoDetalle.FolioReparto = detalle.Reparto; repartoAlimentoDetalle.FormulaIDRacion = detalle.RacionFormula; repartoAlimentoDetalle.Tolva = detalle.NumeroTolva.ToString(CultureInfo.InvariantCulture); repartoAlimentoDetalle.KilosEmbarcados = detalle.KilosEmbarcados; repartoAlimentoDetalle.KilosRepartidos = detalle.KilosRepartidos; repartoAlimentoDetalle.Sobrante = detalle.Sobrante; repartoAlimentoDetalle.PesoFinal = detalle.PesoFinal; CorralInfo corralInicio = corrales.FirstOrDefault( cor => cor.Codigo.ToUpper().Trim().Equals(detalle.CorralInicio.ToUpper().Trim().PadLeft(3, '0'))); if (corralInicio == null) { continue; } repartoAlimentoDetalle.CorralIDInicio = corralInicio.CorralID; CorralInfo corralFinal = corrales.FirstOrDefault( cor => cor.Codigo.ToUpper().Trim().Equals(detalle.CorralFinal.ToUpper().Trim().PadLeft(3, '0'))); if (corralFinal == null) { continue; } repartoAlimentoDetalle.CorralIDFinal = corralFinal.CorralID; repartoAlimentoDetalle.HoraRepartoInicio = detalle.HoraInicioReparto; repartoAlimentoDetalle.HoraRepartoFinal = detalle.HoraFinalReparto; repartoAlimentoDetalle.Observaciones = detalle.Observaciones; listaRepartosAlimentoDetalle.Add(repartoAlimentoDetalle); } }