public async Task <IActionResult> EditLotes(int?id) { if (id == null) { return(NotFound()); } var lote = _context.LoteRecibos.Where(l => l.CajaId == id.Value).FirstOrDefault(); ViewBag.Caja = _context.Caja.Find(id).Description; if (lote == null) { var newLote = new LoteRecibos { CajaId = id.Value, Actual = 0, Final = 0, Inicio = 0 }; _context.LoteRecibos.Add(newLote); _context.SaveChanges(); return(View(newLote)); } decimal porcentaje = 0; if (Convert.ToInt16(lote.Final - lote.Inicio) != 0) { porcentaje = (Convert.ToDecimal(lote.Actual - lote.Inicio) / Convert.ToDecimal(lote.Final - lote.Inicio)) * 100; } ViewBag.Porcentaje = Math.Round(porcentaje, 2); return(View(lote)); }
public IActionResult CorregirFecha(int Id, DateTime FechaProceso) { var user = this.GetServiceUser(); var oldRecibo = db.IngresosEgresosCaja.Find(Id); if (oldRecibo == null) { return(NotFound("No se encontro el recibo con id: " + Id)); } oldRecibo.FechaProceso = FechaProceso; oldRecibo.UsernameEditado = user.username; oldRecibo.FechaEditado = DateTime.Now; db.SaveChanges(); return(Json(FechaProceso)); }
public async Task <IActionResult> update(int BancoCuenta, [Bind("BancoCuenta,SaldoInicial,Fecha")] ProcesoBanco procesoBanco) { var user = this.GetServiceUser(); var procesoBancoSesrvices = new ProcesoBancoServices(db); var Existe = procesoBancoSesrvices.ExistSaldoIncial(BancoCuenta); if (Existe) { var oldProcesoBanco = db.ProcesoBanco.Where(b => b.BancoCuenta == BancoCuenta && b.TipoProcesoId == (int)TipoProcesos.SaldoInicial).FirstOrDefault(); if (procesoBanco.SaldoInicial != 0) { oldProcesoBanco.SaldoInicial = procesoBanco.SaldoInicial; } if (procesoBanco.Fecha > DateTime.MinValue) { oldProcesoBanco.Fecha = new DateTime(procesoBanco.Fecha.Year, procesoBanco.Fecha.Month, 1); } db.SaveChanges(); } else { var newProcesoBanco = new ProcesoBanco { BancoCuenta = BancoCuenta, SaldoInicial = procesoBanco.SaldoInicial, SaldoFinal = 0, Fecha = procesoBanco.Fecha, Username = user.username, FechaRegistrado = DateTime.Now, TipoProcesoId = (int)TipoProcesos.SaldoInicial }; db.ProcesoBanco.Add(newProcesoBanco); db.SaveChanges(); } return(Ok()); }
public IActionResult SaveAuxiliarAndIngresosEgresos(ConciliacionViewModel conciliacionViewModel) { var procesoBancoServices = new ProcesoBancoServices(db); var procesoBanco = procesoBancoServices.Find(conciliacionViewModel.BancoCuenta, conciliacionViewModel.Year, conciliacionViewModel.Month); if (procesoBanco == null) { return(BadRequest($"No se encontro el proceso para el banco {conciliacionViewModel.BancoCuenta} del año {conciliacionViewModel.Year} y mes {conciliacionViewModel.Month}")); } var id = procesoBanco.Id; var auxs = new List <ConciliacionBancariaAux>(); foreach (var aux in conciliacionViewModel.conciliacionBancariaAux) { auxs.Add(new ConciliacionBancariaAux { Fecha = aux.Fecha, Referencia = aux.Referencia, TipoMovimientoId = aux.TipoMovimientoId, Debito = aux.Debito, Credito = aux.Credito, EstadoId = aux.EstadoId, Uuid = aux.Uuid, ProcesoBancoId = id }); } var ecs = new List <ConciliacionBancaria>(); foreach (var ec in conciliacionViewModel.conciliacionBancaria) { ecs.Add(new ConciliacionBancaria { Fecha = ec.Fecha, Referencia = ec.Referencia, TipoMovimientoId = ec.TipoMovimientoId, Debito = ec.Debito, Credito = ec.Credito, EstadoId = ec.EstadoId, Uuid = ec.Uuid, ProcesoBancoId = id }); } var oldProcesoBanco = db.ProcesoBanco.Find(id); oldProcesoBanco.ConciliacionBancaria = ecs; oldProcesoBanco.ConciliacionBancariaAux = auxs; db.SaveChanges(); return(Ok()); }
public async Task <IActionResult> Delete(ProfileViewModel profileViewModel) { var profile = await db.Profile.FindAsync(profileViewModel.Username); if (profile != null) { profile.Nestado = 91; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(profileViewModel)); }
public async Task <IActionResult> AjustarRecibo(int idrecibo, decimal monto) { var i = new IngresosEgresosCajaDetalle { Cantidad = 1, CtaContable = $"1000{0}", Precio = monto, Montodolar = monto, ReciboId = idrecibo }; db.IngresosEgresosCajaDetalle.Add(i); db.SaveChanges(); return(Ok()); }
public async Task <IActionResult> CancelRecibo(int idrecibo, string motivo) { var user = this.GetServiceUser(); var recibo = db.IngresosEgresosCaja.Find(idrecibo); if (recibo.EstadoId == (int)IngresosEgresosCajaEstado.Anulado) { return(BadRequest($"No se puede anular el recibo {recibo.NumRecibo} por que ya estaba anulado")); } recibo.EstadoId = (int)IngresosEgresosCajaEstado.Anulado; recibo.MotivoAnulado = motivo; recibo.UsernameAnulado = user.username; recibo.FechaAnulado = DateTime.Now; db.SaveChanges(); return(Ok()); }
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 IActionResult SaveAuxiliarAndIngresosEgresos(ConciliacionViewModel conciliacionViewModel) { var usr = this.GetServiceUser(); var info = DbIpsa.BancosCuentas.Include(b => b.Banco).Where(bc => bc.BancoCuenta == conciliacionViewModel.BancoCuenta).ToList(); if (info == null) { return(BadRequest("No se encontró el banco")); } var accountInfo = from i in info join m in db.TipoMoneda on i.Moneda equals m.Id select new AccountDescription { BancoId = i.Bancoid, Banco = i.Banco.Descripcion, MonedaId = i.Moneda.Value, Moneda = m.Descripcion, Sucursal = i.NombreSucursal, Cuenta = i.CtaContable, Descripcion = i.Descripcion, BancoCuenta = i.BancoCuenta }; var _BancosCuentas = accountInfo.FirstOrDefault(); var procesoBancoServices = new ProcesoBancoServices(db); var existeSaldoInicial = procesoBancoServices.ExistSaldoIncial(conciliacionViewModel.BancoCuenta); if (!existeSaldoInicial) { return(BadRequest($"No se encontró el proceso inicial para el banco {conciliacionViewModel.BancoCuenta} del año {conciliacionViewModel.Year} y mes {conciliacionViewModel.Month}")); } var procesoBanco = procesoBancoServices.Find(conciliacionViewModel.BancoCuenta, conciliacionViewModel.Year, conciliacionViewModel.Month); if (procesoBanco.Exist() && !procesoBanco.IsInitialBalance()) { return(BadRequest($"Ya se concilio el mes de {HelperExtensions.NombreDelMes(conciliacionViewModel.Month)} para el año {conciliacionViewModel.Year} de la cuenta {conciliacionViewModel.BancoCuenta}")); } //Verificar que existe un preceso en el mes anterior var validate = procesoBancoServices.VerificarProcesoAnterio(_BancosCuentas, conciliacionViewModel.Year, conciliacionViewModel.Month); if (!validate.successed) { return(BadRequest(validate.Error)); } decimal saldoAnterior = validate.saldoAnterior; var auxs = new List <ConciliacionBancariaAux>(); foreach (var aux in conciliacionViewModel.conciliacionBancariaAux) { auxs.Add(new ConciliacionBancariaAux { Fecha = aux.Fecha, Referencia = aux.Referencia, TipoMovimientoId = aux.TipoMovimientoId, Debito = aux.Debito, Credito = aux.Credito, EstadoId = aux.EstadoId, Uuid = aux.Uuid, Conciliado = string.IsNullOrEmpty(aux.Uuid) ? false : true, TableInfo = aux.TableInfo, IdOrigen = aux.IdOrigen, IdRef = aux.IdRef }); } var ecs = new List <ConciliacionBancaria>(); foreach (var ec in conciliacionViewModel.conciliacionBancaria) { ecs.Add(new ConciliacionBancaria { Fecha = ec.Fecha, Referencia = ec.Referencia, TipoMovimientoId = ec.TipoMovimientoId, Debito = ec.Debito, Credito = ec.Credito, EstadoId = ec.EstadoId, Uuid = ec.Uuid, Conciliado = string.IsNullOrEmpty(ec.Uuid) ? false : true }); } if (procesoBanco.Exist() && procesoBanco.IsInitialBalance()) { procesoBanco.ConciliacionBancaria = ecs; procesoBanco.ConciliacionBancariaAux = auxs; procesoBanco.SaldoFinal = procesoBanco.SaldoInicial + ecs.Sum(x => x.Credito) - ecs.Sum(x => x.Debito); } else if (!procesoBanco.Exist()) { var newProcesoBanco = new ProcesoBanco { BancoCuenta = conciliacionViewModel.BancoCuenta, Fecha = new DateTime(conciliacionViewModel.Year, conciliacionViewModel.Month, 1), SaldoInicial = saldoAnterior, SaldoFinal = saldoAnterior + ecs.Sum(x => x.Credito) - ecs.Sum(x => x.Debito), Username = usr.username, FechaRegistrado = DateTime.Now, TipoProcesoId = (int)TipoProcesos.Movimientos, ConciliacionBancaria = ecs, ConciliacionBancariaAux = auxs }; } var iecData = conciliacionViewModel.conciliacionBancariaAux.Where(x => x.TableInfo == 1).Select(x => x.IdOrigen).ToArray(); var ingresosCajaReferencias = db.IngresosEgresosCajaReferencias.Where(f => iecData.Contains(f.Id)).ToList(); if (ingresosCajaReferencias.Count > 0) { ingresosCajaReferencias.ForEach(a => a.Procesado = string.IsNullOrEmpty(conciliacionViewModel.conciliacionBancariaAux.Where(x => x.IdOrigen == a.Id && x.TableInfo == 1).FirstOrDefault().Uuid) ? false : true); } var iebData = conciliacionViewModel.conciliacionBancariaAux.Where(x => x.TableInfo == 2).Select(x => x.IdOrigen).ToArray(); var ingresosBanco = db.IngresosEgresosBanco.Where(f => iebData.Contains(f.Id)).ToList(); if (ingresosBanco.Count > 0) { ingresosBanco.ForEach(a => a.Procesado = string.IsNullOrEmpty(conciliacionViewModel.conciliacionBancariaAux.Where(x => x.IdOrigen == a.Id && x.TableInfo == 2).FirstOrDefault().Uuid) ? false : true); } db.SaveChanges(); return(Ok()); }