示例#1
0
        public IHttpActionResult PutAsientoContable(int id, AsientoContable asientoContable)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != asientoContable.Id)
            {
                return(BadRequest());
            }

            db.Entry(asientoContable).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AsientoContableExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Descripcion,Cuenta,IsCredit,FechaAsiento,Estado,EmpleadoId")] AsientoContable asientoContable)
        {
            if (id != asientoContable.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(asientoContable);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AsientoContableExists(asientoContable.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["EmpleadoId"] = new SelectList(_context.Empleados, "Id", "Cedula", asientoContable.EmpleadoId);
            return(View(asientoContable));
        }
        public static LibroDiario IngresoAsientosContables(
            LibroDiario libroDiario,
            PlanCuentas planCuentas,
            string Mensaje = "Ingrese asiento contable"
            )
        {
            Console.WriteLine("\n");

            bool salida = false;

            do
            {
                Console.WriteLine("\t" + Mensaje);

                int nroAsiento = libroDiario.ProximoNumeroAsiento;

                string fecha = Input.IngresoFecha("Ingrese la fecha del asiento a cargar.");

                AsientoContable asientoContable = new AsientoContable(nroAsiento, fecha);

                CustomInput.IngresoLineasAsiento(asientoContable, planCuentas);

                salida = Input.IngresoVerdaderoFalso("¿Desea ingresar otro asiento?");

                if (asientoContable.balance() == 0)
                {
                    libroDiario.agregarAsientoContable(asientoContable);
                }
            } while (salida);

            return(libroDiario);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            AsientoContable asientoContable = db.PullXmls.Find(id);

            db.PullXmls.Remove(asientoContable);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,IdAsiento,NoAsiento,DescripcionAsiento,FechaAsiento,CuentaContable,TipoMovimiento,Monto")] AsientoContable asientoContable)
 {
     if (ModelState.IsValid)
     {
         db.Entry(asientoContable).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(asientoContable));
 }
        public ActionResult Create([Bind(Include = "Id,IdAsiento,NoAsiento,DescripcionAsiento,FechaAsiento,CuentaContable,TipoMovimiento,Monto")] AsientoContable asientoContable)
        {
            if (ModelState.IsValid)
            {
                db.PullXmls.Add(asientoContable);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(asientoContable));
        }
示例#7
0
        public IHttpActionResult GetAsientoContable(int id)
        {
            AsientoContable asientoContable = db.AsientoContable.Find(id);

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

            return(Ok(asientoContable));
        }
示例#8
0
        public async Task <IActionResult> Create([Bind("Id,Descripcion,Cuenta,IsCredit,FechaAsiento,Estado,EmpleadoId")] AsientoContable asientoContable)
        {
            if (ModelState.IsValid)
            {
                _context.Add(asientoContable);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["EmpleadoId"] = new SelectList(_context.Empleados, "Id", "Cedula", asientoContable.EmpleadoId);
            return(View(asientoContable));
        }
示例#9
0
        public IHttpActionResult PostAsientoContable(AsientoContable asientoContable)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.AsientoContable.Add(asientoContable);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = asientoContable.Id }, asientoContable));
        }
 public async Task <IActionResult> Create([Bind("Id,Descripcion,Cuenta,IsCredit,FechaAsiento,Estado,EmpleadoId")] AsientoContable asientoContable)
 {
     if (ModelState.IsValid)
     {
         if (await _asientoService.Create(asientoContable))
         {
             return(RedirectToAction(nameof(Index)));
         }
         ModelState.AddModelError("", "No se encontraron registros de transaccion en la fecha seleccionada para el asiento");
     }
     ViewData["EmpleadoId"] = new SelectList(_context.Empleados, "Id", "Cedula", asientoContable.EmpleadoId);
     return(View(asientoContable));
 }
示例#11
0
        public IHttpActionResult DeleteAsientoContable(int id)
        {
            AsientoContable asientoContable = db.AsientoContable.Find(id);

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

            db.AsientoContable.Remove(asientoContable);
            db.SaveChanges();

            return(Ok(asientoContable));
        }
        // GET: AsientoContables/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AsientoContable asientoContable = db.PullXmls.Find(id);

            if (asientoContable == null)
            {
                return(HttpNotFound());
            }
            return(View(asientoContable));
        }
示例#13
0
        public async Task <bool> Create(AsientoContable asientoContable)
        {
            var trans = asientoContable.IsCredit ? _context.RegistroTransaccions
                        .Where(t => t.EmpleadoId == asientoContable.EmpleadoId &&
                               t.Fecha.Date == asientoContable.FechaAsiento.Date &&
                               t.TipoIngresoId.HasValue)
                : _context.RegistroTransaccions
                        .Where(t => t.EmpleadoId == asientoContable.EmpleadoId &&
                               t.Fecha.Date == asientoContable.FechaAsiento.Date &&
                               t.TipoDeduccionId.HasValue);

            asientoContable.Monto = trans.Select(t => t.Monto).Sum();

            var asiento = new Asiento();

            asiento.descripcion        = $"{asientoContable.Descripcion} de empleado {asientoContable.EmpleadoId}";
            asiento.idAuxiliar         = 2;
            asiento.idCuentasContables = 18;
            if (asientoContable.IsCredit)
            {
                asiento.montoCredito = asientoContable.Monto;
            }
            else
            {
                asiento.montoDebito = asientoContable.Monto;
            }
            asiento.monto = asientoContable.Monto;
            var body = JsonSerializer.Serialize(asiento);

            body = body.Replace("ion", "ión");
            var content = new StringContent(body, System.Text.Encoding.UTF8, "application/json");
            var client  = new HttpClient();
            var post    = await client.PostAsync("https://sistemacontabilidad5.azurewebsites.net/api/ApiEntradaContables",
                                                 content);

            var strRes = post.IsSuccessStatusCode ? await post.Content.ReadAsStringAsync() : "";

            var result = JsonSerializer.Deserialize <Asiento>(strRes);

            asientoContable.Cuenta            = result.idCuentasContables.ToString();
            asientoContable.IdEntradaContable = asiento.idEntradaContable;
            _context.Add(asientoContable);
            await _context.SaveChangesAsync();

            return(true);
        }
        public static int crearAsientosContables(AsientoContable a)

        {
            int       jrentry = 0;
            DataTable tabla   = BDGP.GetInstance().CargarDataTableProc("covi_insertarAsientosContables", a.nroLote,
                                                                       a.REFRENCE, a.monto, a.cuentaDebito, a.cuentaCredito, a.DSCRIPTN,
                                                                       a.CURNCYID, a.TRXDATE, a.RVRSNGDT, a.EXPNDATE, a.EXCHDATE, a.SOURCDOC);

            if (BDGP.GetInstance().MensajeErrorReal != null)
            {
                throw BDGP.GetInstance().MensajeErrorReal;
            }

            if (tabla != null && tabla.Rows.Count > 0)
            {
                jrentry = tabla.Rows[0].Field <Int32>(0);
            }
            return(jrentry);
        }
