Example #1
0
        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);
        }
Example #2
0
 // AƱadir
 public bool Add(detallecontable value)
 {
     try
     {
         listaContables.Add(value);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Example #3
0
 public bool Contains(detallecontable value)
 {
     return(listaContables.Contains(value));
 }
Example #4
0
 public void Remove(detallecontable value)
 {
     listaContables.Remove(value);
 }
Example #5
0
 public void Insert(int index, detallecontable value)
 {
     listaContables.Insert(index, value);
 }
Example #6
0
 public int IndexOf(detallecontable value)
 {
     return(listaContables.IndexOf(value));
 }