示例#1
0
        /// <summary>
        /// Inicia uma nova instância da classe <see cref="ConverterCadastroAtualizacaoParaFabricanteFerragem"/>.
        /// </summary>
        /// <param name="cadastro">O DTO de cadastro, enviado para o endpoint.</param>
        /// <param name="atual">O fabricante de ferragem atual (opcional), para que sejam aproveitados os valores, se necessário.</param>
        public ConverterCadastroAtualizacaoParaFabricanteFerragem(
            CadastroAtualizacaoDto cadastro,
            FabricanteFerragem atual = null)
        {
            this.cadastro           = cadastro;
            this.fabricanteFerragem = new Lazy <FabricanteFerragem>(() =>
            {
                var destino = atual ?? new FabricanteFerragem();
                this.ConverterDtoParaModelo(destino);

                return(destino);
            });
        }
示例#2
0
                /// <summary>
                /// Construtor de inicialização.
                /// </summary>
                public Item(int idFerragem)
                {
                    #region Recuperação da ferragem

                    // Recupera o fluxo de ferragem.
                    var ferragemFluxo = Microsoft.Practices.ServiceLocation.ServiceLocator.Current.GetInstance <IFerragemFluxo>();
                    // Recupera a ferragem informada por parâmetro.
                    var ferragem = ferragemFluxo.ObterFerragem(idFerragem);

                    // Não prossegue caso a ferragem não seja recuperada.
                    if (ferragem == null || ferragem.IdFerragem <= 0)
                    {
                        throw new Exception(string.Format("Não foi possível recuperar a ferragem para a exportação. ID da ferragem: {0}.", idFerragem));
                    }

                    #endregion

                    #region Declaração de variáveis

                    // Caminho da imagem da ferragem no servidor.
                    var caminhoImagemFerragem = string.Empty;
                    // Caminho do CalcPackage da ferragem.
                    var caminhoCalcPackage = string.Empty;

                    #endregion

                    #region Inicialização das propriedades

                    // A exportação envia a model de ferragem, portanto, recupera os dados da model, através da entidade de ferragem.
                    Ferragem = ferragem.DataModel;
                    // Códigos da ferragem.
                    CodigosFerragem = new List <CodigoFerragem>();
                    // Constantes da ferragem.
                    ConstantesFerragem = new List <ConstanteFerragem>();
                    // Fabricante da ferragem.
                    FabricanteFerragem = new FabricanteFerragem();

                    #endregion

                    #region Recupera os dados

                    // Verifica se a ferragem possui Códigos, se sim, os adiciona na propriedade de exportação de Códigos de ferragem.
                    if (ferragem.Codigos != null && ferragem.Codigos.Count > 0)
                    {
                        CodigosFerragem.AddRange(ferragem.Codigos.Select(f => f.DataModel).ToList());
                    }

                    // Verifica se a ferragem possui Constantes, se sim, os adiciona na propriedade de exportação de Constantes de ferragem.
                    if (ferragem.Constantes != null && ferragem.Constantes.Count > 0)
                    {
                        ConstantesFerragem.AddRange(ferragem.Constantes.Select(f => f.DataModel).ToList());
                    }

                    // Verifica se a ferragem possui Fabricante, se sim, o adiciona na propriedade de exportação de Fabricante de ferragem.
                    if (ferragem.Fabricante != null && ferragem.Fabricante.IdFabricanteFerragem > 0)
                    {
                        FabricanteFerragem = ferragem.Fabricante.DataModel;
                    }

                    // Recupera a imagem da ferragem, para exportá-la.
                    if (FerragemRepositorioImagens.Instance.PossuiImagem(ferragem.IdFerragem))
                    {
                        caminhoImagemFerragem = FerragemRepositorioImagens.Instance.ObterCaminho(ferragem.IdFerragem);

                        // Verifica se a imagem da ferragem existe.
                        if (File.Exists(caminhoImagemFerragem))
                        {
                            ImagemFerragem = Data.Helper.Utils.GetImageFromFile(caminhoImagemFerragem);
                        }
                    }

                    // Recupera o arquivo CalcPackage, para exportá-lo.
                    if (FerragemRepositorioCalcPackage.Instance.PossuiCalcPackage(ferragem.IdFerragem))
                    {
                        caminhoCalcPackage = FerragemRepositorioCalcPackage.Instance.ObterCaminho(ferragem.IdFerragem);

                        // Verifica se o arquivo CalcPackage existe.
                        if (File.Exists(caminhoCalcPackage))
                        {
                            using (FileStream f = File.OpenRead(caminhoCalcPackage))
                            {
                                ArquivoCalcPackage = new byte[f.Length];
                                // Salva os dados do CalcPackage da ferragem na propriedade de exportação do arquivo CalcPackage.
                                f.Read(ArquivoCalcPackage, 0, ArquivoCalcPackage.Length);
                                f.Flush();
                            }
                        }
                    }

                    #endregion
                }
示例#3
0
 private void ConverterDtoParaModelo(FabricanteFerragem destino)
 {
     destino.Nome  = this.cadastro.ObterValorNormalizado(c => c.Nome, destino.Nome);
     destino.Sitio = this.cadastro.ObterValorNormalizado(c => c.Site, destino.Sitio);
 }