コード例 #1
0
        public async Task <OperacionDto <RegistrarSedePeticionDto> > DetalleSede(string id)
        {
            if (String.IsNullOrEmpty(id))
            {
                return(new OperacionDto <RegistrarSedePeticionDto>(CodigosOperacionDto.Invalido, "Error al obtener datos de la Sede."));
            }

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

            var entidad = await _sedeRepositorio.BuscarPorId(idSede);

            if (entidad == null)
            {
                return(new OperacionDto <RegistrarSedePeticionDto>(CodigosOperacionDto.NoExiste, "No se encontraron datos de la Sede."));
            }

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

            return(new OperacionDto <RegistrarSedePeticionDto>(dto));
        }
コード例 #2
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));
        }
コード例 #3
0
ファイル: AuthServicio.cs プロジェクト: jhermoza/BibloMax
        public async Task <OperacionDto <string> > ValidarToken(string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                return(new OperacionDto <string>(CodigosOperacionDto.AccesoInvalido, "Token inválido"));
            }

            var descifrado = RijndaelUtilitario.DecryptRijndaelFromBase64 <string>(token);

            if (string.IsNullOrWhiteSpace(descifrado))
            {
                return(new OperacionDto <string>(CodigosOperacionDto.AccesoInvalido, "Token inválido"));
            }

            var datos = descifrado.Split(new string[] { "___" }, StringSplitOptions.None);

            if (datos.Length == 0)
            {
                return(new OperacionDto <string>(CodigosOperacionDto.AccesoInvalido, "Token inválido"));
            }

            var username = datos[0].ToString();

            var usuario = await _usuarioRepositorio.BuscarPorUserName(username);

            if (usuario == null)
            {
                return(new OperacionDto <string>(CodigosOperacionDto.AccesoInvalido, "Token inválido"));
            }

            return(new OperacionDto <string>("Token válido"));
        }
コード例 #4
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));
        }
コード例 #5
0
ファイル: ComplejoServicio.cs プロジェクト: jhermoza/BibloMax
        public async Task <OperacionDto <OperacionComplejoRespuestaDto> > RegistrarComplejo(RegistrarComplejoPeticionDto peticion)
        {
            var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarComplejoPeticionDto>(peticion);

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

            var entidad = await _complejoRepositorio.BuscarPorId(peticion.IdComplejo);

            if (entidad != null)
            {
                return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto()
                {
                    Mensaje = "Error al registrar Complejo",
                    Suceso = false
                }));
            }

            peticion.IdSede = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(peticion.SedeCifrado);

            var complejo = new Complejo()
            {
                Localidad = peticion.Localidad,
                Jefe      = peticion.Jefe,
                AreaTotal = peticion.AreaTotal,
                IdSede    = peticion.IdSede
            };

            var valorComplejo = await _complejoRepositorio.Registro(complejo);

            if (valorComplejo <= 0)
            {
                return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto()
                {
                    Mensaje = "Error al registrar Complejo",
                    Suceso = false
                }));
            }

            return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto()
            {
                Mensaje = "Complejo registrado correctamente",
                Suceso = true
            }));
        }
コード例 #6
0
ファイル: ComplejoServicio.cs プロジェクト: jhermoza/BibloMax
        public async Task <OperacionDto <OperacionComplejoRespuestaDto> > EditarComplejo(RegistrarComplejoPeticionDto peticion)
        {
            var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarComplejoPeticionDto>(peticion);

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

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

            var entidad = await _complejoRepositorio.BuscarPorId(idComplejo);

            if (entidad == null)
            {
                return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto()
                {
                    Mensaje = "Error al obtener datos de Complejo",
                    Suceso = false
                }));
            }

            peticion.IdSede = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(peticion.SedeCifrado);

            entidad.Localidad = peticion.Localidad;
            entidad.Jefe      = peticion.Jefe;
            entidad.AreaTotal = peticion.AreaTotal;
            entidad.IdSede    = peticion.IdSede;

            var valorComplejo = await _complejoRepositorio.EditarComplejo(entidad);

            if (valorComplejo <= 0)
            {
                return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto()
                {
                    Mensaje = "Error al actualizar Complejo",
                    Suceso = false
                }));
            }

            return(new OperacionDto <OperacionComplejoRespuestaDto>(new OperacionComplejoRespuestaDto()
            {
                Mensaje = "Complejo actualizado correctamente",
                Suceso = true
            }));
        }
コード例 #7
0
        public async Task <OperacionDto <OperacionSedeRespuestaDto> > EditarSede(RegistrarSedePeticionDto peticion)
        {
            var validaModelo = ValidacionUtilitario.ValidarModelo <RegistrarSedePeticionDto>(peticion);

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

            var idSede = RijndaelUtilitario.DecryptRijndaelFromBase64 <int>(peticion.Id);

            var entidad = await _sedeRepositorio.BuscarPorId(idSede);

            if (entidad == null)
            {
                return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto()
                {
                    Mensaje = "Error al obtener datos de Sede",
                    Suceso = false
                }));
            }

            entidad.Nombre       = peticion.Nombre;
            entidad.Ubicacion    = peticion.Ubicacion;
            entidad.NroComplejos = peticion.NroComplejos;
            entidad.Presupuesto  = peticion.Presupuesto;

            var valorSede = await _sedeRepositorio.EditarSede(entidad);

            if (valorSede <= 0)
            {
                return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto()
                {
                    Mensaje = "Error al actualizar Sede",
                    Suceso = false
                }));
            }

            return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto()
            {
                Mensaje = "Sede actualizada correctamente",
                Suceso = true
            }));
        }
コード例 #8
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,
            }));
        }
コード例 #9
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,
            }));
        }
コード例 #10
0
        public async Task <OperacionDto <OperacionSedeRespuestaDto> > EliminarSede(string id)
        {
            if (String.IsNullOrEmpty(id))
            {
                return(new OperacionDto <OperacionSedeRespuestaDto>(CodigosOperacionDto.Invalido, "Error al obtener datos de la Sede."));
            }

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

            var entidad = await _sedeRepositorio.BuscarPorId(idSede);

            if (entidad == null)
            {
                return(new OperacionDto <OperacionSedeRespuestaDto>(CodigosOperacionDto.NoExiste, "No se encontraron datos de la Sede."));
            }

            entidad.EstaBorrado = true;
            entidad.Borrado     = DateTime.UtcNow;

            var valorEdicion = await _sedeRepositorio.EditarSede(entidad);

            if (valorEdicion <= 0)
            {
                return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto()
                {
                    Mensaje = "Error al eliminar Sede",
                    Suceso = false
                }));
            }

            return(new OperacionDto <OperacionSedeRespuestaDto>(new OperacionSedeRespuestaDto()
            {
                Mensaje = "Se eliminó la sede safisfactoriamente",
                Suceso = true
            }));
        }
コード例 #11
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
            }));
        }