예제 #1
0
        public virtual UsuarioViewModel Registracion(UsuarioViewModel userView)
        {
            if (!DependencyFactory.Resolve <IUsuarioDA>().ExisteUsuario(userView.Mail))
            {
                var         user        = userView.MapperClass <Usuario>(TypeMapper.IgnoreCaseSensitive);
                TipoUsuario tipoUsuario =
                    DependencyFactory.Resolve <IBaseDA <TipoUsuario> >()
                    .GetAll()
                    .FirstOrDefault(o => o.Descripcion.Equals(userView.TipoUsuario));
                if (tipoUsuario != null)
                {
                    user.TipoUsuario  = tipoUsuario;
                    user.DatosPersona = new DatosPersona {
                        Nombre = userView.Nombre, Apellido = userView.Apellido
                    };
                    switch (user.TipoUsuario.Descripcion)
                    {
                    case "Jugador":
                        user.Jugador = new Jugador {
                        };
                        break;

                    case "Entrenador":
                        user.Entrenador = new Entrenador {
                        };
                        break;

                    case "Intermediario":
                        user.Intermediario = new Intermediario {
                        };
                        break;

                    case "Club":
                        user.Club = new Club {
                        };
                        break;

                    case "Video Analista":
                        user.VideoAnalista = new VideoAnalista {
                        };
                        break;
                    }
                }
                else
                {
                    throw new ExceptionBusiness(5, "Error en selección de tipo de usuario.");
                }
                user.Deporte = userView.DeporteId.HasValue
                    ? DependencyFactory.Resolve <IBaseDA <Deporte> >().GetById(userView.DeporteId)
                    : DependencyFactory.Resolve <IBaseDA <Deporte> >().GetAll().First();
                DependencyFactory.Resolve <IUsuarioDA>().Save(user);
                return(FillViewModel.FillUsuarioViewModel(user));
            }
            else
            {
                throw new ExceptionBusiness(4, "Usuario ya existe.");
            }
        }
예제 #2
0
        public virtual UsuarioViewModel LoginUser(string mail, string password)
        {
            var user = DependencyFactory.Resolve <IUsuarioDA>().LoginBackOfficeUser(mail, password);

            if (user == null)
            {
                throw new ExceptionBusiness(2, "Usuario/Contraseña no encontrado");
            }
            var userReturn = FillViewModel.FillUsuarioViewModel(user);

            user.UltimoLogin = DateTime.Now;
            DependencyFactory.Resolve <IUsuarioDA>().Save(user);
            userReturn.MenuUsuario = DependencyFactory.Resolve <IUsuarioDA>().ObtenerMenuTipoUsuario(user.TipoUsuario.Id);
            return(userReturn);
        }
예제 #3
0
        public virtual UsuarioViewModel ActualizarPassword(UsuarioCambioPasswordViewModel usuarioCambioPassword)
        {
            var usuario = DependencyFactory.Resolve <IUsuarioDA>().LoginUser(usuarioCambioPassword.Mail, usuarioCambioPassword.OldPassword);

            if (usuario == null)
            {
                throw new ExceptionBusiness(3, "Invalido usuario y password");
            }
            byte[] data            = Convert.FromBase64String(usuarioCambioPassword.NewPassword);
            string decodedPassword = Encoding.UTF8.GetString(data);

            usuario.Password = decodedPassword;
            var user       = DependencyFactory.Resolve <IUsuarioDA>().ActualizarPassword(usuario);
            var userReturn = FillViewModel.FillUsuarioViewModel(user);

            userReturn.MenuUsuario = DependencyFactory.Resolve <IUsuarioDA>().ObtenerMenuTipoUsuario(user.TipoUsuario.Id);
            return(userReturn);
        }