public List <ValorPorComodo> ObterValoresPorComodoEItens(List <Item> itens, Comodo comodo) { var retorno = new List <ValorPorComodo>(); foreach (var item in itens) { var valorPorComodo = new ValorPorComodo(); valorPorComodo.EfetuarCalculo(item, comodo); retorno.Add(valorPorComodo); } return(retorno); }
public string ObterTextoRecortes(string padrao, Posicao posicao, ValorPorComodo valorComodo, bool porMilimetros, TipoCalculo tipoCalculo) { var retorno = padrao; var recortes = new List <Recorte>(); recortes.AddRange(valorComodo.Recortes.Where(x => x.Posicao == posicao)); if (recortes.Count == 0) { return(""); } var recortesPrincipal = recortes.Where(x => x.TipoRecorte == TipoRecorte.CortePrincipal).ToList(); var recortesComplementares = recortes.Where(x => x.TipoRecorte == TipoRecorte.CorteComplementar).ToList(); if (tipoCalculo == TipoCalculo.SentidoUnico) { if (recortesComplementares.Count > 0 && recortesPrincipal.Count > 0) { recortesPrincipal.Add(recortesPrincipal.FirstOrDefault()); } recortesComplementares = new List <Recorte>(); } if (recortesPrincipal.Count > 0) { var recortePrincipal = recortesPrincipal.FirstOrDefault(); retorno += recortesPrincipal.Count + " peças: " + (porMilimetros ? recortePrincipal.TamanhoX : recortePrincipal.TamanhoX / 1000) + "x" + (porMilimetros ? recortePrincipal.TamanhoY : recortePrincipal.TamanhoY / 1000); if (recortesComplementares.Count > 0) { var recorteComplementar = recortesComplementares.FirstOrDefault(); retorno += " + complementar: " + (porMilimetros ? recorteComplementar.TamanhoX : recorteComplementar.TamanhoX / 1000) + "x" + (porMilimetros ? recorteComplementar.TamanhoY : recorteComplementar.TamanhoY / 1000); } } else if (recortesComplementares.Count > 0) { var recorteComplementar = recortesComplementares.FirstOrDefault(); retorno += recortesComplementares.Count + " peças: " + (porMilimetros ? recorteComplementar.TamanhoX : recorteComplementar.TamanhoX / 1000) + "x" + (porMilimetros ? recorteComplementar.TamanhoY : recorteComplementar.TamanhoY / 1000); } return(retorno); }