//Validamos las medidas de las entradas respecto a la salida
        public void ValidarEntradas(DivisionLotesModel model)
        {
            //Obtenemos los valores de las salidas inicialmente
            var largoSalida    = model.LineasSalida.First().Largo;
            var anchoSalida    = model.LineasSalida.First().Ancho;
            var gruesoSalida   = model.LineasSalida.First().Grueso;
            var cantidadSalida = model.LineasSalida.First().Cantidad;
            var metrosSalida   = model.LineasSalida.First().Metros;

            bool largoModificado    = false;
            bool anchoModificado    = false;
            bool gruesoModificado   = false;
            bool cantidadModificada = false;

            foreach (var entrada in model.LineasEntrada)
            {
                if (entrada.Largo != largoSalida)
                {
                    largoModificado = true;
                }

                if (entrada.Ancho != anchoSalida)
                {
                    anchoModificado = true;
                }

                if (entrada.Grueso != gruesoSalida)
                {
                    gruesoModificado = true;
                }

                if (entrada.Cantidad != cantidadSalida)
                {
                    cantidadModificada = true;
                }
            }

            if (!largoModificado && !anchoModificado && !gruesoModificado)
            {
                if (!cantidadModificada)
                {
                    throw new ValidationException("No se han modificado las entradas");
                }

                if (cantidadModificada && (cantidadSalida != model.LineasEntrada.Sum(a => a.Cantidad.Value)))
                {
                    throw new ValidationException("La cantidad de las entradas no corresponde con la cantidad de la salida");
                }
            }

            //Si modificamos el largo, ancho y grueso y ademas los metros cuadrado
            if (largoModificado || anchoModificado || gruesoModificado)
            {
                //La suma de los metros cuadrados (tabla) o cubicos (bloque) de las entradas no pueden ser superior a los de la salida
                if (model.LineasEntrada.Sum(a => a.Metros.Value) > metrosSalida)
                {
                    throw new ValidationException("Los metros de las entradas son superiores a la salida");
                }
            }
        }
 //Solo se permite 1 salida
 public void ValidarSalidas(DivisionLotesModel model)
 {
     if (model.LineasSalida.Count > 1)
     {
         model.LineasSalida.Clear();
         model.LineasEntrada.Clear();
         throw new ValidationException("Sólo se puede generar división de lotes para una salida");
     }
 }