public bool Ejecutar(GastoModel param) { using (AplicacionesEntities db = new AplicacionesEntities()) { var e = CrearEtiquetas(param.Etiquetas, db); if (param.Fecha == null) { param.Fecha = DateTime.UtcNow; } var aux = new Data.Gastos { Descorta = param.Descorta, Fecha = param.Fecha.Value, Importe = float.Parse(param.Importe.Replace('.', ',')), IdEtiqueta = e.IdEtiqueta }; db.Gastos.Add(aux); db.SaveChanges(); return(true); } }
/* public static List<Resumen> getResumen(edificio edificio, DateTime periodo) { try { admEntities db = Datos.getDB(); return db.Database.SqlQuery<Resumen> ( @"select gg.nombre 'Grupo', tg.descripcion 'Descripcion', sum(importe) 'Importe' from factura f join tipo_gasto tg on f.id_tipogasto = tg.idtipo_gasto join grupo_gastos gg on tg.grupo_gastos = gg.idgrupo_gastos where year(f.fecha) = " + periodo.Year + @" and f.dir_edificio = '" + edificio.direccion + @"' group by gg.nombre, f.id_tipogasto" ) .ToList(); } catch (Exception e) { Logger.Log.write(e.InnerException == null ? e.Message : e.InnerException.Message); throw e; } } */ public static List<Grupo> getResumen(edificio edificio, DateTime fechaDesde, DateTime fechaHasta) { try { admEntities db = Datos.getDB(); string query = @"select gg.nombre Grupo, tg.descripcion Descripcion, sum(f.importe) Importe from factura f join tipo_gasto tg on f.id_tipogasto = tg.idtipo_gasto join grupo_gastos gg on tg.grupo_gastos = gg.idgrupo_gastos where f.fecha BETWEEN '" + getFechaForGetResumen(fechaDesde, false) + @"' AND '" + getFechaForGetResumen(fechaHasta, true) + @"' and f.dir_edificio = '" + edificio.direccion + @"' group by tg.idtipo_gasto"; var resumen = db.Database.SqlQuery<Resumen>(query).OrderBy(x => x.Grupo).ToList(); List<Grupo> grupos = new List<Grupo>(); Grupo grupo = new Grupo(); foreach (var r in resumen) { Gastos gasto = new Gastos(); gasto.Descripcion = r.Descripcion; gasto.Importe = r.Importe; var g = grupos.Where(x => x.Nombre == r.Grupo).SingleOrDefault(); if (g == null) { grupo = new Grupo(); grupo.Nombre = r.Grupo; grupo.Gastos = new List<Gastos>(); grupo.Gastos.Add(gasto); grupos.Add(grupo); } else grupos.Where(x => x.Nombre == r.Grupo).SingleOrDefault().Gastos.Add(gasto); } return grupos; } catch (Exception e) { Logger.Log.write(e.InnerException == null ? e.Message : e.InnerException.Message); throw e; } }