public int Grabar(object unItem) { contable item = (contable)unItem; int i = 0; fraccionperiodo periodo = PeriodoPr.Instancia.RegistroPorId((short)item.fecha.Year, (short)item.fecha.Month); if (periodo == null) { throw new Exception("Periodo no registrado"); } if (!periodo.cerrado) { using (ispDB db = new ispDB()) { try { item.fkfraccionperiodo = periodo; item.IntegrarAsociados(); db.BeginTransaction(); if (item.numero == 0) { item.numero = db.contables.Where(x => x.idperiodo == item.idperiodo && x.idtipocontable == item.idtipocontable) .GroupBy(x => Sql.GroupBy.None, (idx, g) => g.Max(y => y.numero)).Single(); item.numero++; } i = db.InsertOrReplace(item); db.detallescontables.Where(x => x.idperiodo == item.idperiodo && x.idtipocontable == item.idtipocontable && x.numerocontable == item.numero).Delete(); for (int ix = 0; ix < item.fkdetallescontables.Count(); ix++) { detallecontable detalle = item.fkdetallescontables.ElementAt(ix); detalle.idperiodo = item.idperiodo; detalle.idtipocontable = item.idtipocontable; detalle.numerocontable = item.numero; detalle.registro = (short)ix; db.InsertOrReplace(detalle); } db.CommitTransaction(); } catch (Exception) { db.RollbackTransaction(); throw; } } } return(i); }
// AƱadir public bool Add(detallecontable value) { try { listaContables.Add(value); return(true); } catch { return(false); } }
public bool Contains(detallecontable value) { return(listaContables.Contains(value)); }
public void Remove(detallecontable value) { listaContables.Remove(value); }
public void Insert(int index, detallecontable value) { listaContables.Insert(index, value); }
public int IndexOf(detallecontable value) { return(listaContables.IndexOf(value)); }