3
respostas

Estou com esse erro que não consigo resolver.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CasaDoCodigo.Repositories;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

namespace CasaDoCodigo
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // Este metodo serve para adicionar serviços ex(sql server , serviço de log)
        public void ConfigureServices(IServiceCollection services)
        {
            var connectionStrings = Configuration.GetConnectionString("DefaultConnection");

            services.AddDbContext<ApliccationContext>(option =>
                option.UseSqlServer(connectionStrings)
            );

            services.AddMvc();
            services.AddTransient<IDataService, DataService>();
            services.AddTransient<IProdutoRepository, ProdutoRepository>();

        }

        // Este metodo é configuração de pipeline ou seja vamos ultilizar o serviço
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider)
        {
            if (env.IsDevelopment())
            {
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Pedido}/{action=Carrossel}/{id?}");
            });
            // Caso o banco de dados ainda não existe a chamada abaixo gera o banco indicado apenas para testes
            //serviceProvider.GetService<ApliccationContext>().Database.EnsureCreated();

            // Caso o banco de dados ainda não existe chamada indicada para continuar criando migrações em sistema
            serviceProvider.GetService<IDataService>().InicializaDB();

        }
    }
}
3 respostas

Olá Cleiton!

E qual seria o erro que está dando?

No aguardo :)

Erro mais a view An unhandled exception occurred while processing the request. RuntimeBinderException: 'System.Array' does not contain a definition for 'Take' CallSite.Target(Closure , CallSite , object , int )



insira seu código aqui

insira seu código aqui


```@Model List<Produto>;



    <h3>Catálogo</h3>

    @foreach (var produto in Model)
    {
        <div>@produto.Nome</div>
    }


    <div id="my-carousel" class="carousel slide" data-ride="carousel">
        <!-- Wrapper for slides -->
        <div class="carousel-inner" role="listbox">
            <div class="item active">
                <div class="row">
                    @{
                        var produtosDaPagina = Model.Take(4);
                    }

                    @foreach (var produto in produtosDaPagina)
                    {
                        <div class="col-md-3 col-sm-3 col-lg-3">
                            <div class="panel panel-default">
                                <div class="panel-body">
                                    <img class="img-produto-carrossel" src="/images/produtos/@(produto.Codigo).jpg" />
                                </div>
                                <div class="panel-footer produto-footer">
                                    <div class="produto-nome">@produto.Nome</div>
                                    <div><h4><strong>@produto.Preco</strong></h4></div>
                                    <div class="text-center">
                                        <a href="/" class="btn btn-success">Adicionar</a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    }
                </div>
            </div>
        </div>

        <!-- Controls -->
        <a class="left carousel-control" href="#my-carousel" role="button" data-slide="prev">
            <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
            <span class="sr-only">Previous</span>
        </a>
        <a class="right carousel-control" href="#my-carousel" role="button" data-slide="next">
            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
            <span class="sr-only">Next</span>
        </a>
    </div>

insira seu código aqui `

Olá!

A sua primeira linha de código desta View começa com @Model List<Produto>;

Pode ser este o problema. Para definir que esta View seja do tipo List<Produto>, deve ser escrito @model com letra minúscula.

Ou seja, declare no início da View como @model List<Produto>; e quando for usar, use apenas @Model.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software