示例#15
0
        public static AsientoContable IngresoLineasAsiento(AsientoContable asientoContable, PlanCuentas planCuentas)
        {
            Console.WriteLine("\tIngrese las lineas del asiento");

            bool salida = true;

            do
            {
                Cuenta cuenta = CustomInput.IngresoCuentaContable(planCuentas);

                TipoMovimiento columna = CustomInput.IngresoTipoColumna();

                int importe = Input.IngresoNumeroPositivo("Ingrese el monto");

                salida = Input.IngresoVerdaderoFalso("¿Desea continuar la carga de lineas?");

                asientoContable.agregarLinea(
                    new LineaAsientoContable(cuenta, importe, columna)
                    );

                if (
                    asientoContable.balance() != 0 &&
                    !salida
                    )
                {
                    Input.WriteYellowLine($"ATENCION");

                    Input.WriteYellowLine($"El asiento es inconsistente, el balance actual es de {asientoContable.balance()}.");

                    Input.WriteYellowLine($"Si no agrega otra linea el asiento será descartado.");

                    salida = Input.IngresoVerdaderoFalso("¿Desea continuar la carga de lineas?");
                }
            } while (salida);

            return(asientoContable);
        }
示例#16
0
        public IHttpActionResult PostAsientoContable(AsientoContableDto asientoContableDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(" Objeto invalido. Para mas información comuniquese con el administrador de la api. "));
            }

            if (asientoContableDto.Auxiliar == 0)
            {
                asientoContableDto.Auxiliar = (int)Auxiliares.Contabilidad;
            }


            AsientoContable asientoContable = new AsientoContable
            {
                Descripcion   = asientoContableDto.Descripcion,
                idAuxiliar    = asientoContableDto.Auxiliar,
                AsientoCuenta = asientoContableDto.Cuentas.Select(c => new AsientoCuenta
                {
                    idCuentaContable = c.id,
                    Monto            = c.monto,
                    tipoMov          = c.tipo
                }).ToArray(),
                Fecha  = DateTime.Now,
                Estado = "Registrado"
            };

            //Refrescando balances
            db.AsientoContable.Add(asientoContable);

            foreach (var cuenta in asientoContable.AsientoCuenta)
            {
                var cuentaContable = db.CuentaContable.Include(c => c.TipoCuenta).Single(c => c.idCuentaContable == cuenta.idCuentaContable);

                if (cuentaContable.TipoCuenta.Origen.ToLower() == "db")
                {
                    cuentaContable.Balance += (cuenta.tipoMov.ToLower() == "db") ?  cuenta.Monto : -cuenta.Monto;
                }
                else
                {
                    cuentaContable.Balance += (cuenta.tipoMov.ToLower() == "cr") ? cuenta.Monto : -cuenta.Monto;
                }
                //cuentaContable.Balance += cuenta.Monto;
            }

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (AsientoContableExists(asientoContable.idAsientoContable))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            //return CreatedAtRoute("DefaultApi", new { id = asientoContable.idAsientoContable }, asientoContable);

            return(Ok("Asiento registrado sastifactoriamente"));
        }
示例#17
0
        public IHttpActionResult PutAsientoContable(int id, AsientoContableDto asientoContableDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != asientoContableDto.idAsiento)
            {
                return(BadRequest());
            }

            if (asientoContableDto.Cuentas.Count == 0)
            {
                return(BadRequest("Debe especificar las cuentas de este asiento"));
            }

            if (asientoContableDto.Auxiliar == 0)
            {
                asientoContableDto.Auxiliar = (int)Auxiliares.Contabilidad;
            }


            //foreach (var cuenta in asientoContableDto.Cuentas)
            //{
            //    cuenta.id = asientoContableDto.idAsiento;
            //}

            AsientoContable asientoContable = new AsientoContable
            {
                idAsientoContable = asientoContableDto.idAsiento,
                Descripcion       = asientoContableDto.Descripcion,
                idAuxiliar        = asientoContableDto.Auxiliar,
                AsientoCuenta     = asientoContableDto.Cuentas.Select(c => new AsientoCuenta
                {
                    idCuentaContable  = c.id,
                    idAsientoContable = asientoContableDto.idAsiento,
                    Monto             = c.monto,
                    tipoMov           = c.tipo
                }).ToArray(),
                Fecha  = DateTime.Now,
                Estado = "Registrado"
            };



            db.Entry(asientoContable).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AsientoContableExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }