public IHttpActionResult GetAsiento(int id)
        {
            Asiento asiento = db.Asientos.Find(id);

            if (asiento == null)
            {
                return(NotFound());
            }

            return(Ok(asiento));
        }
Exemple #2
0
 public ActionResult Edit([Bind(Include = "AsientoId,NumSerie,idCarro")] Asiento asiento)
 {
     if (ModelState.IsValid)
     {
         db.Entry(asiento).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.idCarro = new SelectList(db.Carros, "idCarro", "NumSerieMotor", asiento.idCarro);
     return(View(asiento));
 }
 public ActionResult Edit([Bind(Include = "CodigoAsiento,NumeroSerie,CodigoCarro")] Asiento asiento)
 {
     if (ModelState.IsValid)
     {
         db.Entry(asiento).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CodigoCarro = new SelectList(db.Carros, "CodigoCarro", "NumserieCarro", asiento.CodigoCarro);
     return(View(asiento));
 }
        public IHttpActionResult GetAsiento(int id)
        {
            Asiento asiento = _UnityOfWork.Asientos.Get(id);

            if (asiento == null)
            {
                return(NotFound());
            }

            return(Ok(asiento));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            //Asiento asiento = db.Asientoes.Find(id);
            Asiento asiento = _UnityOfWork.Asiento.Get(id);

            //db.Asientoes.Remove(asiento);
            _UnityOfWork.Asiento.Delete(asiento);
            //db.SaveChanges();
            _UnityOfWork.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "AsientoId,NumSerie,CarroId")] Asiento asiento)
 {
     if (ModelState.IsValid)
     {
         _UnityOfWork.StateModified(asiento);
         _UnityOfWork.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CarroId = new SelectList(_UnityOfWork.Carros.GetEntity(), "CarroId", "NumSerieChasis", asiento.CarroId);
     return(View(asiento));
 }
Exemple #7
0
 public ActionResult Edit([Bind(Include = "AsientoId,NumSerieAsiento,CinturonId")] Asiento asiento)
 {
     if (ModelState.IsValid)
     {
         db.Entry(asiento).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CinturonId = new SelectList(db.Cinturones, "CinturonId", "NumSerieCinturon", asiento.CinturonId);
     return(View(asiento));
 }
        public ActionResult Edit([Bind(Include = "Id_asiento,Id_Avion,Fila,Columna,Planta")] Asiento asiento)
        {
            if (ModelState.IsValid)
            {
                _asientoRepository.Edit(asiento);
                return(RedirectToAction("Index"));
            }
            var aviones = _avionRepository.GetAll();

            ViewBag.Id_Avion = new SelectList(aviones, "Id_avion", "Nombre", asiento.Id_Avion);
            return(View(asiento));
        }
        public bool Insert(Asiento datos)
        {
            String sql = "INSERT INTO TH_Asiento(Descripcion, Fila, FechaCrea, UserCrea) " +
                         "VALUES(@descripciom, @fila, @fechaCrea, @usuarioCrea)";

            OleDbParameter descripcion   = UtilDA.SetParameters("@nombre", OleDbType.VarChar, datos.Descripcion);
            OleDbParameter fila          = UtilDA.SetParameters("@fila", OleDbType.VarChar, datos.Fila);
            OleDbParameter fechaCreacion = UtilDA.SetParameters("@fechaCrea", OleDbType.Date, DateTime.Now);
            OleDbParameter usuarioCrea   = UtilDA.SetParameters("@usuarioCrea", OleDbType.VarChar, Sesion.usuario.Login);

            return(UtilDA.ExecuteNonQuery(cmd, CommandType.Text, sql, cnx, false, descripcion, fila, fechaCreacion, usuarioCrea));
        }
        public ActionResult Create([Bind(Include = "AsientoId,NumSerie,CarroId")] Asiento asiento)
        {
            if (ModelState.IsValid)
            {
                db.Asientos.Add(asiento);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CarroId = new SelectList(db.Carros, "CarroId", "NumSerieMotor", asiento.CarroId);
            return(View(asiento));
        }
Exemple #11
0
        private void dgv_Clase_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 2)
            {
                Asiento obj = new Asiento();
                obj.Id_Asiento = Convert.ToInt32(dgv_Asiento.Rows[e.RowIndex].Cells[0].Value.ToString());
                obj.posicion   = dgv_Asiento.Rows[e.RowIndex].Cells[1].Value.ToString();

                frm_AsientoEdit ofrm = new frm_AsientoEdit(obj, this);
                ofrm.Show();
            }
        }
 public ActionResult Edit([Bind(Include = "AsientoId,NumSerie,CarroId")] Asiento asiento)
 {
     if (ModelState.IsValid)
     {
         //db.Entry(asiento).State = EntityState.Modified;
         _UnityOfWork.StateModified(asiento);
         //db.SaveChanges();
         _UnityOfWork.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(asiento));
 }
Exemple #13
0
        public EntidadBase BuildObject(Dictionary <string, object> row)
        {
            var asiento = new Asiento
            {
                IdAsiento = GetIntValue(row, DB_COL_COD_ID),
                IdVagon   = GetIntValue(row, DB_COL_COD_ID_VAGON),
                Tipo      = GetStringValue(row, DB_COL_TIPO),
                Estado    = GetStringValue(row, DB_COL_ESTADO)
            };

            return(asiento);
        }
Exemple #14
0
        static void Main(string[] args)
        {
            Cliente       cliente = new Cliente("130252454", "Juan Perez");
            Asiento       asiento = new Asiento("Asiento Descripcion: A8");
            Recibo        recibo  = new Recibo(1, "43/10/2019", cliente, 3.20f);
            List <Recibo> recibos = new List <Recibo>();

            recibos.Add(recibo);

            Console.WriteLine("Cine MVC");
            Console.ReadKey();
        }
Exemple #15
0
        public IHttpActionResult PostAsiento(Asiento asiento)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Asientos.Add(asiento);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = asiento.AsientoId }, asiento));
        }
