コード例 #1
0
ファイル: AuthServicio.cs プロジェクト: jhermoza/BibloMax
        public async Task <OperacionDto <LoginRespuestaDto> > Login(LoginPeticionDto peticion)
        {
            var operacionValidacion = ValidacionUtilitario.ValidarModelo <LoginRespuestaDto>(peticion);

            if (!operacionValidacion.Completado)
            {
                return(operacionValidacion);
            }

            var usuario = await _usuarioRepositorio.BuscarPorUserName(peticion.UserName);

            if (usuario == null)
            {
                return(new OperacionDto <LoginRespuestaDto>(CodigosOperacionDto.AccesoInvalido, "Usuario o Contraseña inválida"));
            }

            if (!Md5Utilitario.Cifrar(peticion.Password, usuario.PasswordSalt).Equals(usuario.Password))
            {
                return(new OperacionDto <LoginRespuestaDto>(CodigosOperacionDto.AccesoInvalido, "Usuario o Contraseña inválida"));
            }

            var token = $"{peticion.UserName}___{DateTime.UtcNow.ToBinary()}___HERMOZA_BIBLOMAX";

            var dto = new LoginRespuestaDto()
            {
                Suceso      = true,
                Descripcion = "Login correcto",
                Token       = RijndaelUtilitario.EncryptRijndaelToBase64(token)
            };

            return(new OperacionDto <LoginRespuestaDto>(dto));
        }
コード例 #2
0
ファイル: ComplejoServicio.cs プロジェクト: jhermoza/BibloMax
        public async Task <OperacionDto <RegistrarComplejoPeticionDto> > DetalleComplejo(string id)
        {
            if (String.IsNullOrEmpty(id))
            {
                return(new OperacionDto <RegistrarComplejoPeticionDto>(CodigosOperacionDto.Invalido, "Error al obtener datos del Complejo."));
            }

            var idComplejo = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(id);

            var entidad = await _complejoRepositorio.BuscarPorId(idComplejo);

            if (entidad == null)
            {
                return(new OperacionDto <RegistrarComplejoPeticionDto>(CodigosOperacionDto.NoExiste, "No se encontraron datos del Complejo."));
            }

            var sedeCifrado = RijndaelUtilitario.EncryptRijndaelToBase64(entidad.IdSede.ToString());

            var dto = new RegistrarComplejoPeticionDto()
            {
                Id          = id,
                IdComplejo  = entidad.IdComplejo,
                Localidad   = entidad.Localidad,
                Jefe        = entidad.Jefe,
                AreaTotal   = entidad.AreaTotal,
                IdSede      = entidad.IdSede,
                SedeCifrado = sedeCifrado
            };

            return(new OperacionDto <RegistrarComplejoPeticionDto>(dto));
        }
コード例 #3
0
ファイル: ComplejoServicio.cs プロジェクト: jhermoza/BibloMax
        public async Task <OperacionDto <ObtenerComplejosDto> > ObtenerComplejos()
        {
            List <RegistrarComplejoPeticionDto> listado = new List <RegistrarComplejoPeticionDto>();

            var complejos = await _complejoRepositorio.ObtenerComplejos();

            if (complejos.Count <= 0)
            {
                return(new OperacionDto <ObtenerComplejosDto>(new ObtenerComplejosDto()
                {
                    Complejos = listado
                }));
            }

            foreach (var item in complejos)
            {
                var cifrado     = RijndaelUtilitario.EncryptRijndaelToBase64(item.IdComplejo.ToString());
                var sedecifrado = RijndaelUtilitario.EncryptRijndaelToBase64(item.IdSede.ToString());

                var dto = new RegistrarComplejoPeticionDto()
                {
                    IdComplejo  = item.IdComplejo,
                    Id          = cifrado,
                    Localidad   = item.Localidad,
                    Jefe        = item.Jefe,
                    AreaTotal   = item.AreaTotal,
                    IdSede      = item.IdSede,
                    SedeCifrado = sedecifrado
                };

                listado.Add(dto);
            }

            return(new OperacionDto <ObtenerComplejosDto>(new ObtenerComplejosDto()
            {
                Draw = 1,
                RecordsTotal = complejos.Count,
                RecordsFiltered = complejos.Count,
                Complejos = listado,
            }));
        }
