public static DALResponse<Gasto> Obtener(RepositoryProxy proxy, ObtenerGastos gasto,Pager paginador) { long? totalCount=null; var visitor = ReadExtensions.CreateExpression<Gasto>(); var predicate = PredicateBuilder.True<Gasto>(); if(gasto.FechaDesde.HasValue){ if(!gasto.FechaHasta.HasValue) gasto.FechaHasta=gasto.FechaDesde; predicate= q=>q.Fecha>=gasto.FechaDesde.Value && q.Fecha<=gasto.FechaHasta; } visitor.Where(predicate); if(paginador.PageNumber.HasValue) { totalCount= proxy.DbCmd.Count(predicate); int rows= paginador.PageSize.HasValue? paginador.PageSize.Value:DAL.PageSize; visitor.Limit(paginador.PageNumber.Value*rows, rows); } var response = new DALResponse<Gasto>(); response.Result= proxy.DbCmd.Select(visitor); response.TotalCount= totalCount; return response; }
public static DALResponse<Concepto> Obtener(RepositoryProxy proxy, ObtenerConceptos concepto,Pager paginador) { long? totalCount=null; var visitor = ReadExtensions.CreateExpression<Concepto>(); var predicate = PredicateBuilder.True<Concepto>(); if(!concepto.Tipo.IsNullOrEmpty()){ predicate= q=>q.Tipo==concepto.Tipo; } if( concepto.SoloDetalles) { predicate =predicate.AndAlso(q=>q.Codigo.Contains(".")); } visitor.Where(predicate); if(paginador.PageNumber.HasValue) { totalCount= proxy.DbCmd.Count(predicate); int rows= paginador.PageSize.HasValue? paginador.PageSize.Value:DAL.PageSize; visitor.Limit(paginador.PageNumber.Value*rows, rows); } visitor.OrderBy(f=>f.Codigo); var response = new DALResponse<Concepto>(); response.Result= proxy.DbCmd.Select(visitor); response.TotalCount= totalCount; return response; }
public static Concepto Crear(RepositoryProxy proxy , CrearConcepto concepto) { var c = new Concepto(); c.PopulateWith(concepto); proxy.DbCmd.InsertAndAssertId(c); return c; }
public static Fuente Crear(RepositoryProxy proxy , CrearFuente fuente) { var c = new Fuente(); c.PopulateWith(fuente); proxy.DbCmd.InsertAndAssertId(c); return c; }
public static void Borrar(RepositoryProxy proxy , BorrarGasto gasto) { proxy.BeginDbTransaction(); ActualizarSaldosAlBorrar(proxy, gasto.Id); proxy.DbCmd.Delete<Gasto>(f=>f.Id==gasto.Id); proxy.CommitDbTransaction(); }
public static Gasto Actualizar(RepositoryProxy proxy , ActualizarGasto gasto) { var c = new Gasto(); c.PopulateWith(gasto); proxy.BeginDbTransaction(); ActualizarSaldosAlBorrar(proxy, gasto.Id); ActualizarSaldos(proxy, c ); proxy.DbCmd.UpdateOnly(c, f=> new {f.Descripcion, f.Beneficiario, f.Valor, f.IdFuente, f.IdConcepto}, f=> f.Id==gasto.Id); proxy.CommitDbTransaction(); return proxy.DbCmd.FirstOrDefault<Gasto>(f=>f.Id== gasto.Id); }
public static Gasto Crear(RepositoryProxy proxy , CrearGasto gasto) { if(!gasto.Fecha.HasValue) gasto.Fecha= DateTime.Today; var c = new Gasto(); c.PopulateWith(gasto); proxy.BeginDbTransaction(); proxy.DbCmd.InsertAndAssertId(c); ActualizarSaldos (proxy, c); proxy.CommitDbTransaction(); return c; }
public static void CreateTable(RepositoryProxy proxy, bool overwrite) { proxy.DbCmd.CreateTable<Concepto>(overwrite); }
public static void Borrar(RepositoryProxy proxy , BorrarConcepto concepto) { proxy.DbCmd.Delete<Concepto>(f=>f.Id==concepto.Id); }
public static Concepto Actualizar(RepositoryProxy proxy , ActualizarConcepto concepto) { var c = new Concepto(){Nombre=concepto.Nombre, Codigo=concepto.Codigo, Id=concepto.Id}; proxy.DbCmd.UpdateOnly(c, f=> new {f.Nombre,f.Codigo}, f=> f.Id==c.Id); return proxy.DbCmd.FirstOrDefault<Concepto>(f=>f.Id== concepto.Id); }
public static Fuente FijarSaldoInicial(RepositoryProxy proxy , int id, decimal valor) { var c = new Fuente(){SaldoInicial=valor}; proxy.DbCmd.UpdateOnly(c, f=> new {f.SaldoInicial,}, f=> f.Id==id); return proxy.DbCmd.FirstOrDefault<Fuente>(f=>f.Id== id); }
public static void Borrar(RepositoryProxy proxy , BorrarFuente fuente) { proxy.DbCmd.Delete<Fuente>(f=>f.Id==fuente.Id); }
public static Fuente Actualizar(RepositoryProxy proxy , ActualizarFuente fuente) { var c = new Fuente(){Nombre=fuente.Nombre, Codigo=fuente.Codigo, Id= fuente.Id}; proxy.DbCmd.UpdateOnly(c, f=> new {f.Nombre, f.Codigo}, f=> f.Id==fuente.Id); return proxy.DbCmd.FirstOrDefault<Fuente>(f=>f.Id== fuente.Id); }
static void ActualizarSaldos(RepositoryProxy proxy, Gasto gasto) { var concepto = proxy.DbCmd.First<Concepto> (f => f.Id == gasto.IdConcepto); concepto.Acumulado += gasto.Valor; proxy.DbCmd.UpdateOnly (concepto, f => new { f.Acumulado }, f => f.Id == gasto.IdConcepto); var fuente = proxy.DbCmd.First<Fuente> (f => f.Id == gasto.IdFuente); fuente.Salidas += gasto.Valor; proxy.DbCmd.UpdateOnly (fuente, f => new { f.Salidas }, f => f.Id == gasto.IdFuente); }
static void ActualizarSaldosAlBorrar(RepositoryProxy proxy , int id) { var oldGasto= proxy.DbCmd.First<Gasto>(f=>f.Id==id); var concepto = proxy.DbCmd.First<Concepto>(f=>f.Id== oldGasto.IdConcepto); concepto.Acumulado-= oldGasto.Valor; proxy.DbCmd.UpdateOnly(concepto, f=> new {f.Acumulado}, f=>f.Id== oldGasto.IdConcepto); var fuente = proxy.DbCmd.First<Fuente>(f=>f.Id== oldGasto.IdFuente); fuente.Salidas-=oldGasto.Valor; proxy.DbCmd.UpdateOnly(fuente, f=> new {f.Salidas}, f=>f.Id== oldGasto.IdFuente); }