private IEnumerable <Parametros> ListaFiltrada()
        {
            var repo = new ParametrosRepository();


            return(repo.Get().ToArray());
        }
示例#2
0
        public static void MigrarDados(List <CamposBanco> lista)
        {
            ParametrosRepository parametrosRepository = new ParametrosRepository();
            var parametros = parametrosRepository.Get().FirstOrDefault();


            DBConnectMysql dBConnectMysql = new DBConnectMysql(parametros.Server, parametros.DataBase, parametros.Usuario, parametros.Senha, parametros.NomeTabela);

            dBConnectMysql.Insert(lista);
        }
        private void DgDados_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                var id = Convert.ToInt32(dgDados.Rows[e.RowIndex].Cells["colId"].Value);

                var rep = new ParametrosRepository();
                parametro = rep.Get(id);

                lblId.Text       = id.ToString();
                txtServer.Text   = parametro.Server;
                txtDataBase.Text = parametro.DataBase;
                txtUsuario.Text  = parametro.Usuario;
                txtSenha.Text    = parametro.Senha;
                txtTabela.Text   = parametro.NomeTabela;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro: " + ex.Message);
                throw;
            }
        }
        private void BtnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                var repo = new ParametrosRepository();
                if (lblId.Text == "0" || lblId.Text.Trim() == "")
                {
                    repo.Adicionar(PreencherObjeto(new Parametros()));
                }
                else
                {
                    repo.Alterar(PreencherObjeto(parametro));
                }

                MessageBox.Show("Gravado Com Sucesso!");

                LoadGrid();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro: " + ex.Message);
                throw;
            }
        }
        public ActionResult Create(PagoVM model)
        {
            if (PayCenterId == 0)
            {
                model.PayCenterName = string.Empty;
                AddValidationMessage(enumMessageType.DataValidation, "Por favor, seleccione primero un PayCenter.");
                return View(model);
            }

            EstadoCuentaBR br = new EstadoCuentaBR(repository.context);
            var saldo = br.GetSaldosPagoServicio(PayCenterId);
            ViewData["SaldoActual"] = saldo.SaldoActual.ToString("C");
            ViewData["SaldoDisponible"] = saldo.SaldoDisponible.ToString("C");
            ViewData["Eventos"] = saldo.EventosDisponibles;

            if (model.Importe <= 0)
            {
                AddValidationMessage(enumMessageType.DataValidation, "El importe no puede ser menor a $0.00.");
                return View(model);
            }
            if (ModelState.IsValid)
            {

                #region Crear Movimiento Inicial
                Pago pago = new Pago();
                PaycenterBR payCenterBR = new PaycenterBR();
                var cuentaId = payCenterBR.GetOrCreateCuentaPayCenter(PayCenterId, enumTipoCuenta.Pago_de_Servicios, PROVEEDOR_EVOLUCIONAMOVIL);
                //Devuelve si usa evento en el pago
                bool usaEvento = false;
                List<Movimiento> movimientos = br.CrearMovimientosPagoServicios(PayCenterId, (Decimal)model.Importe, PayCenterName, out usaEvento);
                Succeed = br.Succeed;
                ValidationMessages = br.ValidationMessages;

                if (!Succeed)
                {
                    return View(model);
                }

                #endregion

                #region Registro de Pago
                string Referencia = "";
                Mapper.CreateMap<PagoVM, Pago>().ForMember(dest => dest.DetallePagos, opt => opt.Ignore());
                Mapper.Map(model, pago);
                pago.Servicio = model.Servicios.Where(x => x.Value == model.ServicioId).FirstOrDefault().Text;
                pago.PayCenterId = PayCenterId;
                pago.Movimiento = movimientos.Where(x => x.Motivo == (short)enumMotivo.Pago).First();
                pago.UsoEvento = usaEvento;

                var iDetalles = serviciosRepository.LoadDetallesServicioByServicioID(pago.ServicioId);
                foreach (DetalleServicio d in iDetalles)
                {
                    var valor = Request.Form[d.DetalleServicioId.ToString()];
                    if (d.EsReferencia)
                        Referencia = valor;

                    pago.DetallePagos.Add(new DetallePago { Campo = d.Campo, Valor = valor });
                }

                repository.Add(pago);
                repository.Save();
                //Actualizo el Id de referencia del Pago en los movimientos correspondientes
                br.ActualizaReferenciaIdMovimiento(pago.MovimientoId, pago.PagoId);
                repository.Save();

                model.PagoId = pago.PagoId;
                #endregion

                #region Registro Ticket
                try
                {

                    //Verifica si tiene configurada la comisión que mostrará al cliente, se toma el valor para mostrar en el ticket
                    ParametrosRepository parametrosRepository = new ParametrosRepository();
                    var parametrosPayCenter = parametrosRepository.GetParametrosPayCenter(PayCenterId);
                    var parametrosGlobales = parametrosRepository.GetParametrosGlobales();

                    Ticket ticket = new Ticket();
                    ticket.ClienteEmail = "";
                    ticket.ClienteNombre = pago.ClienteNombre;
                    ticket.ClienteTelefono = "";
                    ticket.Comision = (parametrosPayCenter != null && parametrosPayCenter.ComisionCliente != null ? (Decimal)parametrosPayCenter.ComisionCliente : 0); //Comision configurada del paycenter
                    ticket.FechaCreacion = DateTime.UtcNow.GetCurrentTime();
                    ticket.Folio = createFolio(pago.PagoId);
                    ticket.Importe = pago.Importe;
                    ticket.Leyenda = parametrosGlobales != null ? parametrosGlobales.LeyendaTicket : null;
                    ticket.PagoId = pago.PagoId;
                    ticket.PayCenterId = pago.PayCenterId;
                    ticket.TipoServicio = pago.Servicio;
                    ticket.Referencia = Referencia;
                    ticket.PayCenterName = PayCenterName;
                    ticket.FechaVencimiento = pago.FechaVencimiento;

                    tRepository.Add(ticket);
                    Succeed = tRepository.Save();
                    if (!Succeed)
                    {
                        AddValidationMessage(enumMessageType.UnhandledException, "Su pago ha sido Registrado con éxito. Sin embargo, no se pudo generar el ticket, favor de comunicarse con un ejecutivo. ");
                    }

                    //Ejecuta el envío de correo de forma asíncrona
                    EnviarTicketDelegate enviarDelegate = new EnviarTicketDelegate(EnviarTicketEmail);
                    var result = enviarDelegate.BeginInvoke(pago,null, null);

                    return RedirectToAction("Ticket/" + ticket.PagoId.ToString());
                }
                catch (Exception ex)
                {
                    AddValidationMessage(enumMessageType.UnhandledException, "Su pago ha sido Registrado con éxito. Sin embargo, no se pudo generar el ticket, favor de comunicarse con un ejecutivo. ");
                    return View(model);
                }

                #endregion

            }
            else
            {
                AddValidationMessage(enumMessageType.BRException, "Los datos no son válidos");
            }
            return View(model);
        }
        public ViewResult Ticket(int id)
        {
            TicketVM ticketVM = new TicketVM();
            Ticket ticket = tRepository.LoadByPagoId(id);
            if (ticket == null)
            {
                AddValidationMessage(enumMessageType.UnhandledException, "No se ha encontrado el Ticket");
                return View(new TicketVM());
            }
            Mapper.CreateMap<Ticket, TicketVM>().ForMember(dest => dest.Pago, opt => opt.Ignore());
            Mapper.Map(ticket, ticketVM);
            ticketVM.FechaVencimiento = ticket.Pago.FechaCreacion;
            ticket.Pago.DetallePagos.ToList().ForEach(x => ticketVM.DetallePagos.Add(x));

            PayCentersRepository payCenterRepository = new PayCentersRepository();
            ViewBag.LogoPayCenter = payCenterRepository.GetLogotipo(PayCenterId);

            ParametrosRepository parametrosRepository = new ParametrosRepository();
            var parametrosPayCenter = parametrosRepository.GetParametrosPayCenter(PayCenterId);
            if (parametrosPayCenter != null)
            {
                @ViewBag.MostrarComision = parametrosPayCenter.MostrarComision;
            }
            return View(ticketVM);
        }
示例#7
0
 public ParametrosController()
 {
     db = new ParametrosRepository();
 }