Exemple #16
0
        private void btn_SaveData_Click(object sender, EventArgs e)
        {
            btn_SaveData.Enabled = false;
            bool insert, insertDet = false;

            objAsiento             = new Asiento();
            objAsiento.Correlativo = txt_Correlativo.Text;
            objAsiento.Debe        = objDocumentoCab.DocumentoCabTotal;
            objAsiento.Fecha       = txt_Fecha.Text;
            objAsiento.Haber       = objDocumentoCab.DocumentoCabTotal;
            objAsiento.MonedaCod   = objDocumentoCab.DocumentoCabTipoMoneda;



            objAsiento.TipoAsiento = txt_TipoAsiento.Text;

            insert = objAsientoDao.insertarAsientoCab(objAsiento);
            if (insert)
            {
            }
            else
            {
                MessageBox.Show("Hubo un error al Guardar");
                return;
            }
            for (int i = 0; i < objListaAsientoDetalle.Count; i++)
            {
                objListaAsientoDetalle[i].Correlativo = txt_Correlativo.Text;
                objListaAsientoDetalle[i].FechaDoc    = objDocumentoCab.DocumentoCabFecha.ToString("dd/MM/yyyy");
                insertDet = objAsientoDao.insertarAsientoDet(objListaAsientoDetalle[i]);
                if (insertDet)
                {
                    String serie, nro;
                    serie = objListaAsientoDetalle[i].Documento.Substring(0, 4);
                    nro   = objListaAsientoDetalle[i].Documento.Substring(5);
                    objAsientoDao.updateEstadoAsientoVenta(serie, nro);
                }
                else
                {
                    MessageBox.Show("Hubo un error al Guardar");
                    return;
                }
            }
            if (insertDet)
            {
                MessageBox.Show("Se creó el Asiento Contable");
            }
            btn_SaveData.Enabled = true;
            RegistrarAsientosVentas formAsient = new RegistrarAsientosVentas();

            formAsient.Show();
            this.Close();
        }
