public void Execute() { if (_azureAuthService.CheckAuthentication() != AzureAuthService.AccessStatus.Authorized) { return; } if (_azureSyncService == null) { _azureSyncService = new AzureSyncService(_azureAuthService.GetRestService()); } if (_cooldowns == null) { var limits = _azureSyncService.GetLimitations(); var regular = new LimitationSet(cooldownDeletion: limits.Regular.Delete, cooldownUpload: limits.Regular.Upload, cooldownDownload: limits.Regular.Download); var multi = new LimitationSet(cooldownDeletion: limits.MultiUsage.Delete, cooldownUpload: limits.MultiUsage.Upload, cooldownDownload: limits.MultiUsage.Download); _cooldowns = new Limitations(regular: regular, multiUsage: multi); } var limitations = _isDualComputerInstance() ? _cooldowns.MultiUsage : _cooldowns.Regular; limitations.DeletionCooldown.ExecuteIfReady(SyncDeletions); limitations.UploadCooldown.ExecuteIfReady(SyncUp); // TODO: // Downloads will eventually stop const int syncFreezeTime = 31; var canSyncDown = !_hasSyncedDownOnce || _isDualComputerInstance(); // Either first sync since startup, or we're in dual-pc mode. if (canSyncDown && (DateTimeOffset.UtcNow - _lastSearchDt).TotalMinutes < syncFreezeTime) { limitations.DownloadCooldown.ExecuteIfReady(SyncDown); } }
public void Execute() { if (_authService.CheckAuthentication() != AuthService.AccessStatus.Authorized) { return; } if (_cloudSyncService == null) { _cloudSyncService = new CloudSyncService(_authService.GetRestService()); } if (_cooldowns == null) { var limits = _cloudSyncService.GetLimitations(); var regular = new LimitationSet(cooldownDeletion: limits.Regular.Delete, cooldownUpload: limits.Regular.Upload, cooldownDownload: limits.Regular.Download); var multi = new LimitationSet(cooldownDeletion: limits.MultiUsage.Delete, cooldownUpload: limits.MultiUsage.Upload, cooldownDownload: limits.MultiUsage.Download); _cooldowns = new Limitations(regular: regular, multiUsage: multi); } var isDualPc = _settings.GetPersistent().UsingDualComputer; var limitations = isDualPc ? _cooldowns.MultiUsage : _cooldowns.Regular; //Logger.Debug($"UploadCooldown IsReady={limitations.UploadCooldown.IsReady}, isDualPc={isDualPc}"); //Logger.Debug(limitations.ToString()); limitations.DeletionCooldown.ExecuteIfReady(SyncDeletions); limitations.UploadCooldown.ExecuteIfReady(SyncUp); // Downloads will go into 'idle mode' and stop trying to download new items when IA is not in use. const int syncFreezeTime = 31; var canSyncDown = isDualPc || !_hasSyncedDownOnce; // Either first sync since startup, or we're in dual-pc mode. if (canSyncDown && (DateTimeOffset.UtcNow - _lastSearchDt).TotalMinutes < syncFreezeTime) { if (!limitations.DownloadCooldown.IsReady) { return; } if (!SyncDown()) { _hasSyncedDownOnce = true; } limitations.DownloadCooldown.Reset(); } }
public string getLimitationByReservationId(int id) { Limitations limitations = _context.Limitations.Where(r => r.Id == id).FirstOrDefault(); string sex = "Gender: " + limitations.Gender + "."; string cuisineType = "Cussine Type: " + limitations.CuisineType + "."; string age = "Age " + limitations.Age + "."; string smoking = ""; string pets = ""; string alcohol = ""; if (limitations.Smoking == false) { smoking = " Smoking Allowed."; } else { smoking = " Smoking Not Allowed."; } if (limitations.Pets == false) { pets = " Pets Allowed."; } else { pets = " Pets Not Allowed."; } if (limitations.Alcohol == false) { alcohol = " Alcohol Allowed."; } else { alcohol = " Alcohol Not Allowed."; } string languages = "Languages: " + limitations.Languages + "."; string description = "Description: " + limitations.Description + "."; string thisLimiation = sex + " " + cuisineType + " " + age + " " + smoking + " " + pets + " " + alcohol + " " + languages + " " + description; return(thisLimiation); }
public List <Reservation> filterReservationByLimitations(List <Reservation> reservations, Limitations limitations) { List <Reservation> result = new List <Reservation>(); foreach (Reservation r in reservations) { Limitations rLimititions = getLimitationByReservationId(r.Id, r.Title); if ( (limitations.Gender == null || limitations.Gender.Equals("all", StringComparison.InvariantCultureIgnoreCase) || rLimititions.Gender.Equals(limitations.Gender, StringComparison.InvariantCultureIgnoreCase)) && (limitations.Languages == null || limitations.Languages == "" || rLimititions.Languages.Equals(limitations.Languages, StringComparison.InvariantCultureIgnoreCase)) && (limitations.CuisineType == null || limitations.CuisineType == "" || limitations.CuisineType.Equals(rLimititions.CuisineType, StringComparison.InvariantCultureIgnoreCase)) && (limitations.Age == null || limitations.Age.ToLower() == "all" || limitations.Age.Equals(rLimititions.Age, StringComparison.InvariantCultureIgnoreCase)) && (limitations.Pets == false || limitations.Pets == rLimititions.Pets) && (limitations.Alcohol == false || limitations.Alcohol == rLimititions.Alcohol) && (limitations.Smoking == false || limitations.Smoking == rLimititions.Smoking) ) { result.Add(r); } } return(result); }
public IActionResult DeleteReservation(int id) { IEnumerable <UserReservation> userReservations = _context.UserReservation.Where(ri => ri.ReservationID == id); _context.UserReservation.RemoveRange(userReservations); _context.SaveChanges(); Limitations limitations = _context.Limitations.Where(i => i.Id == id).FirstOrDefault(); _context.Limitations.Remove(limitations); _context.SaveChanges(); IEnumerable <Comment> comments = _context.Comment.Where(ri => ri.ReservationID == id); _context.Comment.RemoveRange(comments); _context.SaveChanges(); Reservation reservation = _context.Reservation.Where(i => i.Id == id).FirstOrDefault(); _context.Reservation.Remove(reservation); _context.SaveChanges(); return(RedirectToAction("MyReservation")); }
public string ToString(string delimiter) { return(StartDate.ToString() + delimiter + EndDate.ToString() + delimiter + Status.ToString() + delimiter + Progress.ToString() + delimiter + Duration.ToString() + delimiter + Finished.ToString() + delimiter + RecordedDate.ToString() + delimiter + ResponseId.ToString() + delimiter + DistributionChannel.ToString() + delimiter + UserLanguage.ToString() + delimiter + TimePISFirstClick.ToString() + delimiter + TimePISLastClick.ToString() + delimiter + TimePISPageSubmit.ToString() + delimiter + TimePISClickCount.ToString() + delimiter + TimeConsentFirstClick.ToString() + delimiter + TimeConsentLastClick.ToString() + delimiter + TimeConsentPageSubmit.ToString() + delimiter + TimeConsentClickCount.ToString() + delimiter + Consent.ToString() + delimiter + ConsentMistake.ToString() + delimiter + Q177FirstClick.ToString() + delimiter + Q177LastClick.ToString() + delimiter + Q177PageSubmit.ToString() + delimiter + Q177ClickCount.ToString() + delimiter + ProlificId.ToString() + delimiter + TimeContext1FirstClick.ToString() + delimiter + TimeContext1LastClick.ToString() + delimiter + TimeContext1PageSubmit.ToString() + delimiter + TimeContext1ClickCount.ToString() + delimiter + TimeContext2FirstClick.ToString() + delimiter + TimeContext2LastClick.ToString() + delimiter + TimeContext2PageSubmit.ToString() + delimiter + TimeContext2ClickCount.ToString() + delimiter + TimeContext3FirstClick.ToString() + delimiter + TimeContext3LastClick.ToString() + delimiter + TimeContext3PageSubmit.ToString() + delimiter + TimeContext3ClickCount.ToString() + delimiter + TimeControlReportFirstClick.ToString() + delimiter + TimeControlReportLastClick.ToString() + delimiter + TimeControlReportPageSubmit.ToString() + delimiter + TimeControlReportClickCount.ToString() + delimiter + TimeUcdReportP1FirstClick.ToString() + delimiter + TimeUcdReportP1LastClick.ToString() + delimiter + TimeUcdReportP1PageSubmit.ToString() + delimiter + TimeUcdReportP1ClickCount.ToString() + delimiter + TimeUcdReportP2FirstClick.ToString() + delimiter + TimeUcdReportP2LastClick.ToString() + delimiter + TimeUcdReportP2PageSubmit.ToString() + delimiter + TimeUcdReportP2ClickCount.ToString() + delimiter + TimeS1FirstClick.ToString() + delimiter + TimeS1LastClick.ToString() + delimiter + TimeS1PageSubmit.ToString() + delimiter + TimeS1ClickCount.ToString() + delimiter + SubjUnderstanding.ToString() + delimiter + SubjClarity.ToString() + delimiter + SubjTrusted.ToString() + delimiter + TimeS2FirstClick.ToString() + delimiter + TimeS2LastClick.ToString() + delimiter + TimeS2PageSubmit.ToString() + delimiter + TimeS2ClickCount.ToString() + delimiter + SubjNext1.ToString() + delimiter + SubjNext3.ToString() + delimiter + SubjNext2.ToString() + delimiter + SubjNext4.ToString() + delimiter + SubjNext5.ToString() + delimiter + TimeOcStatusFirstClick.ToString() + delimiter + TimeOcStatusLastClick.ToString() + delimiter + TimeOcStatusPageSubmit.ToString() + delimiter + TimeOcStatusClickCount.ToString() + delimiter + OcStatusVerbal.ToString() + delimiter + OcStatusProb.ToString() + delimiter + OcStatusSlider1.ToString() + delimiter + TimeOcChildFirstClick.ToString() + delimiter + TimeOcChildLastClick.ToString() + delimiter + TimeOcChildPageSubmit.ToString() + delimiter + TimeOcChildClickCount.ToString() + delimiter + OcChildVerbal.ToString() + delimiter + OcChildProb.ToString() + delimiter + OcChildSlider1.ToString() + delimiter + TimeOcCompareFirstClick.ToString() + delimiter + TimeOcCompareLastClick.ToString() + delimiter + TimeOcComparePageSubmit.ToString() + delimiter + TimeOcCompareClickCount.ToString() + delimiter + ObjcompCompare.ToString() + delimiter + TimeOcHardFirstClick.ToString() + delimiter + TimeOcHardLastClick.ToString() + delimiter + TimeOcHardPageSubmit.ToString() + delimiter + TimeOcHardClickCount.ToString() + delimiter + Objcomp1000Hard.ToString() + delimiter + Objcomp800Hard.ToString() + delimiter + TimeSch1FirstClick.ToString() + delimiter + TimeSch1LastClick.ToString() + delimiter + TimeSch1PageSubmit.ToString() + delimiter + TimeSch1ClickCount.ToString() + delimiter + Scheuner1.ToString() + delimiter + Scheuner2.ToString() + delimiter + Scheuner3.ToString() + delimiter + TimeSch2FirstClick.ToString() + delimiter + TimeSch2LastClick.ToString() + delimiter + TimeSch2PageSubmit.ToString() + delimiter + TimeSch2ClickCount.ToString() + delimiter + Scheuner4.ToString() + delimiter + Scheuner5.ToString() + delimiter + Scheuner6.ToString() + delimiter + Scheuner7.ToString() + delimiter + Scheuner8.ToString() + delimiter + TimeSch3FirstClick.ToString() + delimiter + TimeSch3LastClick.ToString() + delimiter + TimeSch3PageSubmit.ToString() + delimiter + TimeSch3ClickCount.ToString() + delimiter + Scheuner9.ToString() + delimiter + Scheuner10.ToString() + delimiter + Scheuner11.ToString() + delimiter + Scheuner12.ToString() + delimiter + Scheuner13.ToString() + delimiter + TimeSch4FirstClick.ToString() + delimiter + TimeSch4LastClick.ToString() + delimiter + TimeSch4PageSubmit.ToString() + delimiter + TimeSch4ClickCount.ToString() + delimiter + Scheuner14.ToString() + delimiter + Scheuner15.ToString() + delimiter + Scheuner16.ToString() + delimiter + Scheuner17.ToString() + delimiter + Scheuner18.ToString() + delimiter + TimeLimitationsFirstClick.ToString() + delimiter + TimeLimitationsLastClick.ToString() + delimiter + TimeLimitationsPageSubmit.ToString() + delimiter + TimeLimitationsClickCount.ToString() + delimiter + Limitations.ToString() + delimiter + TimeNoticedFirstClick.ToString() + delimiter + TimeNoticedLastClick.ToString() + delimiter + TimeNoticedPageSubmit.ToString() + delimiter + TimeNoticedClickCount.ToString() + delimiter + ResultNoticed.ToString() + delimiter + ResultUnderstood.ToString() + delimiter + TimeSnumeracyFirstClick.ToString() + delimiter + TimeSnumeracyLastClick.ToString() + delimiter + TimeSnumeracyPageSubmit.ToString() + delimiter + TimeSnumeracyClickCount.ToString() + delimiter + SNumeracy1.ToString() + delimiter + SNumeracy2.ToString() + delimiter + SNumeracy3.ToString() + delimiter + SNumeracy4.ToString() + delimiter + SNumeracy5.ToString() + delimiter + SNumeracy6.ToString() + delimiter + SNumeracy7.ToString() + delimiter + SNumeracy8.ToString() + delimiter + TimePriorexp1FirstClick.ToString() + delimiter + TimePriorexp1LastClick.ToString() + delimiter + TimePriorexp1PageSubmit.ToString() + delimiter + TimePriorexp1ClickCount.ToString() + delimiter + CFExperience.ToString() + delimiter + CFExperienceDetail.ToString() + delimiter + TimePriorexp2FirstClick.ToString() + delimiter + TimePriorexp2LastClick.ToString() + delimiter + TimePriorexp2PageSubmit.ToString() + delimiter + TimePriorexp2ClickCount.ToString() + delimiter + TimeDemo1FirstClick.ToString() + delimiter + TimeDemo1LastClick.ToString() + delimiter + TimeDemo1PageSubmit.ToString() + delimiter + TimeDemo1ClickCount.ToString() + delimiter + Age.ToString() + delimiter + Gender.ToString() + delimiter + GenderOther.ToString() + delimiter + CombinedIncome.ToString() + delimiter + AdultsInHouse.ToString() + delimiter + ChildrenInHouse.ToString() + delimiter + Education.ToString() + delimiter + TimeDemo2FirstClick.ToString() + delimiter + TimeDemo2LastClick.ToString() + delimiter + TimeDemo2PageSubmit.ToString() + delimiter + TimeDemo2ClickCount.ToString() + delimiter + Comments.ToString() + delimiter + Design.ToString() + delimiter + TestResult.ToString() + delimiter + OCStatusAbsoluteTime.ToString() + delimiter + OCChildAbsoluteTime.ToString() + delimiter + OCCompareAbsoluteTime.ToString()); }
public Builder(Limitations limitations) { Limitations = limitations; }
public bool createReservation(string title, string placeId, string placeName, string placeAddress, string placeLat, string placeLng, string date, string startTime, string endTime, string numberPeople, string sexString, string ageString, string cuisineType, bool smoke, bool pet, bool alcohol, string languages, string description) { // ViewData["UserType"] = Request.Cookies["UserType"] ?? "regular"; string startString = date + " " + startTime; string endString = date + " " + endTime; DateTime startDate = DateTime.ParseExact(startString, "yyyy-MM-dd HH:mm", null); DateTime endDate = DateTime.ParseExact(endString, "yyyy-MM-dd HH:mm", null); string userID = _userManager.GetUserId(User); if (!rr.placeIdExist(placeId)) { Place place = new Place() { Id = placeId, Latitude = Convert.ToDouble(placeLat), Longtitude = Convert.ToDouble(placeLng), Name = placeName, Address = placeAddress }; _context.Place.Add(place); _context.SaveChanges(); } Reservation reservation = new Reservation() { Id = rr.GenerateReservationId(), Title = title, DateStart = startDate, DateEnd = endDate, NumberOfPeople = Int32.Parse(numberPeople), Status = "open", PlaceID = placeId, UserId = userID }; rr.CreateReservation(reservation); UserReservation userReservation = new UserReservation { UserID = reservation.UserId, ReservationID = reservation.Id, isHost = true }; _context.UserReservation.Add(userReservation); _context.SaveChanges(); Limitations limitations = new Limitations() { Id = reservation.Id, Gender = sexString, CuisineType = cuisineType, Age = ageString, Smoking = smoke, Pets = pet, Alcohol = alcohol, Languages = languages, Description = description }; _context.Limitations.Add(limitations); _context.SaveChanges(); return(true); }
public IActionResult ViewReservations(Limitations limitations, string sortBy, int?page) { ViewBag.partySizeSort = sortBy == "party_size" ? "party_size_desc" : "party_size"; ViewBag.DateSort = sortBy == "date" ? "date_desc" : "date"; List <Place> places = _context.Place.Select(p => new Place { Id = p.Id, Address = p.Address, Name = p.Name, Longtitude = p.Longtitude, Latitude = p.Latitude, Reservations = _context.Reservation.Where(r => r.PlaceID == p.Id).ToList() }).ToList(); List <Reservation> reservationsFiltered = limitations.Id == 1 ? rr.filterReservationByLimitations(_context.Reservation.ToList(), limitations) : _context.Reservation.ToList(); if (limitations.Id == 1) { ViewData["filterString"] = String.Format("Current Filters: {0} {1} {2} {3} Others: {4} {5}", limitations.Languages == null ? "" : "Languages: " + limitations.Languages, limitations.CuisineType == null ? "" : "Cuisine Type: " + limitations.CuisineType, limitations.Gender == null ? "" : "Gender: " + limitations.Gender, limitations.Alcohol == false ? "" : "Alcohol free", limitations.Smoking == false ? "" : "Smoking free", limitations.Pets == false ? "" : "Pets free"); } else { ViewData["filterString"] = "No filter specified"; } List <ReservationViewModel> reservationsViewModel = reservationsFiltered.Select(r => new ReservationViewModel { Id = r.Id, Title = r.Title, DateStart = r.DateStart, DateEnd = r.DateEnd, NumberOfPeople = r.NumberOfPeople, Status = r.Status, LocationAddress = _context.Place.Where(p => p.Id == r.PlaceID).FirstOrDefault().Address, // i change from applicaionUser to User AuthorName = _context.User.Where(au => au.Id == r.UserId).FirstOrDefault().FirstName }).ToList(); switch (sortBy) { case "date": reservationsViewModel.Sort((x, y) => x.DateStart.CompareTo(y.DateStart)); break; case "date_desc": reservationsViewModel.Sort((x, y) => y.DateStart.CompareTo(x.DateStart)); break; case "party_size": reservationsViewModel.Sort((x, y) => x.NumberOfPeople.CompareTo(y.NumberOfPeople)); break; case "party_size_desc": reservationsViewModel.Sort((x, y) => y.NumberOfPeople.CompareTo(x.NumberOfPeople)); break; default: reservationsViewModel.Sort((x, y) => x.DateStart.CompareTo(y.DateStart)); break; } PlaceReservationViewModel model = new PlaceReservationViewModel() { Reservations = reservationsViewModel, Places = places }; int pageSize = 5; return(View(model)); }