예제 #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.");
            }
        }