Exemple #17
0
 public AsientoCCompra(DocumentoCab obj)
 {
     InitializeComponent();
     this.ControlBox      = false;
     formAsientoCompra    = this;
     this.Text            = "Asientos Contables";
     this.StartPosition   = FormStartPosition.Manual;
     this.Location        = new Point(50, 20);
     objAsiento           = new Asiento();
     objAsientoDao        = new AsientoDAO();
     txt_TipoAsiento.Text = "11";
     objDocumentoCab      = obj;
     txt_Correlativo.Text = objAsientoDao.getCorrelativoAsientoVenta(objDocumentoCab.DocumentoCabFecha.ToString("dd/MM/yyyy"), txt_TipoAsiento.Text);
     txt_Fecha.Text       = objDocumentoCab.DocumentoCabFecha.ToString("dd/MM/yyyy");
     txt_Moneda.Text      = objDocumentoCab.DocumentoCabMoneda;
     txt_glosa.Text       = objDocumentoCab.DocumentoCabTipoDoc.ToString().Trim() + " " + objDocumentoCab.DocumentoCabSerie.ToString() + " " + objDocumentoCab.DocumentoCabNro.ToString();
     txt_cliente.Text     = objDocumentoCab.DocumentoCabCliente.ToString().Trim();
     //txt_Haber.Text = objDocumentoCab.DocumentoCabTotal.ToString("C").Substring(3);
     //txt_Debe.Text = objDocumentoCab.DocumentoCabTotal.ToString("C").Substring(3);
     gridParams();
     cmbCuenta();
     cmbDocumento();
     /*este if es para cuando es una nea y cuando el servicio no estaba registrando con detalle*/
     if (objDocumentoCab.tipreg == "0")
     {
         objListaAsientoDetalle = objAsientoDao.getGenerarDetalleCompra(objDocumentoCab.NumeroRegistro);
         if (objListaAsientoDetalle.Count > 2)
         {
             grd_Facturas.DataSource = objListaAsientoDetalle;
         }
         else
         {
             objListaAsientoDetalle  = objAsientoDao.getGenerarDetalleCompraServicio(objDocumentoCab.NumeroRegistro);
             grd_Facturas.DataSource = objListaAsientoDetalle;
         }
     }
     if (objDocumentoCab.tipreg == "1")
     {
         objListaAsientoDetalle = objAsientoDao.getGenerarDetalleCompraServicio1(objDocumentoCab.NumeroRegistro);
         if (objListaAsientoDetalle.Count > 2)
         {
             grd_Facturas.DataSource = objListaAsientoDetalle;
         }
         else
         {
             objListaAsientoDetalle  = objAsientoDao.getGenerarDetalleCompraServicio2(objDocumentoCab.NumeroRegistro);
             grd_Facturas.DataSource = objListaAsientoDetalle;
         }
     }
     grd_Facturas.CellClick += Grd_Facturas_CellClick;
     grd_Facturas.Refresh();
     sumatorias();
 }
