Пример #1
0
 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);
 }
Пример #2
0
        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;
        }
Пример #3
0
 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);
 }