public bool AddPay(PagoViewModel model) { ICollection <ReservaSet> reserva = db.Reservas .Find(r => r.Id == model.idReserva) .ToList(); PagoSet pago = new PagoSet { Descripcion = model.descripcion, Monto = model.monto, TipoPago = model.tipoPago, ReservaSet = reserva, Estado = model.Estado }; db.Pagos.Add(pago); try { db.Commit(); return(true); } catch (Exception) { return(false); } }
// GET: Cajas/Create public IActionResult Create() { var model = new PagoViewModel { }; model.Fecha = DateTime.Today.Date.ToString("dd-MM-yyyy"); model.FechaTransferencia = model.Fecha; model.MediosList = new SelectList(from Medio m in Enum.GetValues(typeof(Medio)) select new { Id = m, Name = m.ToString() }, "Id", "Name"); var oficinas = _context.ApplicationUser .Include(u => u.PuestosTrabajo) .ThenInclude(p => p.Oficina) .Single(u => u.UserName == User.Identity.Name) .PuestosTrabajo.Select(u => u.Oficina); model.OficinasList = new SelectList(from Oficina o in oficinas select new { o.Id, o.Name }, "Id", "Name", oficinas.Count() == 1 ? oficinas.First().Id.ToString() : null); model.AvailableDates = String.Format("'{0}'", String.Join("','", _context.Vale .Where(v => v.State == State.Activo || v.State == State.Pendiente) .Select(v => v.Date.Date.ToString("yyyy-M-d")).Distinct().ToList())); return(View(model)); }
public async Task <IActionResult> AddPago(int?id) { if (id == null) { return(NotFound()); } var propietario = await _context.Propietariostbls.FindAsync(id.Value); if (propietario == null) { return(NotFound()); } var model = new PagoViewModel { PropietarioId = propietario.Id, PAG_FECHACREACION = DateTime.Today, PAG_ESTADO = 'A', Anios1 = _combosHelper.GetComboAnios(), Meses1 = _combosHelper.GetComboMeses(), Valores = _combosHelper.GetComboValores(), TiposPago = _combosHelper.GetComboValoresDescripcion(), Puntos = _combosHelper.GetComboPuntos() }; return(View(model)); }
public async Task <IActionResult> AddPago(PagoViewModel model, ContabilidadViewModel model1) { if (ModelState.IsValid) { var pago = await _converterHelper.ToPagoAsync(model, true); var ingreso = await _converterHelper.ToIngresosAsync(model1, true); //var anio_nuevo = pago.Anio.Id; //var anio = _context.Pagostbls.Find(model.AnioId); //var mes_nuevo = pago.Mes.Id; //var mes = _context.Pagostbls.Find(model.MesId); //var anio_nuevo2 = anio_nuevo.ToString(); //var mes_nuevo2 = mes_nuevo.ToString(); //guardamos el pago _context.Pagostbls.Add(pago); _context.Contabilidadtbls.Add(ingreso); await _context.SaveChangesAsync(); //var IdDelRegistroInsertadoEnPagos = pago.Id; //var IdDelRegistroInsertadoEnIngresos = ingreso.Id; //var PagoInsertadoObj = _context.Contabilidadtbls.First(x => x.Id == IdDelRegistroInsertadoEnIngresos); //PagoInsertadoObj.Con_IngId = IdDelRegistroInsertadoEnPagos; //await _context.SaveChangesAsync(); return(RedirectToAction($"Details/{model.PropietarioId}")); } model.Anios1 = _combosHelper.GetComboAnios(); model.Meses1 = _combosHelper.GetComboMeses(); model.Valores = _combosHelper.GetComboValores(); model.TiposPago = _combosHelper.GetComboValoresDescripcion(); model.Puntos = _combosHelper.GetComboPuntos(); return(View(model)); }
public async Task <IActionResult> SeleccionarEntradas(long eventoId) { ClienteViewModel cliente = new ClienteViewModel(); if (User.Identity.IsAuthenticated) { if (User.IsInRole("Cliente")) { var user = await _userManager.FindByEmailAsync(User.Identity.Name); cliente = await _helperCliente.ObtenerClienteViewModelPorEmail(user.Email); } } var model = new PagoViewModel() { Cliente = cliente, EntradasGenericas = await _helperEntrada.PoblarComboGeneric(eventoId) }; ViewBag.DatosInvalidos = false; ViewBag.EntradaInsuficiente = false; ViewBag.ClienteExistente = false; ViewBag.EventoId = eventoId; return(View(model)); }
public TarjetasPagoElegirPage(pedidos p) { InitializeComponent(); pedidoActual = p; viewModel = new PagoViewModel(); this.BindingContext = viewModel; }
private void MappingThisFromViewModel(PagoViewModel curso) { this.Id = curso.Id; this.Alumno = curso.Alumno; this.Total_Cuenta = curso.Total_Cuenta; this.Valor_Pago = curso.Valor_Pago; this.Fecha_Pago = curso.Fecha_Pago; }
public Form_Pago(OnAddSuccessDelegate <PagoViewModel> onSuccess) { InitializeComponent(); _OnSuccessDelegate = onSuccess; _ViewModel = new PagoViewModel(); BindViewModel(); LoadDropdowns(); }
public async Task <InventarioEmpresa> ToInventarioEmpresaAsync(PagoViewModel model) { return(new InventarioEmpresa { Stock = model.UnidadesPagadas, ProductoReal = await _dataContext.ProductoReal.FindAsync(model.IdProductoFinal), Empresa = await _dataContext.Empresas.FindAsync(model.EmpresaId), }); }
public ActionResult Pago(int id) { PagoViewModel pvm = new PagoViewModel(); pvm.usuario = db.AspNetUsers.Find(User.Identity.GetUserId()); pvm.membresia = db.MEMBRESIA.Find(id); pvm.tarjeta = new TARJETA(); return(View(pvm)); }
// GET: Pagos/Create public IActionResult Create() { var model = new PagoViewModel { Empresas = _combosHelper.GetComboEmpresas(), ProductosFinales = _combosHelper.GetComboProductosReales(), }; return(View(model)); }
public async Task <ProductoPago> ToProductoPagoAsync(PagoViewModel model) { return(new ProductoPago { Monto = model.MontoPago, UnidadesPagadas = model.UnidadesPagadas, ProductoReal = await _dataContext.ProductoReal.FindAsync(model.IdProductoFinal), Pago = await _dataContext.Pagos.LastAsync(), }); }
public ActionResult <PagoViewModel> postPago(PagoInputModel pagoInput) { var pago = this.MapearPago(pagoInput); var response = pagoService.GuardarPago(pago); if (!response.Error) { var pagoView = new PagoViewModel(pago); return(Ok(pagoView)); } return(BadRequest(response.Mensaje)); }
public PagoViewModel GetMontoFaltante(int id) { ReservaSet reserva = db.Reservas.Find(p => p.Id == id).Single(); decimal pago = reserva.MontoPagado; PagoViewModel pagomodel = new PagoViewModel { idReserva = id, MontoFaltante = 160 - pago }; return(pagomodel); }
private async Task CambiarEstado(PagoViewModel pagos) { if (pagos.Estado) { await this.PagoDataService.Desactivar(pagos.Id).ConfigureAwait(false); } else { await this.PagoDataService.Activar(pagos.Id).ConfigureAwait(false); } this.LPagos = (await this.PagoDataService.Listar(100).ConfigureAwait(false)).ToList(); }
public bool ProductStorageExists(PagoViewModel model) { var inventarioempresa = _dataContext .InventarioEmpresas .FirstOrDefault(e => e.ProductoReal.Id == model.IdProductoFinal && e.Empresa.Id == model.EmpresaId); if (inventarioempresa == null) { return(false); } return(true); }
public async Task <Pago> ToPagoAsync(PagoViewModel model) { return(new Pago { Nombre = model.Nombre, MontoTotal = model.MontoTotal, Fecha = model.Fecha, Empresa = await _dataContext.Empresas.FindAsync(model.EmpresaId), }); }
public ActionResult AgregarPago(int id) { ViewBag.TipoPagoDrow = new SelectList(new List <Object> { new { value = "Deposito", text = "Deposito" }, new { value = "Efectivo", text = "Pago en Efectivo" }, new { value = "Paypal", text = "Paypal" } }, "value", "text", 1); PagoViewModel pagoModel = reservasConsultas.GetMontoFaltante(id); return(View(pagoModel)); }
public async Task <ActionResult <PagoViewModel> > Crear([FromForm] CrearViewModel model) { if (model == null) { return(this.BadRequest()); } if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var fecha = DateTime.Now; var pago = new Pago { OrdenId = model.OrdenId, Monto = model.Monto, CreatedAt = fecha, UpdatedAt = fecha, }; await this._context.Pagos.AddAsync(pago).ConfigureAwait(false); try { await this._context.SaveChangesAsync().ConfigureAwait(false); } catch (DbUpdateConcurrencyException) { return(this.BadRequest("Hubo un error al guardar sus datos.")); } var pagoModel = new PagoViewModel { Id = pago.Id, OrdenId = pago.OrdenId, Monto = pago.Monto, Estado = pago.Estado, CreatedAt = pago.CreatedAt, UpdatedAt = pago.UpdatedAt, }; return(this.CreatedAtAction("Mostrar", new { id = pago.Id }, pagoModel)); }
public async Task <Pagostbl> ToPagoAsync(PagoViewModel model, bool isNew) { var pagos = new Pagostbl { PAG_FECHAPAGADO = model.PAG_FECHAPAGADO, PAG_FECHACREACION = DateTime.Today, PAG_ESTADO = 'A', Id = isNew ? 0 : model.Id, Propietario = await _dataContext1.Propietariostbls.FindAsync(model.PropietarioId), Anio = await _dataContext1.Aniostbls.FindAsync(model.AnioId), Mes = await _dataContext1.Mesestbls.FindAsync(model.MesId), Val = await _dataContext1.Valorestbls.FindAsync(model.ValorId), Tipos = await _dataContext1.TiposPagotbls.FindAsync(model.TipoPagoId), PuntodePago = await _dataContext1.PuntosPagotbls.FindAsync(model.PuntoPagoId), }; return(pagos); }
public PagoPage() { var model = new PagoViewModel(); model.CargarTiposPago(); BindingContext = model; InitializeComponent(); picker.SelectedIndex = 0; pickerFactura.SelectedIndex = 0; pickerFactura.SelectedIndexChanged += this.OnPickerSelectedIndexChanged; Deuda.Text = "225.66"; Deuda.TextChanged += Deuda_TextChanged; MyLabel.Text = "225.66"; Valor.Text = "0.00"; Valor.TextChanged += Valor_TextChanged; }
public IActionResult AddPago(PagoViewModel pago) { try { var cfdi = _context.CFDIs.First(d => d.CfdUUID == pago.UUID); if (_context.CFDIPagados.Any(d => d.CfdUUID == pago.UUID && d.CfdReferenciaPago == pago.ReferenciaDePago)) { this.ShowError("Ya existe una referencia de pago registrada."); return(View("ConsultaCFDI", new PagoViewModel())); } _context.CFDIPagados.Add(new CFDIPagados { CfdUUID = pago.UUID, CfdSerie = cfdi.CfdSerie, CfdFolio = cfdi.CfdFolio, CfdFechaEmision = cfdi.CfdFechaEmision, CfdTipoComprobante = cfdi.CfdTipoComprobante, CfdFormaPago = cfdi.CfdFormaPago, CfdMetodoPago = cfdi.CfdMetodoPago, CfdMoneda = cfdi.CfdMoneda, CfdRFCEmisor = cfdi.CfdRFCEmisor, CfdNombreEmisor = cfdi.CfdNombreEmisor, CfdRFCReceptor = cfdi.CfdRFCReceptor, CfdNombreReceptor = cfdi.CfdNombreReceptor, CfdTotalImpuestosRetenidos = cfdi.CfdTotalImpuestosRetenidos, CfdTotalImpuestosTrasladados = cfdi.CfdTotalImpuestosTrasladados, CfdSubtotalCFDI = cfdi.CfdSubtotalCFDI, CfdTotalCFDI = cfdi.CfdTotalCFDI, //mis campos CfdFechaPago = pago.FechaDePago, CfdMontoPagado = pago.MontoDePago, CfdReferenciaPago = pago.ReferenciaDePago }); _context.SaveChanges(); this.ShowSuccess("Ingreso Exitoso"); return(View("ConsultaCFDI", new PagoViewModel())); } catch (Exception ex) { this.ShowError(ex.Message); } return(View("ConsultaCFDI")); }
public async Task <ActionResult> CrearAsync(PagoViewModel pago) { Pago_Web pago_crear = new Pago_Web(); bool retorno = await pago_crear.CreateFromViewAsync(pago); if (retorno) { SessionUser userSesion = new SessionUser(); Tarea_Terminada task = new Tarea_Terminada() { LayoutNombre = "_LayoutAdmin", Titulo = "Pago Creado", Mensaje = "El pago ha sido creado exitosamente.", ActionName = "MisPagos", ControllerName = "Pago", LinkTexto = "Volver a la lista de mis pagos" }; userSesion.SesionTareaTerminada = task; return(RedirectToAction("Exito", "Home")); } return(View("Nuevo", "_LayoutApoderado")); }
public async Task <IActionResult> EditPago(PagoViewModel model, ContabilidadViewModel model1) { if (ModelState.IsValid) { var pago = await _converterHelper.ToPagoAsync(model, false); var ingreso = await _converterHelper.ToIngresosAsync(model1, false); _context.Pagostbls.Update(pago); _context.Contabilidadtbls.Update(ingreso); await _context.SaveChangesAsync(); var IdTipoDelRegistroActualizadoEnPagos = pago.Tipos.Id; return(RedirectToAction($"Details/{model.PropietarioId}")); } model.Anios1 = _combosHelper.GetComboAnios(); model.Meses1 = _combosHelper.GetComboMeses(); model.Valores = _combosHelper.GetComboValores(); model.TiposPago = _combosHelper.GetComboValoresDescripcion(); model.Puntos = _combosHelper.GetComboPuntos(); return(View(model)); }
public ActionResult AgregarPago(PagoViewModel model) { ViewBag.TipoPagoDrow = new SelectList(new List <Object> { new { value = "Deposito", text = "Deposito" }, new { value = "Efectivo", text = "Pago en Efectivo" }, new { value = "Paypal", text = "Paypal" } }, "value", "text", 1); model.Estado = "P"; bool resultado = reservasConsultas.AddPay(model); ViewBag.resultado = resultado; if (resultado) { model.descripcion = null; model.MontoFaltante -= model.monto; model.monto = 0; model.tipoPago = null; } model = new PagoViewModel(); return(View(model)); }
public async Task <IActionResult> Create(PagoViewModel model) { if (ModelState.IsValid) { if (!_validatorHelper.IsEnoughProduct(model.IdProductoFinal, model.UnidadesPagadas)) { return(RedirectToAction("Error")); } var pago = await _converterHelper.ToPagoAsync(model); _context.Pagos.Add(pago); _context.SaveChanges(); var producto = await _context.ProductoReal.FindAsync(model.IdProductoFinal); producto.stock = producto.stock - model.UnidadesPagadas; _context.ProductoReal.Update(producto); _context.SaveChanges(); //Aqui tenemos que introducir producto pago con los datos del model. var productopago = await _converterHelper.ToProductoPagoAsync(model); _context.ProductoPagos.Add(productopago); _context.SaveChanges(); //Aqui tenemos que itroducir a inventarioEmpresa //Primero tenemos que verificar que no existael producto real combinado con la empresa if (!_validatorHelper.ProductStorageExists(model)) { var inventarioEmpresa = await _converterHelper.ToInventarioEmpresaAsync(model); _context.InventarioEmpresas.Add(inventarioEmpresa); _context.SaveChanges(); } else { var inventarioEmpresa = _context .InventarioEmpresas .FirstOrDefault(e => e.ProductoReal.Id == model.IdProductoFinal && e.Empresa.Id == model.EmpresaId); inventarioEmpresa.Stock = inventarioEmpresa.Stock + model.UnidadesPagadas; _context.InventarioEmpresas.Update(inventarioEmpresa); _context.SaveChanges(); } //Si existe extraemos y solamente lo actualizamos //Si no existe se procede a crear uno nuevo. return(RedirectToAction("Index")); } else { model.Empresas = _combosHelper.GetComboEmpresas(); } return(View(model)); }
public async Task <bool> UpdateFromViewAsync(PagoViewModel pago) { MappingThisFromViewModel(pago); return(await Update()); }
public async Task <IActionResult> SeleccionarEntradas(PagoViewModel vm, long eventoId) { try { ViewBag.DatosInvalidos = false; ViewBag.EntradaInsuficiente = false; ViewBag.ClienteExistente = false; ViewBag.EventoId = eventoId; if (!ModelState.IsValid) { ViewBag.DatosInvalidos = true; throw new Exception("Error de validacion no controlado."); } var evento = await _helperEvento.Obtener(eventoId); if (evento.CupoDisponible < vm.Cantidad) { ViewBag.EntradaInsuficiente = true; throw new Exception("Cantidad de entradas insuficiente."); } long clienteId = vm.Cliente.Id; var clienteVm = vm.Cliente; if (!User.Identity.IsAuthenticated) { var existe = await _helperCliente.ExisteCliente(vm.Cliente.Dni, vm.Cliente.Email); if (existe) { ViewBag.ClienteExistente = true; throw new Exception("Ya existe un cliente con los datos especificados."); } var clienteDto = new ClienteDto() { Apellido = vm.Cliente.Apellido, Nombre = vm.Cliente.Nombre, Dni = vm.Cliente.Dni, Email = vm.Cliente.Email }; clienteId = await _clienteServicio.InsertarDevuelveId(clienteDto); clienteVm = await _helperCliente.Obtener(clienteId); } await _helperEvento.ActualizarCupoDisponible(evento.Id, vm.Cantidad); // guardo la forma de pago var formaPagoDto = new FormaPagoTarjetaDto() { Nombre = vm.FormaPago.Nombre, NumeroTarjeta = vm.FormaPago.NumeroTarjeta, AnioExp = vm.FormaPago.AnioExp, MesExp = vm.FormaPago.MesExp, CodigoSeguridad = vm.FormaPago.CodigoSeguridad, CodigoPostal = vm.FormaPago.CodigoPostal, DireccionFacturacion = vm.FormaPago.DireccionFacturacion }; var formaPagoId = await _formaPagoTarjetaServicio.InsertarDevuelveId(formaPagoDto); var formaPagoVm = await _helperFormaPagoTarjeta.Obtener(formaPagoId); // guardo las entradas para el cliente (for int i=0; 1 < cantidad; i++) var entradaVm = await _helperEntrada.ObtenerEntrada(vm.EntradaId); long[] entradas = new long[vm.Cantidad]; for (int i = 0; i < vm.Cantidad; i++) { var entrada = new EntradaDto() { ClienteId = clienteId, EventoId = entradaVm.EventoId, Precio = entradaVm.Precio, TipoEntradaId = entradaVm.TipoEntradaId }; var entradaId = await _entradaServicio.InsertarDevuelveId(entrada); entradas[i] = entradaId; } return(RedirectToAction("AltaFacturaRedirect", "FacturaPDF", new { clienteId = clienteVm.Id, formaPagoId = formaPagoVm.Id, entradaId = entradaVm.Id, cantidad = vm.Cantidad, entradas })); } catch (Exception) { vm.EntradasGenericas = await _helperEntrada.PoblarComboGeneric(eventoId); return(View(vm)); } }
public async Task <IActionResult> Create([Bind("Fecha,ValeId,Medio,Monto,FechaTransferencia,RUT,ClienteId,Saldo,OficinaId")] PagoViewModel pago) { if (ModelState.IsValid && !String.IsNullOrEmpty(pago.Monto)) { var user = await _userManager.GetUserAsync(User); var plata = Convert.ToInt32(Regex.Replace(pago.Monto, "[^0-9]", "")); var cliente = _context.Cliente .Include(c => c.Vales) .ThenInclude(v => v.Cobros) .Single(c => c.Id == pago.ClienteId); var pagado = new Pago { Date = DateTime.Parse(pago.Fecha).Date, ApplicationUserId = user.Id, ClienteId = pago.ClienteId, Medio = pago.Medio, Monto = plata, Cliente = cliente, OficinaId = pago.OficinaId, Oficina = await _context.Oficina.SingleOrDefaultAsync(o => o.Id == pago.OficinaId) }; if (pago.Medio == Medio.Transferencia) { pagado.FechaTransferencia = DateTime.Parse(pago.FechaTransferencia).Date; pagado.RutTransferencia = Convert.ToInt32(String.Format(new InterceptProvider(), "{0:I}", pago.RUT)); } _context.Pago.Add(pagado); var vales = cliente.Vales.Where(v => v.State == State.Activo || v.State == State.Pendiente).OrderBy(v => v.Date); foreach (var v in vales) { var valePago = new ValePago { PagoId = pagado.Id, ValeId = v.Id }; _context.ValePagos.Add(valePago); var remanente = v.SubTotal - v.Pagado; if (plata > remanente) { plata -= remanente; v.Pagado = v.SubTotal; v.State = State.Pagado; _context.Vale.Update(v); } else if (plata == remanente) { v.Pagado = v.SubTotal; v.State = State.Pagado; _context.Vale.Update(v); break; } else if (plata < remanente) { v.Pagado += plata; v.State = State.Pendiente; _context.Vale.Update(v); break; } } var saldo = Convert.ToDouble(Regex.Replace(pago.Saldo, "[^0-9-]", "")); var vale = _context.Vale.Single(v => v.Id == pago.ValeId); _context.Vale.Update(vale); if (saldo == cliente.SaldosPendientes - pagado.Monto) { cliente.SaldosPendientes = Convert.ToInt32(Regex.Replace(pago.Saldo, "[^0-9-]", "")); _context.Cliente.Update(cliente); await _context.SaveChangesAsync(); var cobros = vales .SelectMany(v => v.Cobros) .Select(c => $@"<tr><td>{typeof(Honorario) .GetMember(c.Honorario.ToString()) .FirstOrDefault() .GetCustomAttribute<DisplayAttribute>(false) .Name}</td><td><i class=""fas fa-dollar-sign""></i></td><td style=""text-align:right"">" + c.Monto.ToString("C", CultureInfo.GetCultureInfo("es-CL")) + "</td></tr>"); //var cobrosList = new List<string> { }; //foreach(var c in cobros) //{ // cobrosList.Add($@"<tr><td>{typeof(Honorario) // .GetMember(c.Honorario.ToString()) // .FirstOrDefault() // .GetCustomAttribute<DisplayAttribute>(false) // .Name}</td><td><i class=""fas fa-dollar-sign""></i></td><td style=""text-align:right"">" + // c.Monto.ToString("C", CultureInfo.GetCultureInfo("es-CL")) + "</td></tr>"); //} var dlEmail = new BoletaEmail { Id = pagado.Id, Fecha = pagado.Date.ToString("dd-MM-yyyy"), Cobros = String.Join("", cobros), Emitidos = "", Saldos = "", Total = pagado.Monto.ToString("C", CultureInfo.GetCultureInfo("es-CL")), }; var renderer = new RazorViewToStringRenderer(_viewEngine, _tempDataProvider, _serviceProvider); var result = renderer.RenderViewToString("_BoletaEmail", dlEmail).GetAwaiter().GetResult(); await _emailSender.SendEmailAsync(user.Email, $@"BOLETA {pagado.Id}", result); return(RedirectToAction(nameof(Index))); } return(NotFound()); } var model = new PagoViewModel { }; model.Fecha = DateTime.Today.Date.ToString("dd-MM-yyyy"); model.FechaTransferencia = model.Fecha; model.MediosList = new SelectList(from Medio m in Enum.GetValues(typeof(Medio)) select new { Id = m, Name = m.ToString() }, "Id", "Name"); model.AvailableDates = String.Format("'{0}'", String.Join("','", _context.Vale .Where(v => v.State == State.Activo || v.State == State.Pendiente) .Select(v => v.Date.Date.ToString("yyyy-M-d")).Distinct().ToList())); return(View(model)); }
public Tarjetasdepago() { InitializeComponent(); viewModel = new PagoViewModel(); this.BindingContext = viewModel; }