コード例 #1
0
        public async Task <IHttpActionResult> PostBloquear(string id, BloquearTarjetaViewModel bloquearTarjeta)
        {
            var tarjetasTitulares = await _tarjetaRepository.ObtenerTarjetasPorUsuarioAsync(User.ToDinersUser().IdUsuario);

            var tarjetasAdicionales = tarjetasTitulares.SelectMany(x => x.Adicionales).ToList();
            var tarjeta             = tarjetasTitulares.Concat(tarjetasAdicionales).FirstOrDefault(x => x.Id == id);

            if (tarjeta == null)
            {
                return(NotFound());
            }

            var result = await _tarjetaRepository.BloquearAsync(tarjeta.Id, bloquearTarjeta.IdMotivo);

            var usuario = await _usuarioRepository.ObtenerUsuarioAsync(User.ToDinersUser().IdUsuario);

            if (!result)
            {
                return(NotFound());
            }

            tarjeta.NumeroOperacion = tarjetasTitulares.Concat(tarjetasAdicionales).Count(x => x.NumeroOperacion != 0) + 1;
            tarjeta.FechaOperacion  = DateTime.Now;

            EmailHelper.BloqueoTarjeta_ProcesarEnviarCorreo(bloquearTarjeta, usuario, tarjeta.NumeroOperacion.ToString(), tarjeta.FechaOperacion);

            return(Ok(new BloquearTarjetaResult
            {
                NumeroOperacion = tarjeta.NumeroOperacion,
                FechaOperacion = tarjeta.FechaOperacion
            }));
        }
コード例 #2
0
        public static void BloqueoTarjeta_ProcesarEnviarCorreo(BloquearTarjetaViewModel tarjeta, Usuario usuario, string numeroOperacion, DateTime fechaOperacion)
        {
            string correoUsuario  = (usuario.EmailSeleccionado == "1" ? usuario.EmailPrincipal : usuario.EmailAlternativo);
            var    datosCorreo    = BloqueoTarjeta_ConstruirContenido(tarjeta, numeroOperacion, fechaOperacion);
            var    nombreCompleto = tarjeta.NombreTarjetaHabiente + " " + tarjeta.ApellidoPaternoTarjetaHabiente;

            EnviaroCorreoSocio(datosCorreo, nombreCompleto, correoUsuario, "Canal Web – BLOQUEO TARJETA", numeroOperacion, fechaOperacion.ToString("dd/MM/yyyy HH:mm"));
            BloqueoTarjeta_EnviaroCorreoDiners(datosCorreo, nombreCompleto, numeroOperacion, fechaOperacion.ToString("dd/MM/yyyy HH:mm"));
        }
コード例 #3
0
        private static List <Diccionario> BloqueoTarjeta_ConstruirContenido(BloquearTarjetaViewModel model, string numeroOperacion, DateTime fechaOperacion)
        {
            var datosCorreo = new List <Diccionario>();

            //datosCorreo.Add(new Diccionario { Key = "N° Operación", Value = numeroOperacion });
            //datosCorreo.Add(new Diccionario { Key = "Fecha y hora", Value = fechaOperacion.ToString("dd/MM/yyyy HH:mm") });
            datosCorreo.Add(new Diccionario {
                Key = "Tarjeta", Value = model.FormatoNombreTarjeta
            });
            datosCorreo.Add(new Diccionario {
                Key = (model.EsTitular ? "Titular" : "Adicional"), Value = model.NombreTarjetaHabiente + " " + model.ApellidoPaternoTarjetaHabiente
            });
            datosCorreo.Add(new Diccionario {
                Key = "Motivo", Value = (model.IdMotivo == "robo" ? "Robo" : "Pérdida")
            });

            return(datosCorreo);
        }