using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Kendo.Mvc.UI;

namespace ErrorChart.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult GetIndex([DataSourceRequest]DataSourceRequest request, int anoMesInicio, int anoMesFim, string id)
        {
            var lista = new List<RelatorioDeDistribuicaoViewModel>();

            #region Data

            lista.AddRange(new List<RelatorioDeDistribuicaoViewModel>{
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#1E5C85",
                    AnoMes = 201301,
                    Descricao = "Feminino",
                    Valor = 22222.00M,
                    Grupo = 1,
                    Ordem = 1
                },
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#007D40",
                    AnoMes = 201301,
                    Descricao = "Masculino",
                    Valor = 15634.00M,
                    Grupo = 1,
                    Ordem = 2
                },
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#1E5C85",
                    AnoMes = 201302,
                    Descricao = "Feminino",
                    Valor = 22071.00M,
                    Grupo = 1,
                    Ordem = 1
                },
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#007D40",
                    AnoMes = 201302,
                    Descricao = "Masculino",
                    Valor = 15380.00M,
                    Grupo = 1,
                    Ordem = 2
                },
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#1E5C85",
                    AnoMes = 201303,
                    Descricao = "Feminino",
                    Valor = 26577.00M,
                    Grupo = 1,
                    Ordem = 1
                },
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#007D40",
                    AnoMes = 201303,
                    Descricao = "Masculino",
                    Valor = 18680.00M,
                    Grupo = 1,
                    Ordem = 2
                },
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#1E5C85",
                    AnoMes = 201304,
                    Descricao = "Feminino",
                    Valor = 25576.00M,
                    Grupo = 1,
                    Ordem = 1
                },
                new RelatorioDeDistribuicaoViewModel
                {
                    RelatorioId = 3,
                    EntidadeId = 6,
                    PlanoId = 1,
                    PatrocinadoraId = 3,
                    Cor = "#007D40",
                    AnoMes = 201304,
                    Descricao = "Masculino",
                    Valor = 19671.00M,
                    Grupo = 1,
                    Ordem = 2
                }
            });

            #endregion

            var resultado = lista.Where(x => x.AnoMes == anoMesInicio || x.AnoMes == anoMesInicio - 1).ToList();

            return Json(resultado, JsonRequestBehavior.AllowGet);
        }
    }

    public class RelatorioDeDistribuicaoViewModel
    {
        public int RelatorioId { get; set; }
        public int EntidadeId { get; set; }
        public string EntidadeNome { get; set; }

        public int PlanoId { get; set; }
        public string PlanoNome { get; set; }

        public int PatrocinadoraId { get; set; }
        public string PatrocinadoraNome { get; set; }

        public string Cor { get; set; }
        public string Titulo { get; set; }
        public string Categoria { get; set; }
        public string Descricao { get; set; }
        public string TextoOriginal { get; set; }
        public decimal Valor { get; set; }
        public int Grupo { get; set; }
        public byte Ordem { get; set; }
        public int AnoMes { get; set; }
        public int Ano { get; set; }
        public int Mes { get; set; }
    }

    public struct Constantes
    {
        public const string Tabela = "Tabela";
        public const string Grafico = "Grafico";
    }
}
