// TODO: Pesquisar por frameworks de injeção de dependências: Castle.Windsor, Funq, StructureMap public ProdutoController() { ProdutoRepository produtoRepository = new ProdutoRepository(NHIbernateBootstrap.Factory); _catalogoService = new CatalogoService(produtoRepository); }
public Answer GetInfoApp(string territory, string password) { var territorio = GetTerritorio(territory, password); var usuario = GetUsuarioByTerritorioSimulado(territory, password); var linha = GetLinhaByTerritorioSimulado(territory, password); if (territorio == null && linha == null && usuario == null) return new Answer(Answer.EnumStatus.ErroLogin, "Login e/ou senha inválido(s)"); AppDownloadRepository appDownloadRepository = new AppDownloadRepository(); AppDownload appDownload = null; if (territorio != null) { appDownload = appDownloadRepository.GetAppDownloads().Where(a => a.IdProdutoLinha == territorio.ProdutoLinha.Id && a.Tipo == (char)AppDownload.EnumTipo.Ipad).FirstOrDefault(); } else if (linha != null) { appDownload = appDownloadRepository.GetAppDownloads().Where(a => a.IdProdutoLinha == linha.Id && a.Tipo == (char)AppDownload.EnumTipo.Ipad).FirstOrDefault(); } else if (usuario != null) { //pega o app padrao appDownload = appDownloadRepository.GetAppDownloads().Where(a => a.IdProdutoLinha == null && a.Tipo == (char)AppDownload.EnumTipo.Ipad).FirstOrDefault(); } if(appDownload == null) return new Answer(Answer.EnumStatus.Erro, "Não há versão para a linha do território."); ProdutoRepository produtoRepository = new ProdutoRepository(); String UrlProduto = string.Empty; if(produtoRepository.GetProdutosSemVerificacaoUsuario().Any(p => p.TemImagem)){ UrlProduto = Util.Sistema.AppSettings.UrlDownloadBaseProdutosImagens + territory + "/" + Util.Sistema.GetTokenTerritorio(territory); } AppInfo appInfo = new AppInfo(); appInfo.Version = appDownload.Versao; appInfo.Download = "itms-services://?action=download-manifest&url=" + appDownload.Url; appInfo.UrlDownloadProductImages = UrlProduto; List<ProductImage> productImages = new List<ProductImage>(); foreach (var produto in produtoRepository.GetProdutosSemVerificacaoUsuario().Where(p => p.TemImagem)) { ProductImage productImage = new ProductImage(); productImage.ProductId = produto.Id.ToString(); productImage.Url = produto.GetCaminhoImagemThumb(); productImages.Add(productImage); } appInfo.ProductImages = productImages; return new Answer(Answer.EnumStatus.Ok, string.Empty, appInfo); }