Exemplo n.º 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);
        }
Exemplo n.º 2
0
        private fraccionperiodo CargarRelaciones(fraccionperiodo unObjeto)
        {
            int ix;

            ix = listaMeses.FindIndex(x => x.Id == unObjeto.mes);
            if (ix > -1)
            {
                unObjeto.ObjetoMes = listaMeses[ix];
            }

            return(unObjeto);
        }
Exemplo n.º 3
0
        public int Grabar(short unAnio, short unMes, bool cerrado)
        {
            fraccionperiodo item = new fraccionperiodo(); //{ anio=unAnio, mes = unMes, cerrado = cerrado };

            return(item.BorrarObjetoT());
        }
Exemplo n.º 4
0
        public static bool PeriodoCerrado(short unAnio, short unMes)
        {
            fraccionperiodo periodo = PeriodoPr.Instancia.RegistroPorId(unAnio, unMes);

            return(periodo.cerrado);
        }