private void BtnConfirmar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (MessageBox.Show("Confirmar descuento", "Agregar descuento", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    transaccion                = DataContext as TransaccionModel;
                    transaccion.Estado         = CapaNegocio.ValueObjects.EntityState.Actualizado;
                    transaccion.PorcentajeDesc = Convert.ToDecimal(txtDescuento.Text) / 100;
                    transaccion.Descuento      = Convert.ToDecimal(txtTotalDescuento.Text);

                    bool validar = new Helps.DataValidation(transaccion).Validar();

                    if (validar)
                    {
                        transaccion.GuardarCambios();
                        this.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Agregar descuento", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemplo n.º 2
0
        // GET: Transaccion/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TransaccionModel transaccionModel = _repository.Devolver(id);
            CuentaModel      cuentaDestino    = _repoCuentas.Devolver(transaccionModel.CuentaIdDestino);

            //Verifico si la cuenta destino tiene el monto para devolverlo
            if (cuentaDestino.Saldo < transaccionModel.Monto)
            {
                ViewBag.CuentaDestino = false;
            }
            else
            {
                ViewBag.CuentaDestino = true;
            }

            if (transaccionModel == null)
            {
                return(HttpNotFound());
            }
            return(View(transaccionModel));
        }
 public void Actualizar(TransaccionModel datos)
 {
     using (var c = new Contexto())
     {
         c.Entry(datos).State = EntityState.Modified;
         c.SaveChanges();
     }
 }
Exemplo n.º 4
0
        public ActionResult DeleteConfirmed(int id)
        {
            TransaccionModel transaccionModel = _repository.Devolver(id);
            CuentaModel      cuentaDestino    = _repoCuentas.Devolver(transaccionModel.CuentaIdDestino);

            //Verifico si la cuenta destino tiene el monto para devolverlo
            if (cuentaDestino.Saldo >= transaccionModel.Monto)
            {
                _repository.Eliminar(transaccionModel);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 5
0
        // GET: Transaccion/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TransaccionModel transaccionModel = _repository.Devolver(id);

            if (transaccionModel == null)
            {
                return(HttpNotFound());
            }
            return(View(transaccionModel));
        }
Exemplo n.º 6
0
        public IActionResult Abonar(SigoCreditosInfoModel model)
        {
            bool esGiftCard = string.IsNullOrWhiteSpace(model.Abono.IndGiftCard) ? false : Convert.ToBoolean(model.Abono.IndGiftCard);

            if (esGiftCard)
            {
                model.Abono.MontoTransaccion = model.Abono.MontoTransaccionGiftCard;
            }

            TransaccionModel transaccion = new TransaccionModel(model);

            try
            {
                if (!ModelState.IsValid)
                {
                    return(Configure());
                }

                var result = esGiftCard  ? CRMContext.CRMContext.EnviarGiftCard(model) : CRMContext.CRMContext.AbonarPuntos(model);
                if (result != null)
                {
                    model.Abono.Cod_Abono           = result.Cod_Abono;
                    transaccion.Cod_Abono           = result.Cod_Abono;
                    model.Abono.TransaccionPayPalId = transaccion.TransaccionPaypalID;
                    transaccion.Estatus_Operacion   = result.Cod_Abono != 0 ? true : false;
                    InsertarPaypal(transaccion);
                    return(Json(model));
                }
                else
                {
                    transaccion.Estatus_Operacion   = false;
                    model.Abono.TransaccionPayPalId = transaccion.TransaccionPaypalID;
                    InsertarPaypal(transaccion);
                    return(Json(model));
                }
            }
            catch (Exception)
            {
                model.Abono.TransaccionPayPalId = transaccion.TransaccionPaypalID;
                transaccion.Estatus_Operacion   = false;
                InsertarPaypal(transaccion);
                return(Json(model));
                //throw ex;
            }
        }
        public void Eliminar(TransaccionModel datos)
        {
            using (var c = new Contexto())
            {
                CuentasRepository cr             = new CuentasRepository();
                CuentaModel       _cuentaOrigen  = cr.Devolver(datos.CuentaIdOrigen);
                CuentaModel       _cuentaDestino = cr.Devolver(datos.CuentaIdDestino);
                cr.MovimientosCuenta(_cuentaDestino, _cuentaOrigen, datos.Monto);
                _cuentaOrigen.TransaccionesCuentaOrigen   = null;
                _cuentaOrigen.TransaccionesCuentaDestino  = null;
                _cuentaDestino.TransaccionesCuentaOrigen  = null;
                _cuentaDestino.TransaccionesCuentaDestino = null;

                c.Entry(_cuentaOrigen).State  = EntityState.Modified;
                c.Entry(_cuentaDestino).State = EntityState.Modified;
                c.Entry(datos).State          = EntityState.Deleted;
                c.SaveChanges();
            }
        }
        private void BtnAgregarDescuento_Click(object sender, RoutedEventArgs e)
        {
            ModuloDescuento moduloDescuento = new ModuloDescuento();

            transaccion = dgdProductos.SelectedItem as TransaccionModel;

            if (transaccion != null)
            {
                moduloDescuento.DataContext = transaccion;

                moduloDescuento.ShowDialog();

                MostrarUltimasTransacciones(lblNumTransaccion.Content.ToString());
            }
            else
            {
                MessageBox.Show("Por favor seleccione una fila", "Agregar descuento", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        private void BtnEliminar_Click(object sender, RoutedEventArgs e)
        {
            transaccion = dgdProductos.SelectedItem as TransaccionModel;

            if (producto != null)
            {
                if (MessageBox.Show("¿Está seguro de eliminar este producto del carrito de compras?", "Eliminar categoria", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    transaccion.Estado = EntityState.Eliminado;

                    string resultado = transaccion.GuardarCambios();
                    MessageBox.Show(resultado, "Eliminar producto", MessageBoxButton.OK, MessageBoxImage.Information);
                    MostrarUltimasTransacciones(lblNumTransaccion.Content.ToString());
                }
            }
            else
            {
                MessageBox.Show("Por favor seleccione una fila", "Eliminar producto", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
Exemplo n.º 10
0
        private void BtnCancelarOrden_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (cmbAgregarAInventario.Text != "" && txtCantidadCancelada.Text != "" && txtRazon.Text != "")
                {
                    if (Convert.ToInt32(txtCantidad.Text) >= (Convert.ToInt32(txtCantidadCancelada.Text)))
                    {
                        ModuloCancelarOrden cancelarOrden = new ModuloCancelarOrden();
                        cancelarOrden.ShowDialog();

                        string username = cancelarOrden.txtUsername.Text;

                        //Guardamos la orden cancelada en tblCancel
                        GuardarOrdenCancelada(username);

                        if (cancelarOrden.Valido)
                        {
                            //Restauramos la cantidad de produtos en la tblProduct
                            if (cmbAgregarAInventario.SelectedIndex == 0)
                            {
                                RestaurarCantidadDeProductos();
                            }
                            //Disminuimos la cantidad de productos comprados en la tblCart
                            TransaccionModel transaccion = new TransaccionModel();
                            int respuesta = transaccion.ActualizarCantidadTransaccion(Convert.ToInt32(txtIdTransacion.Text), txtNumTransaccion.Text, txtIdProducto.Text, (-1 * Convert.ToInt32(txtCantidadCancelada.Text)));

                            if (respuesta > 0)
                            {
                                MessageBox.Show("Transacción de pedido cancelada con éxito", "Cancelar orden", MessageBoxButton.OK, MessageBoxImage.Information);
                                this.Close();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemplo n.º 11
0
 public ActionResult Create([Bind(Include = "Id,Fecha,CuentaIdOrigen,CuentaIdDestino,Monto,Descripcion")] TransaccionModel transaccionModel)
 {
     if (ModelState.IsValid)
     {
         if (transaccionModel.Id > 0)
         {
             if (_montoViejo != transaccionModel.Monto)
             {
                 _montoViejo = _montoViejo - transaccionModel.Monto;
             }
             _repository.Grabar(transaccionModel, _montoViejo);
             return(RedirectToAction("Index"));
         }
         else
         {
             _repository.Grabar(transaccionModel, 0);
         }
         _montoViejo = 0;
         return(RedirectToAction("Index"));
     }
     ViewBag.CuentaIdOrigen  = new SelectList(_repoCuentas.Listar(), "Id", "Nombre");
     ViewBag.CuentaIdDestino = new SelectList(_repoCuentas.Listar(), "Id", "Nombre");
     return(RedirectToAction("Crud", "Transaccion", transaccionModel));
 }
        //le paso el modelo a actualizar o agregar y el monto que es la diferencia a actualizar en el caso que haya cambiado el monto,
        //lo hago todo en una transaccion para que aplique todos los cambios
        public void Grabar(TransaccionModel datos, double monto)
        {
            using (var c = new Contexto())
            {
                CuentasRepository cr             = new CuentasRepository();
                CuentaModel       _cuentaOrigen  = cr.Devolver(datos.CuentaIdOrigen);
                CuentaModel       _cuentaDestino = cr.Devolver(datos.CuentaIdDestino);
                if (datos.Id > 0)
                {
                    c.Entry(datos).State = EntityState.Modified;
                    //Si monto es mayor que 0 tiene que devolver a la cuentaOrigen y restarle a la destino
                    if (monto > 0)
                    {
                        cr.MovimientosCuenta(_cuentaDestino, _cuentaOrigen, monto);
                    }
                    //Caso contrario tiene que sumarle la diferencia que es el Monto a cuentaOrigen y restarle a Destino
                    else
                    {
                        cr.MovimientosCuenta(_cuentaOrigen, _cuentaDestino, monto);
                    }
                    _cuentaOrigen.TransaccionesCuentaOrigen   = null;
                    _cuentaOrigen.TransaccionesCuentaDestino  = null;
                    _cuentaDestino.TransaccionesCuentaOrigen  = null;
                    _cuentaDestino.TransaccionesCuentaDestino = null;
                }
                else
                {
                    c.Transaccion.Add(datos);
                    cr.MovimientosCuenta(_cuentaOrigen, _cuentaDestino, datos.Monto);
                }

                c.Entry(_cuentaOrigen).State  = EntityState.Modified;
                c.Entry(_cuentaDestino).State = EntityState.Modified;
                c.SaveChanges();
            }
        }
Exemplo n.º 13
0
 /// <summary>
 /// Guarda los datos de la transaccion de paypal
 /// </summary>
 /// <param name="model"></param>
 /// <param name="estatus"></param>
 private void InsertarPaypal(TransaccionModel model)
 {
     try
     {
         var SCPaypalmodel = new SigoCreditosPaypal
         {
             TransaccionPaypalID = model.TransaccionPaypalID,
             TransaccionCreditID = model.Cod_Abono,
             CedulaReceptor      = model.CedulaReceptor,
             Estatus_Operacion   = model.Estatus_Operacion,
             Monto          = model.Monto,
             FechaCreacion  = DateTime.Now,
             NombreReceptor = model.NombreReceptor,
             CustomerID     = model.CustomerID,
             EsGiftCard     = model.IndGiftCard,
             CodigoGiftCard = model.CodigoGiftCard
         };
         _SigoCreditosPayPalService.InsertSigoCreditosPaypal(SCPaypalmodel);
     }
     catch (Exception ex)
     {
         throw new NopException("Error al InsertarPaypal: " + ex.Message, ex);
     }
 }
Exemplo n.º 14
0
        public IViewComponentResult Invoke(string documento, string tipoDocumento, int CurrentCustomerId)
        {
            try
            {
                if (documento == null)
                {
                    return(View("~/Plugins/Payments.SigoCreditos/Views/Login.cshtml"));
                }
                // var model = new SigoCreditosInfoModel();
                string pDocumento   = tipoDocumento.Equals("2") ? documento.Substring(1) : documento;
                int    pTipoCodTipo = tipoDocumento.Equals("2") ? TipoDocumentoJuridico.FirstOrDefault(x => x.Value == documento.ToUpper().Substring(0, 1)).Key :
                                      Convert.ToInt64(documento) > 80000000 ? (int)TipoDocumentoNatural.E : (int)TipoDocumentoNatural.V;

                var model = ObtenerPuntosxCliente(pTipoCodTipo, pDocumento);

                if (model != null)
                {
                    model.Emisor.Documento = tipoDocumento.Equals("1") ?
                                             (Convert.ToInt64(documento) > 80000000 ? string.Format(TipoDocumentoNatural.E.ToString() + documento).ToString()  : string.Format(TipoDocumentoNatural.V.ToString() + documento).ToString()) :
                                             documento.ToUpper();

                    var ListaSigoCreditosPayPal = _SigoCreditosPaypalService.GetSigoCreditosPaypalAlls().ToList();

                    var cliente = ObtenerCliente(pTipoCodTipo, pDocumento);

                    if (cliente != null)
                    {
                        model.Emisor.Telefono = cliente.Telefono;
                        model.Emisor.Nombre   = cliente.Nombre;
                        model.Emisor.Apellido = cliente.Apellido;
                        model.Emisor.Email    = cliente.Email;
                    }
                    var montosGiftCard = ObtenerlistaGiftCardMontosDisponible();
                    if (montosGiftCard != null && montosGiftCard.Count() > 0)
                    {
                        var AmountGiftCard = new List <SelectListItem>();

                        foreach (var item in montosGiftCard)
                        {
                            AmountGiftCard.Add(new SelectListItem {
                                Text = "GiftCard de $" + item, Value = item.ToString()
                            });
                        }
                        model.GiftCardList = AmountGiftCard;
                    }
                    if (ListaSigoCreditosPayPal != null && ListaSigoCreditosPayPal.Count() > 0)
                    {
                        foreach (var SCPaypal in ListaSigoCreditosPayPal.Where(x => x.CustomerID == CurrentCustomerId).OrderByDescending(x => x.FechaCreacion))

                        {
                            TransaccionModel SigoCreditoPaypal = new TransaccionModel
                            {
                                TransaccionPaypalID = SCPaypal.TransaccionPaypalID,
                                Monto               = SCPaypal.Monto,
                                CedulaReceptor      = SCPaypal.CedulaReceptor,
                                NombreReceptor      = SCPaypal.NombreReceptor,
                                Estatus_Operacion   = SCPaypal.Estatus_Operacion,
                                TransaccionCreditID = SCPaypal.TransaccionCreditID,
                                CustomerID          = SCPaypal.CustomerID,
                                FechaCreacion       = SCPaypal.FechaCreacion,
                                IndGiftCard         = SCPaypal.EsGiftCard,
                                CodigoGiftCard      = SCPaypal.CodigoGiftCard
                            };

                            model.TransaccionList.Add(SigoCreditoPaypal);
                        }
                    }
                }
                return(View("~/Plugins/Payments.SigoCreditos/Views/SigoCreditosInfo.cshtml", model));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }