public async Task <IActionResult> Put(IngresosEgresosBanco ingresosEgresosBanco) { var user = this.GetServiceUser(); var oldMovimiento = db.IngresosEgresosBanco.Find(ingresosEgresosBanco.Id); if (oldMovimiento.EstadoId == (int)IngresosEgresosBancoEstados.Anulado) { return(BadRequest($"No se puede editar el movimiento {ingresosEgresosBanco.Id} por que esta anulado")); } var cambioOficial = await db.CambioOficial.FindAsync(ingresosEgresosBanco.FechaProceso); if (cambioOficial == null) { return(BadRequest("No se encontró la tasa de cambios para la fecha " + ingresosEgresosBanco.FechaProceso.ToShortDateString())); } oldMovimiento.TipoCambio = cambioOficial.Dolares; var bancoCuenta = DbIpsa.BancosCuentas.Find(ingresosEgresosBanco.BancoCuenta, "1000"); if (bancoCuenta == null) { return(BadRequest("No se encontró información del banco " + bancoCuenta.Descripcion)); } if (oldMovimiento.Procesado == true) { return(BadRequest($"No se puede editar el movimiento {ingresosEgresosBanco.Id} por que esta conciliado")); } oldMovimiento.TipoMonedaId = bancoCuenta.Moneda.Value; oldMovimiento.TipoDocumentoId = ingresosEgresosBanco.TipoDocumentoId; oldMovimiento.TipoMovimientoId = ingresosEgresosBanco.TipoMovimientoId; oldMovimiento.BancoCuenta = ingresosEgresosBanco.BancoCuenta; oldMovimiento.Referencia = ingresosEgresosBanco.Referencia; oldMovimiento.Monto = ingresosEgresosBanco.Monto; oldMovimiento.Concepto = ingresosEgresosBanco.Concepto; oldMovimiento.FechaProceso = ingresosEgresosBanco.FechaProceso; oldMovimiento.UsernameEditado = user.username; oldMovimiento.FechaEditado = DateTime.Now; db.SaveChanges(); return(Json(ingresosEgresosBanco)); }
public async Task <IActionResult> Post(IngresosEgresosBanco ingresosEgresosBanco) { var user = this.GetServiceUser(); if (settings.onlyNumber) { if (ingresosEgresosBanco.Referencia.Any(r => !char.IsNumber(r))) { return(BadRequest(string.Format($"La referencia {ingresosEgresosBanco.Referencia} debe ser númerica"))); } } ingresosEgresosBanco.CajaId = user.cajaid; ingresosEgresosBanco.EstadoId = (int)IngresosEgresosBancoEstados.Registrado; var cambioOficial = await db.CambioOficial.FindAsync(ingresosEgresosBanco.FechaProceso); if (cambioOficial == null) { return(BadRequest("No se encontró la tasa de cambios para la fecha " + ingresosEgresosBanco.FechaProceso.ToShortDateString())); } ingresosEgresosBanco.TipoCambio = cambioOficial.Dolares; var bancoCuenta = DbIpsa.BancosCuentas.Find(ingresosEgresosBanco.BancoCuenta, "1000"); if (bancoCuenta == null) { return(BadRequest("No se encontró información del banco " + bancoCuenta.Descripcion)); } ingresosEgresosBanco.TipoMonedaId = bancoCuenta.Moneda.Value; ingresosEgresosBanco.Username = user.username; ingresosEgresosBanco.FechaRegistro = DateTime.Now; ingresosEgresosBanco.Procesado = false; if (ModelState.IsValid) { db.Add(ingresosEgresosBanco); await db.SaveChangesAsync(); } return(Json(ingresosEgresosBanco)); }