Exemple #18
0
        public async Task <IActionResult> Create([Bind("AsientoId,NumeroAsiento,Estado,SalaId")] Asiento asiento)
        {
            if (ModelState.IsValid)
            {
                asiento.AsientoId = Guid.NewGuid();
                _context.Add(asiento);
                await _context.SaveChangesAsync();

                return(RedirectToAction("CinesyMas", "Cines"));
            }
            return(View(asiento));
        }
        public ActionResult Create([Bind(Include = "AsientoId,NumSerieAsiento,CinturonId")] Asiento asiento)
        {
            if (ModelState.IsValid)
            {
                _UnityOfWork.Asientos.Add(asiento);
                _UnityOfWork.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CinturonId = new SelectList(_UnityOfWork.Asientos.GetEntity().Include(a => a.Cinturon), "CinturonId", "NumSerieCinturon", asiento.CinturonId);
            return(View(asiento));
        }
        public bool Update(Asiento datos)
        {
            String sql = "UPDATE TH_Asiento SET Descripcion = @descripcion, Fila = @fila,   " +
                         "FechaMod = @fechaMod, UserMod = @usuarioMod WHERE IdAsiento = @idAsiento";

            OleDbParameter descripcion = UtilDA.SetParameters("@descripcion", OleDbType.VarChar, datos.Descripcion);
            OleDbParameter fila        = UtilDA.SetParameters("@fila", OleDbType.VarChar, datos.Fila);
            OleDbParameter fechaMod    = UtilDA.SetParameters("@fechaMod", OleDbType.Date, DateTime.Now);
            OleDbParameter usuarioMod  = UtilDA.SetParameters("@usuarioMod", OleDbType.VarChar, Sesion.usuario.Login);
            OleDbParameter idAsiento   = UtilDA.SetParameters("@idAsiento", OleDbType.Integer, datos.IdAsiento);

            return(UtilDA.ExecuteNonQuery(cmd, CommandType.Text, sql, cnx, false, descripcion, fila, fechaMod, usuarioMod, idAsiento));
        }
        public ActionResult Create([Bind(Include = "AsientoId,NumSerie,CarroId")] Asiento asiento)
        {
            if (ModelState.IsValid)
            {
                //db.Asientoes.Add(asiento);
                _UnityOfWork.Asiento.Add(asiento);
                //db.SaveChanges();
                _UnityOfWork.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(asiento));
        }
Exemple #22
0
        public Asiento interfaceDatos()
        {
            obj = new Asiento();

            int id = 0; int.TryParse(txt_ClaveClase.Text, out id);

            obj.Id_Seccion = id;
            obj.Id_Seccion = Convert.ToInt32(cmb_Clase);
            obj.id_        = Convert.ToInt32(cmb_Ubicacion);
            obj.Letra      = txt_Letra.Text.Trim();
            obj.Fila       = Convert.ToInt32(txtFila.Text);
            return(obj);
        }
Exemple #23
0
        public void Test_VentaParteClientes_Cuadra()
        {
            // Venta de 3000 euros a clientes mas IVA (630 euros)
            // 3630 clientes a ventas 3000, IVA repercutido 630

            var asiento = new Asiento();

            asiento.AddPartidaDebit(GetClientesAccount(), 3630);
            asiento.AddPartidaCredit(GetVentasAccount(), 3000);
            Assert.IsFalse(asiento.Balances());
            asiento.AddPartidaCredit(GetHaciendaPublicaIVARepercutidoAccount(), 630);
            Assert.IsTrue(asiento.Balances());
        }
Exemple #24
0
        private void btn_SaveData_Click(object sender, EventArgs e)
        {
            btn_SaveData.Enabled = false;
            bool insert, insertDet = false;

            objAsiento             = new Asiento();
            objAsiento.Correlativo = txt_Correlativo.Text;
            objAsiento.Debe        = objAsientoDao.convertToDouble(txt_Debe.Text);
            objAsiento.Fecha       = txt_Fecha.Text;
            objAsiento.Haber       = objAsientoDao.convertToDouble(txt_Haber.Text);
            objAsiento.MonedaCod   = objDocumentoCab.DocumentoCabTipoMoneda;


            objAsiento.TipoAsiento = txt_TipoAsiento.Text;

            insert = objAsientoDao.insertarAsientoCab(objAsiento);
            if (insert)
            {
            }
            else
            {
                MessageBox.Show("Hubo un error al Guardar");
                return;
            }
            for (int i = 0; i < objListaAsientoDetalle.Count; i++)
            {
                objListaAsientoDetalle[i].NumReg      = objDocumentoCab.NumeroRegistro;
                objListaAsientoDetalle[i].Correlativo = txt_Correlativo.Text;
                objListaAsientoDetalle[i].FechaDoc    = objDocumentoCab.DocumentoCabFecha.ToString("dd/MM/yyyy");
                objListaAsientoDetalle[i].Anexo       = objDocumentoCab.DocumentoCabClienteDocumento;
                insertDet = objAsientoDao.insertarAsientoDet(objListaAsientoDetalle[i]);
                if (insertDet)
                {
                    objAsientoDao.updateEstadoAsientoCompra(objListaAsientoDetalle[i].NumReg);
                }
                else
                {
                    MessageBox.Show("Hubo un error al Guardar");
                    return;
                }
            }
            if (insertDet)
            {
                MessageBox.Show("Se creó el Asiento Contable");
            }
            btn_SaveData.Enabled = true;
            RegistrarAsientosCompras formAsient = new RegistrarAsientosCompras();

            formAsient.Show();
            this.Close();
        }
Exemple #25
0
        /// <summary>
        /// Devuelve una lista con todas las transacciones activas de ese asiento
        /// </summary>
        /// <param name="asiento"></param>
        /// <returns></returns>
        public List <Transaccion> GetCompleto(Asiento asiento)
        {
            var retorno = new List <Transaccion>();

            var sql = "select " +
                      "TA.transaction_accounting_id, " +        //0
                      "TA.reference, " +                        //1
                      "TA.detail, " +                           //2
                      "TA.bill_date, " +                        //3
                      "TA.balance, " +                          //4
                      "TA.balance_type+0, " +                   //5
                      "TA.money_type+0, " +                     //6
                      "TA.money_chance, " +                     //7
                      "AN.name, " +                             //8
                      "AC.account_id, " +                       //9
                      "AC.father_account, " +                   //10
                      "AC.account_guide+0, " +
                      " GETFULLPATH(AC.account_id) " +
                      "FROM transactions_accounting AS TA JOIN accounting_entries AS AE ON TA.accounting_entry_id = AE.accounting_entry_id AND AE.accounting_entry_id = @accounting_entry_id " +
                      "JOIN accounts AS AC ON TA.account_id = AC.account_id JOIN accounts_names AS AN ON AC.account_name_id = AN.account_name_id " +
                      "WHERE TA.active = 1 AND AE.active = 1 AND AC.active = 1 ; ";

            DataTable dt = manejador.Listado(sql, new Parametro("@accounting_entry_id", asiento.Id), CommandType.Text);

            foreach (DataRow item in dt.Rows)
            {
                Object[]    vs   = item.ItemArray;
                Transaccion tran = new Transaccion(
                    id: Convert.ToInt32(vs[0]),
                    referencia: Convert.ToString(vs[1]),
                    detalle: Convert.ToString(vs[2]),
                    fechaFactura: Convert.ToDateTime(vs[3]),
                    balance: Convert.ToDecimal(vs[4]),
                    comportamientoCuenta: ((Comportamiento)Convert.ToInt32(vs[5])),
                    tipoCambio: ((TipoCambio)Convert.ToInt16(vs[6])),
                    montoTipoCambio: Convert.ToDecimal(vs[7]),
                    cuentaDeAsiento: new Cuenta
                {
                    Nombre        = Convert.ToString(vs[8]),
                    Id            = Convert.ToInt32(vs[9]),
                    Padre         = Convert.ToInt32(vs[10]),
                    Indicador     = (IndicadorCuenta)Convert.ToInt32(vs[11]),
                    PathDirection = Convert.ToString(vs[12]),
                }
                    );

                retorno.Add(tran);
            }

            return(retorno);
        }
Exemple #26
0
        public IHttpActionResult DeleteAsiento(int id)
        {
            Asiento asiento = db.Asientos.Find(id);

            if (asiento == null)
            {
                return(NotFound());
            }

            db.Asientos.Remove(asiento);
            db.SaveChanges();

            return(Ok(asiento));
        }
Exemple #27
0
        public IHttpActionResult DeleteAsiento(int id)
        {
            Asiento asiento = _UnityOfWork.Asientos.Get(id);

            if (asiento == null)
            {
                return(NotFound());
            }

            _UnityOfWork.Asientos.Remove(asiento);
            _UnityOfWork.SaveChanges();

            return(Ok(asiento));
        }
        // GET: Asientos/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Asiento asiento = _UnityOfWork.Asientos.Get(id);

            if (asiento == null)
            {
                return(HttpNotFound());
            }
            return(View(asiento));
        }
        // GET: Asientoes/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Asiento asiento = db.Asientos.Find(id);

            if (asiento == null)
            {
                return(HttpNotFound());
            }
            return(View(asiento));
        }
Exemple #30
0
 public InteriorMB(Point3D pst) : base(pst)
 {
     delant = new Asiento[2];
     lp     = new LimpParab[2];
     lp[0]  = new LimpParab(new Point3D(pst.x + 1, pst.y + 0.5, pst.z + 0.25), 1);
     lp[1]  = new LimpParab(new Point3D(pst.x - 1, pst.y + 0.4, pst.z + 0.17), 1);
     for (int i = 0; i < 2; i++)
     {
         delant[i] = new Asiento(new Point3D(start.x - 1.5, start.y - 0.5, start.z + 0.3 - i * 2), 1.5, 1.5, 2.5, new float[] { 0.55f, 0.55f, 0.55f });
     }
     t         = new Timon(new Point3D(start.x + 1.7, start.y + 0.2, start.z - 1), 0.6, new float[] { 0.3f, 0.3f, 0.2f });
     respuesto = new Goma(new Point3D(start.x - 5, start.y - 0.5, start.z), 0.8);
     Recompile();
 }
 public InteriorMB(Point3D pst)
     : base(pst)
 {
     delant=new Asiento[2];
         lp=new LimpParab[2];
         lp[0]=new LimpParab(new Point3D(pst.x+1,pst.y+0.5,pst.z+0.25),1);
         lp[1]=new LimpParab(new Point3D(pst.x-1,pst.y+0.4,pst.z+0.17),1);
         for(int i=0;i<2;i++)
         {
             delant[i]=new Asiento(new Point3D(start.x-1.5,start.y-0.5,start.z+0.3-i*2),1.5,1.5,2.5,new float[]{0.55f,0.55f,0.55f});
         }
         t=new Timon(new Point3D(start.x+1.7,start.y+0.2,start.z-1),0.6,new float[]{0.3f,0.3f,0.2f});
         respuesto=new Goma(new Point3D(start.x-5,start.y-0.5,start.z),0.8);
         Recompile();
 }
Exemple #32
0
        private void cmdAgregarCuenta_Click(object sender, RoutedEventArgs e)
        {
            var asiento = new Asiento();
            asiento.Cuenta = (Cuenta)_CmbCuentas.SelectedItem;
            double factor = Math.Pow(10, 2);
            asiento.FechaContable = fechaAsiento.SelectedDate.Value;
            if (_txtHaber.Text.Length > 0)
            {
                asiento.HaberMonedaOtra = double.Parse(_txtHaber.Text);
                asiento.HaberMonedaSistema =
                    ServicioFinanzas.Instancia.ConvertirAMonedaSistema(((Moneda) _CmbMonedas.SelectedItem).TipoMoneda,
                                                                       double.Parse(_txtHaber.Text));
                asiento.HaberMonedaSistema = Math.Truncate(asiento.HaberMonedaSistema * factor) / factor;
            }
            else
            {
                asiento.DebeMonedaOtra = double.Parse(_txtDebe.Text);
                asiento.DebeMonedaSistema =
                    ServicioFinanzas.Instancia.ConvertirAMonedaSistema(((Moneda)_CmbMonedas.SelectedItem).TipoMoneda,
                                                                       double.Parse(_txtDebe.Text));

                asiento.DebeMonedaSistema = Math.Truncate(asiento.DebeMonedaSistema * factor) / factor;
            }
            asiento.MonedaAcronimo = ((Moneda)_CmbMonedas.SelectedItem).Acronimo;
            _Coleccion.Add(asiento);
            dataGridAgregaAsiento.Items.Refresh();
        }
Exemple #33
0
        private void buttonGenerarCierre_Click(object sender, RoutedEventArgs e)
        {
            _cuentasCierreIngresos = new ObservableCollection<Asiento>();
            double montoGlobalPG = 0;
            var monedaSistema = ServicioFinanzas.Instancia.ObtenerMonedasSistema("Sistema");
            Asiento asientoBlanco = new Asiento();
            double montoPG = 0;
            double montoCV = 0;
            double factor = Math.Pow(10, 2);
            var cuentaPG = ServicioFinanzas.Instancia.ObtenerCuenta("Pérdidas y ganancias");
            var asientoPG = new Asiento();
            Cuenta cuentaNuevaPG = new Cuenta();
            var cuentaCV = ServicioFinanzas.Instancia.ObtenerCuenta("Costo de ventas");
            var asientoCV = new Asiento();
            Cuenta cuentaNuevaCV = new Cuenta();

            //Agregar asientos de cierre de compras
            var cuentasCompras = ServicioFinanzas.Instancia.ObtenerCuentasCierreCompras();
            foreach (var cuenta in cuentasCompras)
            {
                var asiento = new Asiento();
                Cuenta cuentaNueva = new Cuenta();
                cuentaNueva.Nombre = cuenta.Nombre;
                cuentaNueva.Codigo = cuenta.Codigo;
                asiento.Cuenta = cuentaNueva;
                asiento.FechaContable = DateTime.Today;
                if (cuenta.Saldo_Haber != 0)
                {
                    asiento.HaberMonedaSistema = cuenta.Saldo_Haber;
                    asiento.HaberMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, cuenta.Saldo_Haber);
                    asiento.HaberMonedaOtra = Math.Truncate(asiento.HaberMonedaOtra * factor) / factor;
                    montoCV+=cuenta.Saldo_Haber;
                }
                else
                {
                    asiento.DebeMonedaSistema = cuenta.Saldo;
                    asiento.DebeMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, cuenta.Saldo);
                    asiento.DebeMonedaOtra = Math.Truncate(asiento.DebeMonedaOtra * factor) / factor;
                    montoCV -= cuenta.Saldo_Haber;
                }
                asiento.MonedaAcronimo = monedaSistema.Acronimo;
                _cuentasCierreIngresos.Add(asiento);
            }

            cuentaNuevaCV.Codigo = cuentaCV.Codigo;
            cuentaNuevaCV.Nombre = cuentaCV.Nombre;
            asientoCV.Cuenta = cuentaNuevaCV;
            asientoCV.FechaContable = DateTime.Today;
            if (montoCV != 0)
            {
                asientoCV.HaberMonedaSistema = montoCV;
                asientoCV.HaberMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, montoPG);
                asientoCV.HaberMonedaOtra = Math.Truncate(asientoCV.HaberMonedaOtra * factor) / factor;
                asientoCV.MonedaAcronimo = monedaSistema.Acronimo;
                _cuentasCierreIngresos.Add(asientoCV);
            }
            _cuentasCierreIngresos.Add(asientoBlanco);

            //Agregar asientos de cierre de Ingresos
            asientoPG = new Asiento();
            cuentaNuevaPG = new Cuenta();
            var cuentasIngresos = ServicioFinanzas.Instancia.ObtenerCuentasCierreIngresos();
            foreach(var cuenta in cuentasIngresos){
                var asiento = new Asiento();
                Cuenta cuentaNueva = new Cuenta();
                cuentaNueva.Nombre = cuenta.Nombre;
                cuentaNueva.Codigo = cuenta.Codigo;
                asiento.Cuenta = cuentaNueva;
                asiento.FechaContable = DateTime.Today;
                if (cuenta.Saldo_Haber != 0)
                {
                    asiento.HaberMonedaSistema = cuenta.Saldo_Haber;
                    asiento.HaberMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema,cuenta.Saldo_Haber);
                    asiento.HaberMonedaOtra = Math.Truncate(asiento.HaberMonedaOtra * factor) / factor;
                    montoPG -= cuenta.Saldo_Haber;
                }
                else
                {
                    asiento.DebeMonedaSistema = cuenta.Saldo;
                    asiento.DebeMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, cuenta.Saldo);
                    asiento.DebeMonedaOtra = Math.Truncate(asiento.DebeMonedaOtra * factor) / factor;
                    montoPG += cuenta.Saldo;
                }
                asiento.MonedaAcronimo=monedaSistema.Acronimo;
                _cuentasCierreIngresos.Add(asiento);
            }

            if (textBoxPerdidasYGanancias.Text == "") cuentaNuevaPG.Nombre = cuentaPG.Nombre;
            else cuentaNuevaPG.Nombre = textBoxPerdidasYGanancias.Text;
            cuentaNuevaPG.Codigo = cuentaPG.Codigo;
            asientoPG.Cuenta = cuentaNuevaPG;
            asientoPG.FechaContable = DateTime.Today;

            if (montoPG != 0)
            {
                asientoPG.HaberMonedaSistema = montoPG;
                asientoPG.HaberMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, montoPG);
                asientoPG.HaberMonedaOtra = Math.Truncate(asientoPG.HaberMonedaOtra * factor) / factor;

                asientoPG.MonedaAcronimo = monedaSistema.Acronimo;
                _cuentasCierreIngresos.Add(asientoPG);
                montoGlobalPG += montoPG;
            }
            _cuentasCierreIngresos.Add(asientoBlanco);

            //Agregar asientos de cierre de gastos
            asientoPG = new Asiento();
            cuentaNuevaPG = new Cuenta();

            montoPG = 0;
            var cuentasGastos = ServicioFinanzas.Instancia.ObtenerCuentasCierreGastos();
            foreach (var cuenta in cuentasGastos)
            {
                var asiento = new Asiento();
                Cuenta cuentaNueva = new Cuenta();
                cuentaNueva.Nombre = cuenta.Nombre;
                cuentaNueva.Codigo = cuenta.Codigo;
                asiento.Cuenta = cuentaNueva;
                asiento.FechaContable = DateTime.Today;

                asiento.HaberMonedaSistema = cuenta.Saldo;
                asiento.HaberMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, cuenta.Saldo);
                asiento.HaberMonedaOtra = Math.Truncate(asiento.HaberMonedaOtra * factor) / factor;
                montoPG += cuenta.Saldo;

                asiento.MonedaAcronimo = monedaSistema.Acronimo;
                _cuentasCierreIngresos.Add(asiento);
            }

            if (textBoxPerdidasYGanancias.Text == "") cuentaNuevaPG.Nombre = cuentaPG.Nombre;
            else cuentaNuevaPG.Nombre = textBoxPerdidasYGanancias.Text;
            cuentaNuevaPG.Codigo = cuentaPG.Codigo;
            asientoPG.Cuenta = cuentaNuevaPG;
            asientoPG.FechaContable = DateTime.Today;

            if (montoPG != 0)
            {
                asientoPG.DebeMonedaSistema = montoPG;
                asientoPG.DebeMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, montoPG);
                asientoPG.DebeMonedaOtra = Math.Truncate(asientoPG.DebeMonedaOtra * factor) / factor;
                asientoPG.MonedaAcronimo = monedaSistema.Acronimo;
                _cuentasCierreIngresos.Add(asientoPG);
                montoGlobalPG -= montoPG;
            }
            _cuentasCierreIngresos.Add(asientoBlanco);

            //Asiento de PyG contra Utilidades retenidas
            asientoPG = new Asiento();
            cuentaNuevaPG = new Cuenta();
            var cuentaUR = ServicioFinanzas.Instancia.ObtenerCuenta("Utilidades retenidas");
            var asientoUR = new Asiento();
            Cuenta cuentaNuevaUR = new Cuenta();

            if (montoGlobalPG != 0)
            {
                if (textBoxPerdidasYGanancias.Text == "") cuentaNuevaPG.Nombre = cuentaPG.Nombre;
                else cuentaNuevaPG.Nombre = textBoxPerdidasYGanancias.Text;
                cuentaNuevaPG.Codigo = cuentaPG.Codigo;
                asientoPG.Cuenta = cuentaNuevaPG;
                asientoPG.FechaContable = DateTime.Today;

                asientoPG.DebeMonedaSistema = montoGlobalPG;
                asientoPG.DebeMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, montoGlobalPG);
                asientoPG.DebeMonedaOtra = Math.Truncate(asientoPG.DebeMonedaOtra * factor) / factor;
                asientoPG.MonedaAcronimo = monedaSistema.Acronimo;

                _cuentasCierreIngresos.Add(asientoPG);

                if (textBoxUtilidades.Text == "") cuentaNuevaUR.Nombre = cuentaUR.Nombre;
                else cuentaNuevaUR.Nombre = textBoxPerdidasYGanancias.Text;
                cuentaNuevaUR.Codigo = cuentaUR.Codigo;
                asientoUR.Cuenta = cuentaNuevaUR;
                asientoUR.FechaContable = DateTime.Today;

                asientoUR.HaberMonedaSistema = asientoPG.DebeMonedaSistema;
                asientoUR.HaberMonedaOtra = asientoPG.DebeMonedaOtra;
                asientoUR.MonedaAcronimo = monedaSistema.Acronimo;

                _cuentasCierreIngresos.Add(asientoUR);
                _cuentasCierreIngresos.Add(asientoBlanco);
            }

            //Asiento de Utilidades retenidas contra dividendos
            asientoUR = new Asiento();
            var cuentaDiv = ServicioFinanzas.Instancia.ObtenerCuenta("Dividendos");
            if (cuentaDiv.Saldo != 0)
            {
                var asientoDiv = new Asiento();
                Cuenta cuentaNuevaDiv = new Cuenta();

                cuentaNuevaDiv.Nombre = cuentaDiv.Nombre;
                cuentaNuevaUR.Codigo = cuentaUR.Codigo;
                asientoDiv.Cuenta = cuentaNuevaDiv;
                asientoDiv.FechaContable = DateTime.Today;

                asientoDiv.HaberMonedaSistema = cuentaDiv.Saldo;
                asientoDiv.HaberMonedaOtra = ServicioFinanzas.Instancia.ConvertirAMonedaLocal(monedaSistema, cuentaDiv.Saldo);
                asientoDiv.HaberMonedaOtra = Math.Truncate(asientoDiv.HaberMonedaOtra * factor) / factor;
                asientoDiv.MonedaAcronimo = monedaSistema.Acronimo;

                if (textBoxUtilidades.Text == "") cuentaNuevaUR.Nombre = cuentaUR.Nombre;
                else cuentaNuevaUR.Nombre = textBoxPerdidasYGanancias.Text;
                cuentaNuevaUR.Codigo = cuentaUR.Codigo;
                asientoUR.Cuenta = cuentaNuevaUR;
                asientoUR.FechaContable = DateTime.Today;
                asientoUR.DebeMonedaOtra = asientoDiv.HaberMonedaOtra;
                asientoUR.DebeMonedaSistema = asientoDiv.HaberMonedaSistema;

                _cuentasCierreIngresos.Add(asientoUR);
                _cuentasCierreIngresos.Add(asientoDiv);
                _cuentasCierreIngresos.Add(asientoBlanco);
            }

            dataGridCierre.ItemsSource = _cuentasCierreIngresos;
            dataGridCierre.Items.Refresh();
        }
		public static void AssertExists(Asiento request, int id)
		{
			if( request== default(Asiento))
				throw new HttpError(
						string.Format("No existe Asiento con Id:'{0}'", id));			
		}