コード例 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            BaixaMes baixaMes = db.BaixaMeses.Find(id);

            db.BaixaMeses.Remove(baixaMes);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #2
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaixaMes baixaMes = db.BaixaMeses.Include(b => b.Cliente).Include(b => b.Empresa).First(b => b.BaixaMesId == id);

            if (baixaMes == null)
            {
                return(HttpNotFound());
            }
            return(View(baixaMes));
        }
コード例 #3
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaixaMes baixaMes = db.BaixaMeses.Find(id);

            if (baixaMes == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ClienteId = new SelectList((from cliente in db.Clientes.ToList()
                                                select new
            {
                ClienteId = cliente.ClienteId,
                Descricao = cliente.Empresa == null || cliente.Empresa == "" ? cliente.NomeCliente : cliente.NomeCliente + " / " + cliente.Empresa
            }), "ClienteId", "Descricao", baixaMes.ClienteId);
            ViewBag.EmpresaId = new SelectList(db.Empresas, "EmpresaId", "NomeEmpresa", baixaMes.EmpresaId);
            return(View(baixaMes));
        }
コード例 #4
0
        public ActionResult Extrato([Bind(Include = "DataMesReferenciaInicial,DataMesReferenciaFinal, ClienteId, EmpresaId, FlagCliente")] BaixaMes baixaMesPost)
        {
            dynamic dadosExtrato = new List <Extrato>();

            if (baixaMesPost.FlagCliente)
            {
                //ANULANDO EmpresaId POIS A BUSCA EH POR CLIENTE
                baixaMesPost.EmpresaId = null;

                //SQL SERVER
                //SELECT
                //    consumoComanda.ClienteId,
                //    DATENAME(mm, consumoComanda.DataConsumo) + '/' + DATENAME(yyyy, consumoComanda.DataConsumo) as DataMesReferencia,
                //    SUM(consumoComanda.ValorConsumo) as ValorGasto,
                //    baixaMes.ValorMes as ValorPago
                //FROM ConsumoComanda consumoComanda
                //JOIN BaixaMes baixaMes on baixaMes.ClienteId = consumoComanda.ClienteId AND DATENAME(mm, consumoComanda.DataConsumo) = DATENAME(mm, baixaMes.DataMesReferencia) AND DATENAME(yyyy, consumoComanda.DataConsumo) = DATENAME(yyyy, baixaMes.DataMesReferencia)
                //GROUP BY consumoComanda.ClienteId, baixaMes.ValorMes, (DATENAME(mm, consumoComanda.DataConsumo) + '/' + DATENAME(yyyy, consumoComanda.DataConsumo))

                //INSTRUCOES LINQ TO OBJECT
                // var extrato = db.ConsumoComandas
                // //GroupJoin pesquisar linq left join Using lambda expression
                // .Join(
                //     db.BaixaMeses,
                //     consumoComanda => new { consumoComanda.ClienteId, consumoComanda.DataConsumo.Month, consumoComanda.DataConsumo.Year },
                //     baixaMes => new { baixaMes.ClienteId, baixaMes.DataMesReferencia.Month, baixaMes.DataMesReferencia.Year },
                //     (consumoComanda, baixaMes) => new {
                //         consumoComanda.ClienteId,
                //         consumoComanda.DataConsumo,
                //         consumoComanda.ValorConsumo,
                //         baixaMes.ValorMes,
                //         baixaMes.DataMesReferencia
                //     }
                // )
                ////.SelectMany(
                ////   pe => pe.baixaMes.DefaultIfEmpty(),
                ////   (pe, pe2) =>
                ////      new
                ////      {
                ////          i = pe.consumoComanda,
                ////          p = pe2
                ////      }
                ////)
                // .Where(pe => pe.ClienteId == baixaMesPost.ClienteId)
                // //BETWEEN COM DataConsumo ENTRE O DataMesReferenciaInicial E O DataMesReferenciaFinal COM O
                // .Where(pe => pe.DataConsumo.Month >= baixaMesPost.DataMesReferenciaInicial.Month && pe.DataConsumo.Month <= baixaMesPost.DataMesReferenciaFinal.Month)
                // .Where(pe => pe.DataConsumo.Year >= baixaMesPost.DataMesReferenciaInicial.Year && pe.DataConsumo.Year <= baixaMesPost.DataMesReferenciaFinal.Year)
                // .GroupBy(pe => new
                // {
                //     ClienteId = pe.ClienteId,
                //     MesAnoConsumo = pe.DataConsumo.Month + "/" + pe.DataConsumo.Year,
                //     ValorMes = pe.ValorMes
                // })
                // .OrderByDescending(pe => pe.Key.MesAnoConsumo)
                // .Select(pe => new
                // {
                //     pe.Key.ClienteId,
                //     DataMesReferencia = pe.Key.MesAnoConsumo,
                //     ValorGasto = pe.Sum(x => x.ValorConsumo),
                //     ValorPago = pe.Key.ValorMes
                // });


                //INSTRUCOES LINQ TO SQL
                var extrato =
                    from consumoComanda in db.ConsumoComandas
                    join baixaMes in db.BaixaMeses on new
                {
                    ClienteId = consumoComanda.ClienteId,
                    mes       = consumoComanda.DataConsumo.Month,
                    ano       = consumoComanda.DataConsumo.Year,
                } equals
                new
                {
                    ClienteId = baixaMes.ClienteId,
                    mes       = baixaMes.DataMesReferencia.Month,
                    ano       = baixaMes.DataMesReferencia.Year,
                } into leftJoinBaixaMes
                from leftJoinBM in leftJoinBaixaMes.DefaultIfEmpty()
                where consumoComanda.ClienteId == baixaMesPost.ClienteId
                where consumoComanda.DataConsumo.Month >= baixaMesPost.DataMesReferenciaInicial.Month
                where consumoComanda.DataConsumo.Month <= baixaMesPost.DataMesReferenciaFinal.Month
                where consumoComanda.DataConsumo.Year >= baixaMesPost.DataMesReferenciaInicial.Year
                where consumoComanda.DataConsumo.Year <= baixaMesPost.DataMesReferenciaFinal.Year
                let dtConsumo = consumoComanda.DataConsumo
                                let dtMesReferencia = leftJoinBM.DataMesReferencia
                                                      group consumoComanda by new
                {
                    ClienteId     = consumoComanda.ClienteId,
                    MesAnoConsumo = dtConsumo.Month + "/" + dtConsumo.Year,
                    ValorMes      = (leftJoinBM == null ? 0m : leftJoinBM.ValorMes)
                } into g
                orderby g.Key.MesAnoConsumo descending
                    select new
                {
                    ClienteId         = g.Key.ClienteId,
                    DataMesReferencia = g.Key.MesAnoConsumo,
                    ValorGasto        = g.Sum(x => x.ValorConsumo),
                    ValorPago         = g.Key.ValorMes
                };

                extrato.ToList().ForEach(x =>
                {
                    Extrato e           = new Extrato();
                    e.ClienteId         = x.ClienteId;
                    e.Cliente           = db.Clientes.Find(x.ClienteId);
                    e.DataMesReferencia = Convert.ToDateTime("1/" + x.DataMesReferencia);
                    e.ValorGasto        = x.ValorGasto;
                    e.ValorPago         = x.ValorPago;
                    dadosExtrato.Add(e);
                });
            }
            else
            {
                //ANULANDO ClienteId POIS A BUSCA EH POR EMPRESA
                baixaMesPost.ClienteId = null;

                //INSTRUCOES LINQ TO OBJECT
                //var extrato = db.ConsumoComandas
                ////JOIN COM BaixaMeses
                //.Join(
                //    db.BaixaMeses,
                //    consumoComanda => new { consumoComanda.EmpresaId, consumoComanda.DataConsumo.Month, consumoComanda.DataConsumo.Year },
                //    baixaMes => new { baixaMes.EmpresaId, baixaMes.DataMesReferencia.Month, baixaMes.DataMesReferencia.Year },
                //    (consumoComanda, baixaMes) => new { consumoComanda, baixaMes }
                //)
                //.Where(x => x.consumoComanda.EmpresaId == baixaMesPost.EmpresaId)
                ////BETWEEN COM DataConsumo ENTRE O DataMesReferenciaInicial E O DataMesReferenciaFinal COM O
                //.Where(x => x.consumoComanda.DataConsumo.Month >= baixaMesPost.DataMesReferenciaInicial.Month)
                //.Where(x => x.consumoComanda.DataConsumo.Month <= baixaMesPost.DataMesReferenciaFinal.Month)
                //.Where(x => x.consumoComanda.DataConsumo.Year >= baixaMesPost.DataMesReferenciaInicial.Year)
                //.Where(x => x.consumoComanda.DataConsumo.Year <= baixaMesPost.DataMesReferenciaFinal.Year)
                //.GroupBy(x => new
                //{
                //    EmpresaId = x.consumoComanda.EmpresaId,
                //    //GROUPBY DO MESANO
                //    MesAnoConsumo = x.consumoComanda.DataConsumo.Month + "/" + x.consumoComanda.DataConsumo.Year,
                //    ValorMes = x.baixaMes.ValorMes
                //})
                //.OrderByDescending(x => x.Key.MesAnoConsumo)
                //.Select(x => new
                //{
                //    x.Key.EmpresaId,
                //    DataMesReferencia = x.Key.MesAnoConsumo,
                //    ValorGasto = x.Sum(y => y.consumoComanda.ValorConsumo),
                //    ValorPago = x.Key.ValorMes
                //});

                //INSTRUCOES LINQ TO SQL
                var extrato =
                    from consumoComanda in db.ConsumoComandas
                    join baixaMes in db.BaixaMeses on new
                {
                    EmpresaId = consumoComanda.EmpresaId,
                    mes       = consumoComanda.DataConsumo.Month,
                    ano       = consumoComanda.DataConsumo.Year,
                } equals
                new
                {
                    EmpresaId = baixaMes.EmpresaId,
                    mes       = baixaMes.DataMesReferencia.Month,
                    ano       = baixaMes.DataMesReferencia.Year,
                } into leftJoinBaixaMes
                from leftJoinBM in leftJoinBaixaMes.DefaultIfEmpty()
                where consumoComanda.EmpresaId == baixaMesPost.EmpresaId
                where consumoComanda.DataConsumo.Month >= baixaMesPost.DataMesReferenciaInicial.Month
                where consumoComanda.DataConsumo.Month <= baixaMesPost.DataMesReferenciaFinal.Month
                where consumoComanda.DataConsumo.Year >= baixaMesPost.DataMesReferenciaInicial.Year
                where consumoComanda.DataConsumo.Year <= baixaMesPost.DataMesReferenciaFinal.Year
                let dtConsumo = consumoComanda.DataConsumo
                                let dtMesReferencia = leftJoinBM.DataMesReferencia
                                                      group consumoComanda by new
                {
                    EmpresaId     = consumoComanda.EmpresaId,
                    MesAnoConsumo = dtConsumo.Month + "/" + dtConsumo.Year,
                    ValorMes      = (leftJoinBM == null ? 0m : leftJoinBM.ValorMes)
                } into g
                orderby g.Key.MesAnoConsumo descending
                    select new
                {
                    EmpresaId         = g.Key.EmpresaId,
                    DataMesReferencia = g.Key.MesAnoConsumo,
                    ValorGasto        = g.Sum(x => x.ValorConsumo),
                    ValorPago         = g.Key.ValorMes
                };

                extrato.ToList().ForEach(x => {
                    Extrato e           = new Extrato();
                    e.EmpresaId         = x.EmpresaId;
                    e.Empresa           = db.Empresas.Find(x.EmpresaId);
                    e.DataMesReferencia = Convert.ToDateTime("1/" + x.DataMesReferencia);
                    e.ValorGasto        = x.ValorGasto;
                    e.ValorPago         = x.ValorPago;
                    dadosExtrato.Add(e);
                });
            }

            ViewBag.extrato = dadosExtrato;

            ViewBag.ClienteId = new SelectList((from cliente in db.Clientes.ToList()
                                                select new
            {
                ClienteId = cliente.ClienteId,
                Descricao = cliente.Empresa == null || cliente.Empresa == "" ? cliente.NomeCliente : cliente.NomeCliente + " / " + cliente.Empresa
            }), "ClienteId", "Descricao", baixaMesPost.ClienteId);
            ViewBag.EmpresaId = new SelectList(db.Empresas, "EmpresaId", "NomeEmpresa", baixaMesPost.EmpresaId);
            return(View(baixaMesPost));
        }