/// <summary> /// Serializa os dados da entrada do estoque. /// </summary> /// <param name="writer"></param> /// <param name="entrada"></param> private static void Serializar(System.Xml.XmlWriter writer, IEntradaEstoqueChapa entrada) { writer.WriteStartAttribute("id"); writer.WriteValue(entrada.Id); writer.WriteEndAttribute(); writer.WriteStartAttribute("materialCode"); writer.WriteValue(entrada.CodigoMaterial); writer.WriteEndAttribute(); writer.WriteStartAttribute("position"); writer.WriteValue(entrada.Posicao); writer.WriteEndAttribute(); writer.WriteStartAttribute("quantity"); writer.WriteValue(entrada.Quantidade); writer.WriteEndAttribute(); writer.WriteStartAttribute("xDimension"); writer.WriteValue(entrada.Largura); writer.WriteEndAttribute(); writer.WriteStartAttribute("yDimension"); writer.WriteValue(entrada.Altura); writer.WriteEndAttribute(); writer.WriteStartAttribute("rack"); writer.WriteValue(entrada.Cavalete); writer.WriteEndAttribute(); writer.WriteStartAttribute("priority"); writer.WriteValue(entrada.Prioridade); writer.WriteEndAttribute(); writer.WriteStartAttribute("crosscutType"); writer.WriteValue(entrada.TipoCorte.ToString()); writer.WriteEndAttribute(); writer.WriteStartAttribute("isWaste"); writer.WriteValue(entrada.Retalho); writer.WriteEndAttribute(); }
/// <summary> /// Recupera a sessão de otimização associado com o identificador do arquivo de otimização. /// </summary> /// <param name="idArquivoOtimizacao">Identificador do arquivo base para a sessão de otimização.</param> /// <returns>Sessão de otimização associada com o arquivo.</returns> public ISessaoOtimizacao ObterSessaoOtimizacao(int idArquivoOtimizacao) { // Recupera os identificadores dos produtos associado com o arquivo de otimização var idsProd = SourceContext.Instance.CreateQuery() .From <Data.Model.EtiquetaArquivoOtimizacao>("eao") .InnerJoin <Data.Model.ProdutosPedidoEspelho>("eao.IdPedido=ppe.IdPedido", "ppe") .InnerJoin <Data.Model.ProdutoPedidoProducao>("ppe.IdProdPed=ppp.IdProdPed AND ppp.NumEtiqueta=eao.NumEtiqueta", "ppp") .SelectDistinct("ppe.IdProd") .Where("IdArquivoOtimiz=?id") .Add("?id", idArquivoOtimizacao) .Execute() .Select(f => f.GetInt32(0)) .ToList(); IEnumerable <IEntradaEstoqueChapa> entradasEstoqueChapa; if (Configuracoes.OtimizacaoConfig.TipoEstoqueChapas == Data.Helper.DataSources.TipoEstoqueChapasOtimizacaoEnum.Interno) { entradasEstoqueChapa = this.ObterEntradasEstoqueChapas(idsProd); } else { entradasEstoqueChapa = new IEntradaEstoqueChapa[0]; } var estoque = new EstoqueChapa(this.ObterMateriais(idsProd), entradasEstoqueChapa); return(new SessaoOtimizacao(estoque, new IPecaPadrao[0])); }