private void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs args) { if (FacebookModel != null) { FacebookModel.GetShareContent(args.Request); } }
public SapMtkModel FacebookBusiness(FacebookModel request) { SapMtkModel response = null; if (request != null) { try { response = new SapMtkModel(); response.PrimerNombre = request.PrimerNombre; response.Apellidos = request.Apellidos; response.Ciudad = request.Ciudad; response.Email = request.Email; response.NumeroTelefono = request.NumeroTelefono; response.HorarioPrefiereSerContactado = request.HorarioPrefiereSerContactado; response.CuandoQuieresIniciarClase = request.CuandoQuieresIniciarClase; } catch (Exception ex) { throw ex; } } else { throw new Exception("El modelo esta vacio"); } return(response); }
protected async override void OnNavigatedTo(NavigationEventArgs e) { _navigationHelper.OnNavigatedTo(e); await FacebookModel.LoadItemsAsync(); DataContext = this; }
protected override async void OnNavigatedTo(NavigationEventArgs e) { _dataTransferManager = DataTransferManager.GetForCurrentView(); _dataTransferManager.DataRequested += OnDataRequested; _navigationHelper.OnNavigatedTo(e); await FacebookModel.LoadItemsAsync(); }
/// <summary> /// Load ViewModel items asynchronous /// </summary> public async Task LoadData(bool isNetworkAvailable) { var loadTasks = new Task[] { FacebookModel.LoadItems(isNetworkAvailable), YouTubeModel.LoadItems(isNetworkAvailable), ArmiaWBinguModel.LoadItems(isNetworkAvailable), }; await Task.WhenAll(loadTasks); }
public ActionResult TestFB() { var fb = new FacebookHelper(); var model = new FacebookModel(); model.Link = "http://www.ouikum.com/MyB2B/quotation/bidproduct/QO-ACB-130521-2"; model.Picture = "https://ouikumstorage.blob.core.windows.net/upload/Product/3523/151289/CHANG-509.jpg"; model.Message = "มีลูกค้าต้องการ $ชื่อสินค้า$ $จำนวน$ สำหรับ Suppliers ท่านไหนสนใจ สามารถเสนอราคา ติดต่อที่"; var isResult = fb.PostFeed(model); return(View()); }
public void Post([FromForm] FacebookModel model) { // foreach (var sandboxItem in _dbContext.Sandbox) // TODO FAVIO delete this // { // Console.WriteLine(sandboxItem.Name); // } // TODO FAVIO make this dynamic in .Net ans postgresql table: switch (model.usersPool) { case "PEOPLE_WHO_LIKE_THIS_PAGE": _dbContext.PeopleWhoLikeThisPage.Add(new PeopleWhoLikeThisPage() { ResponseOffset = model.offset, ResponseText = model.rawFacebookResponse }); break; case "PEOPLE_WHO_FOLLOW_THIS_PAGE": _dbContext.PeopleWhoFollowThisPage.Add(new PeopleWhoFollowThisPage() { ResponseOffset = model.offset, ResponseText = model.rawFacebookResponse }); break; case "PAGES_THAT_LIKE_THIS_PAGE": _dbContext.PagesThatLikeThisPage.Add(new PagesThatLikeThisPage() { ResponseOffset = model.offset, ResponseText = model.rawFacebookResponse }); break; case "PEOPLE_BANNED_FROM_PAGE": _dbContext.PeopleBannedFromPage.Add(new PeopleBannedFromPage() { ResponseOffset = model.offset, ResponseText = model.rawFacebookResponse }); break; } _dbContext.SaveChanges(); }
/// <summary> /// Evalueate signed request and showing Login / Permisson button or /// displaying Facebook data /// </summary> /// <returns>View</returns> public ActionResult Firstpage() { ViewBag.Message = "Facebook Fanpage App"; string signedRequest = Session["signedRequest"] != null ? Session["signedRequest"].ToString() : String.Empty; if (String.IsNullOrEmpty(signedRequest)) { return(RedirectToAction("NoSignedRequest")); } FacebookModel model = new FacebookModel(); FacebookClient client = new FacebookClient(); client.AppSecret = model.App_Secret; dynamic signedRequestObject = null; if (client.TryParseSignedRequest(signedRequest, out signedRequestObject)) { model.SignedRequest = new FbSignedRequest(signedRequestObject); } if (model.SignedRequest == null) { return(View("ConfigError")); } if (!String.IsNullOrEmpty(model.SignedRequest.OauthToken)) { FacebookClient authClient = new FacebookClient(model.SignedRequest.OauthToken); try { JsonObject data = (JsonObject)authClient.Get("/me"); model.Me = new MeModel(data); } catch { //e. g. user loged aout or session terminates return(RedirectToAction("Offline")); } } if (model.SignedRequest.User.Locale.Equals("de_de", StringComparison.InvariantCultureIgnoreCase)) { System.Threading.Thread.CurrentThread.CurrentCulture = System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-DE"); } return(View(model)); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { _dataTransferManager = DataTransferManager.GetForCurrentView(); _dataTransferManager.DataRequested += OnDataRequested; _navigationHelper.OnNavigatedTo(e); if (FacebookModel != null) { await FacebookModel.LoadItemsAsync(); FacebookModel.SelectItem(e.Parameter); FacebookModel.ViewType = ViewTypes.Detail; } DataContext = this; }
/// <summary> /// Default route outside Facebook iframe /// </summary> /// <returns>redirect to Facebook Tab Page</returns> public ActionResult NoSignedRequest() { bool fb_show_app_start_view_without_facebook = false; bool.TryParse(ConfigurationManager.AppSettings["fb_show_app_start_view_without_facebook"], out fb_show_app_start_view_without_facebook); FacebookModel model = new FacebookModel(); if (fb_show_app_start_view_without_facebook) { return(View(model)); } else { return(Redirect(model.FanPageUrl)); } }
/// <summary> /// Post Facebook /// </summary> /// <param name="datosFormulario"></param> /// <returns></returns> public IHttpActionResult PostFacebook(FacebookModel datosFormulario) { ApiBusiness mapeoDatos = new ApiBusiness(); try { if (!ModelState.IsValid) { return(BadRequest("Modelo de datos inválido")); } var response = mapeoDatos.FacebookBusiness(datosFormulario); return(Ok("Modelo enviado")); } catch (Exception e) { return(BadRequest("mensaje de error: " + e.Message)); } }
private async Task <string> GetUserId(string accessToken) { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Constants.FacebookGraphAPIBaseUrl); HttpResponseMessage response = client.GetAsync(Constants.FacebookGraphAPIMeEndpoint + accessToken).Result; string content = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { FacebookModel contentResponse = JsonConvert.DeserializeObject <FacebookModel>(content); return(contentResponse.Id); } return(string.Empty); } }
public async Task <IActionResult> Create([Bind("SongId,SongName,Genre,ReleaseDate")] SongModel songModel, IFormFile songImagePath, IFormFile songPath) { if (ModelState.IsValid) { songModel.SongPath = FileHelper.SaveFile(songPath, "songs", songPath.FileName); songModel.AddedDate = DateTime.UtcNow; songModel.SongImagePath = FileHelper.SaveFile(songImagePath, "images", songImagePath.FileName); _context.Add(songModel); //adds the created song to the current artist according to the session int id = HttpContext.Session.GetInt32(SessionConsts.UserId).Value; Models.BridgeModel.ArtistSongModel temp = new Models.BridgeModel.ArtistSongModel(); temp.SongId = songModel.SongId; temp.UserId = id; _context.Add(temp); await _context.SaveChangesAsync(); FacebookModel facebookModel = new FacebookModel(); await facebookModel.Post(string.Format("A new song has been added to the site -> {0}", songModel.SongName)); return(RedirectToAction(nameof(Display))); } return(View(songModel)); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { NinjectWrapper wrapper = new NinjectWrapper(); ClaimsIdentity identity = new ClaimsIdentity(context.Options.AuthenticationType); Dictionary <string, string> parameters = context.Request.GetBodyParameters(); IEnumerable <User> users = ((wrapper.UsersManager as IManager).GetItems() as IEnumerable <User>).ToList(); User user = users.FirstOrDefault(u => u.Email == context.UserName); if (user != null) { if (!parameters.ContainsKey("external")) { string hashedPassword = PasswordHelper.CreatePasswordHash(context.Password, user.Salt); if (user.HashedPassword == hashedPassword) { identity.AddClaim(new Claim(ClaimTypes.Role, "Admin")); identity.AddClaim(new Claim(ClaimTypes.Email, user.Email)); identity.AddClaim(new Claim(ClaimTypes.Name, string.Format("{0} {1}", user.FirstName, user.LastName))); // add additional claims if needed context.Validated(identity); } else { context.SetError("invalid_grant", "Provided username or password is incorrect"); } } else { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(Constants.FacebookGraphAPIBaseUrl); HttpResponseMessage response = await client.GetAsync(Constants.FacebookGraphAPIMeEndpoint + parameters["access_token"]); string content = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { FacebookModel contentResponse = JsonConvert.DeserializeObject <FacebookModel>(content); if (user.UserExternalId == contentResponse.Id) { identity.AddClaim(new Claim(ClaimTypes.Role, "User")); identity.AddClaim(new Claim(ClaimTypes.Email, user.Email)); identity.AddClaim(new Claim(ClaimTypes.Name, string.Format("{0} {1}", user.FirstName, user.LastName))); // add additional claims if needed context.Validated(identity); } else { context.SetError("invalid_grant", "Facebook authorization failed"); } } } } } else { context.SetError("invalid_grant", "Provided username or password is incorrect"); } }
public async Task <IActionResult> Facebook([FromBody] FacebookModel model) { var userInfo = new FacebookUserData(); try { var userInfoResponse = await Client.GetStringAsync($"https://graph.facebook.com/v3.0/me?fields=id,email,first_name,last_name,gender,locale,birthday,picture&access_token={model.AccessToken}"); userInfo = JsonConvert.DeserializeObject <FacebookUserData>(userInfoResponse); } catch (Exception ex) { return(new BadRequestObjectResult(new List <ErrorViewModel>() { new ErrorViewModel() { Code = "InvalidToken", Description = "Facebook token is not valid." } })); } if (userInfo.Picture != null) { try { var imageResponse = await Client.GetStringAsync($"https://graph.facebook.com/v3.0/{userInfo.Id}/picture?type=album&redirect=false"); var image = JsonConvert.DeserializeObject <FacebookPictureData>(imageResponse); userInfo.Picture = image; } catch (Exception ex) { Console.WriteLine(ex); } } var existingUser = await _userManager.FindByEmailAsync(userInfo.Email); if (existingUser == null) { var user = new ApplicationUser { FacebookId = userInfo.Id, Email = userInfo.Email, UserName = userInfo.FirstName + userInfo.LastName, PictureUrl = userInfo.Picture?.Data?.Url, Visibility = true, Nationality = "US" }; if (userInfo.Gender != null) { user.Gender = userInfo.Gender.Equals("male") ? Gender.Male : userInfo.Gender.Equals("female") ? Gender.Female : Gender.Other; } else { user.Gender = Gender.None; } if (userInfo.Birthday != DateTime.MinValue) { var dateOfBirth = new DateTime(day: userInfo.Birthday.Day, month: userInfo.Birthday.Month, year: DateTime.Now.Year); if (DateTime.Now >= dateOfBirth) { user.Age = DateTime.Now.Year - userInfo.Birthday.Year; } else { user.Age = DateTime.Now.Year - userInfo.Birthday.Year - 1; } } user.UserName = UserExtensions.RemoveDiacritics(user.UserName); var result = await _userManager.CreateAsync(user, Convert.ToBase64String(Guid.NewGuid().ToByteArray()).Substring(0, 8)); if (!result.Succeeded) { return(new BadRequestObjectResult(result.Errors)); } else { existingUser = await _userManager.FindByNameAsync(user.UserName); } } var jwt = await Tokens.GenerateJwt(_jwtFactory.GenerateClaimsIdentity(existingUser.UserName, existingUser.Id), _jwtFactory, existingUser.UserName, _jwtOptions, new JsonSerializerSettings { Formatting = Formatting.Indented }, existingUser.ProfileComplete); return(new OkObjectResult(jwt)); }
public FacebookHandler(IMapper mapper, RequestModel requestModel) { _mapper = mapper; _requestModel = requestModel; facebookModel = _mapper.Map <FacebookModel>(_requestModel); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { _navigationHelper.OnNavigatedTo(e); await FacebookModel.LoadItemsAsync(); }