コード例 #4
0
        public async Task <OperacionDto <ObtenerSedesDto> > ObtenerSedes()
        {
            List <RegistrarSedePeticionDto> listado = new List <RegistrarSedePeticionDto>();

            var sedes = await _sedeRepositorio.ObtenerSedes();

            if (sedes.Count <= 0)
            {
                return(new OperacionDto <ObtenerSedesDto>(new ObtenerSedesDto()
                {
                    Sedes = listado
                }));
            }

            foreach (var item in sedes)
            {
                var cifrado = RijndaelUtilitario.EncryptRijndaelToBase64(item.IdSede.ToString());

                var dto = new RegistrarSedePeticionDto()
                {
                    IdSede       = item.IdSede,
                    Id           = cifrado,
                    Nombre       = item.Nombre,
                    NroComplejos = item.NroComplejos,
                    Presupuesto  = item.Presupuesto,
                    Ubicacion    = item.Ubicacion
                };

                listado.Add(dto);
            }

            return(new OperacionDto <ObtenerSedesDto>(new ObtenerSedesDto()
            {
                Draw = 1,
                RecordsTotal = sedes.Count,
                RecordsFiltered = sedes.Count,
                Sedes = listado,
            }));
        }
コード例 #5
0
        public async Task <OperacionDto <RegistrarUsuarioRespuestaDto> > RegistrarUsuario(RegistrarUsuarioPeticionDto peticion)
        {
            var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarUsuarioPeticionDto>(peticion);

            if (!validaModelo.Completado)
            {
                return(new OperacionDto <RegistrarUsuarioRespuestaDto>(CodigosOperacionDto.CamposRequeridos, validaModelo.Mensajes));
            }


            //var password = RandomChars.RandomString(10);
            var password     = peticion.Password;
            var passwordSalt = RijndaelUtilitario.EncryptRijndaelToBase64(password);

            var username = "******" + DateTime.UtcNow.Year.ToString() + RandomChars.RandomFecha(5, DateTime.UtcNow.Millisecond.ToString());

            var entidad = await _usuarioRepositorio.BuscarPorUserName(username);

            while (entidad != null)
            {
                username = "******" + DateTime.UtcNow.Year.ToString() + RandomChars.RandomFecha(5, DateTime.UtcNow.Millisecond.ToString());

                if (!entidad.Username.Equals(username))
                {
                    break;
                }
            }

            var usuario = new Usuario()
            {
                Username     = username,
                Password     = Md5Utilitario.Cifrar(password, passwordSalt),
                PasswordSalt = passwordSalt
            };

            var valorUsuario = await _usuarioRepositorio.Registro(usuario);

            if (valorUsuario <= 0)
            {
                return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto()
                {
                    Mensaje = "Error al crear Usuario",
                    Suceso = false
                }));
            }

            var persona = new Persona()
            {
                Nombre          = peticion.Nombre,
                APaterno        = peticion.APaterno,
                AMaterno        = peticion.AMaterno,
                Telefono        = peticion.Telefono,
                Correo          = peticion.Correo,
                FechaNacimiento = peticion.FechaNacimiento,
                IdUsuario       = usuario.IdUsuario,
                Direccion       = peticion.Direccion
            };

            var valorPersona = await _personaRepositorio.Registro(persona);

            if (valorPersona <= 0)
            {
                return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto()
                {
                    Mensaje = "Error al crear Usuario",
                    Suceso = false
                }));
            }

            return(new OperacionDto <RegistrarUsuarioRespuestaDto>(new RegistrarUsuarioRespuestaDto()
            {
                Mensaje = "Usuario creado correctamente",
                Suceso = true
            }));
        }