public ActionResult DeleteImage(string _ImageID) { var ImageID = GenericLogic.GetInt(_ImageID); var ThisUserID = ""; if (CurrentUser() != null) { ThisUserID = CurrentUser().Id; } var Img = db.Images.FirstOrDefault(i => i.CalorieImageID == ImageID); if (Img != null && Img.ApplicationUser_Id == ThisUserID) { //we can delete it. db.Images.Remove(Img); db.SaveChanges(); Response.StatusCode = (int)HttpStatusCode.OK; return(Content("OK", MediaTypeNames.Text.Plain)); } Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Content("Couldn't find image or not permitted", MediaTypeNames.Text.Plain)); }
public ActionResult Filter(string count, string type) { var countInt = GenericLogic.GetInt(count); var typeInt = GenericLogic.GetInt(type); var returnRecords = new List <ApplicationUser>(); var Companies = db.Users.Where(u => u.IsCompany).ToList(); if (typeInt.HasValue && countInt.HasValue) { switch (typeInt) { case 1: returnRecords = Companies.OrderByDescending(UserLogic.GetStarsForUser).Take(countInt.Value).ToList(); break; case 2: returnRecords = Companies.OrderByDescending(u => CurrencyLogic.ToBase(u.Contributions)).Take(countInt.Value).ToList(); break; //case 3: //default: // break; } } return(PartialView("_CorporatePartials", new Models.Companys.CompanySearchResultsVM() { CorporateResults = returnRecords, ShowSelector = true })); }
public ActionResult Filter(string count, string type) { var countInt = GenericLogic.GetInt(count); var typeInt = GenericLogic.GetInt(type); var returnRecords = new List <Team>(); //1=Most Stars // 2=Most Pledges // 3= Most Popular if (typeInt.HasValue && countInt.HasValue) { switch (typeInt) { case 1: returnRecords = db.Teams.ToList().OrderByDescending(TeamLogic.getStarsForTeam).Take(countInt.Value).ToList(); break; case 2: returnRecords = db.Teams.OrderByDescending(t => t.Pledges.Count()).Take(countInt.Value).ToList(); break; case 3: default: returnRecords = db.Teams.OrderByDescending(t => t.Members.Count()).Take(countInt.Value).ToList(); break; } } return(PartialView("_TeamPartials", new TeamSearchResultsVM { TeamResults = returnRecords, ShowSelector = false })); }
public ActionResult SaveImageFromURLWithDelete(string url, string idToDelete) { try { var idToDeleteInt = GenericLogic.GetInt(idToDelete); if (idToDeleteInt > 0) { try { var CurrentImage = db.Images.FirstOrDefault(I => I.CalorieImageID == idToDeleteInt); if (CurrentImage != null) { db.Images.Remove(CurrentImage); db.SaveChanges(); } } catch { // ignored } } var ID = ImageLogic.GetAndSaveImageFromURL(url, CalorieImage.ImageType.UserImage); return(Content(ID.ToString(), "text/xml")); } catch { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Content("", MediaTypeNames.Text.Plain)); } }
public ActionResult Filter(string count, string type) { var countInt = GenericLogic.GetInt(count); var typeInt = GenericLogic.GetInt(type); var returnRecords = new List <Pledge>(); var source = db.OpenPledges.Include("Activity_Types"); if (typeInt.HasValue && countInt.HasValue) { switch (typeInt) { case 1: //"New" returnRecords = source.OrderByDescending(p => p.CreatedUTC).Take(countInt.Value).ToList(); break; case 2: //"Trending" returnRecords = source.OrderByDescending(p => p.CreatedUTC).Take(countInt.Value).ToList(); break; case 3: //"Almost Completed" returnRecords = source.ToList().OrderByDescending(p => p.TotalOffsetPercent).Take(countInt.Value).ToList(); break; case 4: //"Almost Expired" returnRecords = source.OrderBy(p => p.ExpiryDate).Take(countInt.Value).ToList(); break; } } return(PartialView("_PledgeSearchResultsPartial", new PledgeSearchVM { Pledges = returnRecords, SearchString = string.Empty, LoggedIn = (CurrentUser() != null) })); }
public ActionResult Filter(string count, string type) { var countInt = GenericLogic.GetInt(count); var typeInt = GenericLogic.GetInt(type); var returnRecords = new List <Charity>(); //"Most Raised", "Most Activities", "Most Liked if (typeInt.HasValue && countInt.HasValue) { switch (typeInt) { case 1: returnRecords = db.Charities.ToList().OrderByDescending(c => c.Pledges.Sum(p => CurrencyLogic.ToBase(p.Contributors))).Take(countInt.Value).ToList(); break; case 2: returnRecords = db.Charities.OrderByDescending(c => c.Pledges.Sum(p => p.Offsets.Count())).Take(countInt.Value).ToList(); break; case 3: default: returnRecords = db.Charities.OrderByDescending(c => db.Likes.Count(l => l.LinkType == "Charity" && l.LinkID == c.ID.ToString())).Take(countInt.Value).ToList(); break; } } return(PartialView("_CharityPartials", new CharityListVM { Charities = returnRecords, ShowSelector = false, ShowSocial = true, ShowJustGivingLink = false })); }
public ActionResult DeleteAlert(string _AlertID) { var MessageID = GenericLogic.GetInt(_AlertID); var ThisUserID = string.Empty; if (CurrentUser() != null) { ThisUserID = CurrentUser().Id; } var Msg = db.Messages.FirstOrDefault(m => m.ID == MessageID && m.UserID == ThisUserID); if (Msg != null) { //we can delete it. Msg.Status = Message.StatusEnum.Read; db.SaveChanges(); Response.StatusCode = (int)HttpStatusCode.OK; return(Content("OK", MediaTypeNames.Text.Plain)); } Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Content("Couldn't find message or not permitted", MediaTypeNames.Text.Plain)); }
public ActionResult MakePayment(string ContribID) { var ContribIDInt = GenericLogic.GetInt(ContribID); if (ContribIDInt.HasValue) { var contrib = db.PledgeContributors.FirstOrDefault(pc => pc.ID == ContribIDInt); var URL = JustGivingLogic.GetPaymentURL(contrib, Url, Request); return(Redirect(URL)); } return(null); }
public async Task <ActionResult> FitBitGetDataForDate(string pledgeID, string inputDate) { var DateToSearch = GenericLogic.GetDateTime(inputDate); var pledge = db.OpenPledges.FirstOrDefault(p => p.PledgeID.ToString() == pledgeID); if (pledge == null || !DateToSearch.HasValue) { return(null); } TrackerLogic.setRequestProps(Url, CurrentUser(), this.Request?.Url?.Scheme); var results = await TrackerLogic.Fitbit.getFitBitDataForDate(DateToSearch.Value, CurrentUser()); return(PartialView("~/Views/offsets/Fitbit/_FitbitActivityPartialSummaryList.cshtml", results)); }
public FitbitVM(string JSONBlob, DateTime _ActivityDate, ApplicationUser usr = null) { /* * "activityId":51007, * "activityParentId":90019, * "calories":230, * "description":"7mph", * "distance":2.04, * "duration":1097053, * "hasStartTime":true, * "isFavorite":true, * "logId":1154701, * "name":"Treadmill, 0% Incline", * "startTime":"00:25", * "steps":3783 */ jsonblob = JSONBlob; JSONObj = System.Web.Helpers.Json.Decode(JSONBlob); var dtstr = _ActivityDate.ToString("dd MMMM yyyy"); if (!string.IsNullOrEmpty(JSONObj.startTime)) { dtstr += " " + JSONObj.startTime; } var tryDate = GenericLogic.GetDateTime(dtstr); JSONObj.ActivityDate = tryDate ?? _ActivityDate; //JSONObj.duration_mins = //JSONObj.total_kilometers = (((decimal)JSONObj.total_distance) / 1000.0m).ToString("0.00"); //JSONObj.duration_hours = (((decimal)JSONObj.duration_mins) / 60.0m).ToString("0.00"); JSONObj.logoPath = FitBit.LogoURL; //var rnd = new Random(); //JSONObj.mapId = "map" + rnd.Next(1, 9999).ToString(); //JSONObj.galleryID = "gallery" + rnd.Next(1, 9999).ToString(); User = usr; ShowButtons = true; }
public async Task <string> GetAccessCode(ApplicationDbContext db, Tracker t) { if (t == null) { return("No Authorization Code"); } if (!string.IsNullOrEmpty(t.AccessToken) && (t.AccessTokenExpiry > DateTime.Now)) { return(t.AccessToken); } if (!string.IsNullOrEmpty(t.RefreshToken)) { var Headers = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Authorization", "Basic " + GetAuthorizationCode()) }; var Data = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("refresh_token", t.RefreshToken), new KeyValuePair <string, string>("grant_type", "refresh_token") }; var result = await GenericLogic.HttpPost(Headers, Data, ConfigurationManager.AppSettings["FitbitTokenURL"]); dynamic jsonresponse = System.Web.Helpers.Json.Decode(result); string accesstoken = jsonresponse?.access_token; if (!string.IsNullOrEmpty(accesstoken)) { t.AccessToken = accesstoken; t.RefreshToken = jsonresponse?.refresh_token; t.AccessTokenExpiry = DateTime.Now.AddSeconds((jsonresponse?.expires_in * 0.9)); t.ThirdPartyUserID = jsonresponse?.user_id; db.SaveChanges(); return(t.AccessToken); } Messaging.Add(Message.LevelEnum.alert_danger, "Oops! something went wrong trying to request information from Fitbit", Message.TypeEnum.TemporaryAlert, ParentTracker.User); db.SaveChanges(); return(string.Empty); } else { var Headers = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Authorization", "Basic " + GetAuthorizationCode()) }; var Data = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("code", t.AuthToken), new KeyValuePair <string, string>("grant_type", "authorization_code"), new KeyValuePair <string, string>("client_id", ConfigurationManager.AppSettings["FitbitClientID"]), new KeyValuePair <string, string>("redirect_uri", ParentTracker.Url.Action("FitbitAuthCompleted", "Trackers", null, ParentTracker.RequestScheme)) }; var result = await GenericLogic.HttpPost(Headers, Data, ConfigurationManager.AppSettings["FitbitTokenURL"]) ; dynamic jsonresponse = System.Web.Helpers.Json.Decode(result); string accesstoken = jsonresponse?.access_token; if (!string.IsNullOrEmpty(accesstoken)) { t.AccessToken = accesstoken; t.RefreshToken = jsonresponse?.refresh_token; t.AccessTokenExpiry = DateTime.Now.AddSeconds((jsonresponse?.expires_in * 0.9)); t.ThirdPartyUserID = jsonresponse?.user_id; db.SaveChanges(); return(t.AccessToken); } else { //there was a problem. Messaging.Add(Message.LevelEnum.alert_danger, "Oops! something went wrong trying to request information from Fitbit", Message.TypeEnum.TemporaryAlert, ParentTracker.User); db.SaveChanges(); return(string.Empty); } } }
public ActionResult PaymentComplete(string ID) { try { var IDInt = GenericLogic.GetInt(ID); if (!IDInt.HasValue) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var contrib = db.PledgeContributors.FirstOrDefault(c => c.ID == IDInt); if (contrib == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } string url = ConfigurationManager.AppSettings["JustGivingAPIURL"] + ConfigurationManager.AppSettings["JustGivingAppId"] + "/v1/donation/ref/" + contrib.ID; //need to check this...contrib.ThirdPartyRef var i = new Uri(url); var request = WebRequest.CreateDefault(i); request.Method = "GET"; request.ContentType = "application/json"; var response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); var requestedText = reader.ReadToEnd(); dynamic data = System.Web.Helpers.Json.Decode(requestedText); // var amount = data?.donations[0]?.amount; var thirdPartyReference = data?.donations[0]?.thirdPartyReference; var status = data?.donations[0]?.status;//"Accepted" if (thirdPartyReference != contrib.ID.ToString()) { throw new Exception(); } if (status == "Accepted") { contrib.Status = PledgeContributors.PledgeContribuionStatus.Completed; db.SaveChanges(); } else { Messaging.Add(Message.LevelEnum.alert_warning, "Looks like the payment wasn't made. Try making payment again.", Message.TypeEnum.TemporaryAlert, contrib.Sinner); db.SaveChanges(); return(RedirectToAction("Index")); } Messaging.Add(Message.LevelEnum.alert_success, "Thank You. Your payment has now been processed.", Message.TypeEnum.StickyAlert, contrib.Sinner); db.SaveChanges(); return(RedirectToAction("Index")); } catch { if (CurrentUser() != null) { Messaging.Add(Message.LevelEnum.alert_warning, "OOps! that didn't work. try making payment again.", Message.TypeEnum.TemporaryAlert, CurrentUser()); db.SaveChanges(); } return(RedirectToAction("Index")); } }
public ActionResult FAQ() => View(GenericLogic.GetFAQs(Url));