public async Task <ActionResult> EditRols(ProfileModificationModel model) { if (ModelState.IsValid) { foreach (int rolId in model.IdsToAdd ?? new int[] { }) { var profilerole = new Profilerole { RoleId = rolId, Username = model.username }; db.Add(profilerole); } foreach (int rolId in model.IdsToDelete ?? new int[] { }) { var profilerole = db.Profilerole.Where(p => p.Username == model.username && p.RoleId == rolId).FirstOrDefault(); if (profilerole != null) { db.Profilerole.Remove(profilerole); } } await db.SaveChangesAsync(); return(RedirectToAction("EditRols", new { id = model.username })); } return(View("Error", new string[] { "Role Not Found" })); }
public async Task <IActionResult> Create([Bind("Reporte,UsernameElaborado,UsernameRevisado,UsernameAprobado,UsernameAutorizado")] ReporteFirma reporteFirma) { if (ModelState.IsValid) { _context.Add(reporteFirma); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(reporteFirma)); }
public async Task <IActionResult> Create([Bind("Identificacion,Nombre,Apellido,Telefono,Correo,Direccion,TipoClienteId")] Cliente cliente) { if (ModelState.IsValid) { db.Add(cliente); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["TipoClienteId"] = new SelectList(db.TipoCliente, "Id", "Tipocliente", cliente.Id); return(View(cliente)); }
public async Task <IActionResult> Create([Bind("Id,Descripcion,TipoDoc,DocName")] TipoMovimiento tipoMovimiento) { if (ModelState.IsValid) { _context.Add(tipoMovimiento); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["TipoDoc"] = new SelectList(_context.TipoDocumento, "Id", "Descripcion", tipoMovimiento.TipoDoc); return(View(tipoMovimiento)); }
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)); }
public async Task <IActionResult> Create([Bind("Id,NoCaja,Description")] Caja caja) { if (ModelState.IsValid) { _context.Add(caja); await _context.SaveChangesAsync(); var loterecibo = new LoteRecibos { CajaId = caja.Id, Actual = 0, Final = 0, Inicio = 0 }; _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(caja)); }
public async Task <IActionResult> Create(IngresoEgresosCajaViewModel iECajaViewModel) { if (settings.readLog) { createLogs(iECajaViewModel, "Create"); } var user = this.GetServiceUser(); if (user.description.Contains("2017") && iECajaViewModel.master.FechaProceso.Year != 2017) { return(BadRequest("El usuario solo puede registrar información para el año 2017")); } var ingresosEgresosCaja = iECajaViewModel.master; if (iECajaViewModel.master.FechaProceso.Year < 2016) { return(BadRequest("No se pueden registrar recibos menor a la fecha 01/01/2017")); } //Numero de recibo actual var lote = db.LoteRecibos.Where(lt => lt.CajaId == user.cajaid).FirstOrDefault(); ingresosEgresosCaja.NumRecibo = (lote.Actual + 1).ToString().PadLeft(10, '0'); lote.Actual = lote.Actual + 1; //var oldRecibo = db.IngresosEgresosCaja.Where(x=>x.NumRecibo == ingresosEgresosCaja.NumRecibo && x.CajaId == user.cajaid).FirstOrDefault(); //if(oldRecibo != null){ // return BadRequest("Ya existe un recibo con el numero " + ingresosEgresosCaja.NumRecibo + " para la caja " + user.description); //} ingresosEgresosCaja.TipoMovimientoId = 32; ingresosEgresosCaja.EstadoId = 1; ingresosEgresosCaja.FechaRegistro = DateTime.Now; ingresosEgresosCaja.CajaId = user.cajaid; ingresosEgresosCaja.Username = user.username; var totalServicioDolar = iECajaViewModel.details.Sum(s => s.montodolar); var totalPagoDolar = iECajaViewModel.referencias.Sum(p => p.totalD); if (Math.Round(totalServicioDolar, 4) != Math.Round(totalPagoDolar, 4)) { return(BadRequest(string.Format($"El total cobrado por los servicios ({Math.Round(totalServicioDolar, 4)}) no conicide con el total pagado {Math.Round(totalPagoDolar, 4)}"))); } var totalPagoCordoba = iECajaViewModel.referencias.Sum(p => p.totalC); if (iECajaViewModel.master.TipoMonedaId == (short)TipoMonedaParamFilter.Cordoba) { ingresosEgresosCaja.Total = totalPagoCordoba; } if (iECajaViewModel.master.TipoMonedaId == (short)TipoMonedaParamFilter.Dolar) { ingresosEgresosCaja.Total = totalPagoDolar; } foreach (var item in iECajaViewModel.details) { //Permitir valores en negativo if (item.cantidad <= 0) { return(BadRequest(string.Format($"El monto o la cantidad para el servicio de la cuenta 1000{item.cta_cuenta}, no puede ser 0"))); } var _montoDolar = item.precio * item.cantidad; ingresosEgresosCaja.IngresosEgresosCajaDetalle.Add(new IngresosEgresosCajaDetalle { Cantidad = item.cantidad, CtaContable = $"1000{item.cta_cuenta}", Precio = item.precio, Montodolar = _montoDolar, ReciboId = ingresosEgresosCaja.Id }); } foreach (var referencia in iECajaViewModel.referencias) { if (settings.onlyNumber) { if (referencia.Referencia.Any(r => !char.IsNumber(r))) { return(BadRequest(string.Format($"La referencia {referencia.Referencia} debe ser númerica"))); } } if (referencia.TipoPagoId == (short)TipoPagoParamFilter.None) { return(BadRequest(string.Format("Debe seleccionar un tipo de pago válido"))); } if (referencia.TipoPagoId == (short)TipoPagoParamFilter.Minuta || referencia.TipoPagoId == (short)TipoPagoParamFilter.Transferencia || referencia.TipoPagoId == (short)TipoPagoParamFilter.Cheque) { if (referencia.Referencia == null || referencia.Referencia.Trim().Length == 0) { return(BadRequest(string.Format("Debe de ingresar la referencia para la forma de pago cheque, minuta o transferencia"))); } if (referencia.IdBanco == null || referencia.IdBanco == 0) { return(BadRequest(string.Format("Debe de ingresar el banco para la forma de pago cheque, minuta o transferencia"))); } } var _CambioOficial = db.CambioOficial.Find(referencia.Fecha); if (_CambioOficial == null) { return(NotFound(string.Format("No se encontró la tasa de cambio para la fecha {0} de la referencia {1}", referencia.Fecha, referencia.Referencia))); } if (_CambioOficial.Dolares != referencia.TipoCambioManual && !user.roles.Contains((int)Roles.CambiarTasa)) { return(NotFound(string.Format("No tiene permisos para modificar la tasa de cambio, solicite el permiso de cambiar tasa de cambio", referencia.Fecha, referencia.Referencia))); } var tasaOficial = referencia.TipoCambioManual; ingresosEgresosCaja.IngresosEgresosCajaReferencias.Add(new IngresosEgresosCajaReferencias { ReciboId = ingresosEgresosCaja.Id, MontoEfectivo = referencia.MontoEfectivo, MontoMinu = referencia.MontoMinu, MontoCheq = referencia.MontoCheq, MontoTrans = referencia.MontoTrans, Total = (referencia.MontoEfectivo + referencia.MontoMinu + referencia.MontoCheq + referencia.MontoTrans), Fecha = referencia.Fecha, TipoCambio = tasaOficial, Referencia = referencia.Referencia, IdBanco = referencia.IdBanco, TipoPagoId = referencia.TipoPagoId, Procesado = false }); } ingresosEgresosCaja.Referencias = (short)ingresosEgresosCaja.IngresosEgresosCajaReferencias.Count(); db.Add(ingresosEgresosCaja); try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { return(BadRequest()); } return(Json(ingresosEgresosCaja, new JsonSerializerSettings { MaxDepth = 1, ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore } )); }