public void SkipPlanned() { AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 100, Klatka = 55 }); var entry = AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 401, Klatka = 10 }); entry.Status = EntryObjectStatus.Planned; insertToDatabase(entry); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { var param = new ReportMeasurementsTimeParams(); param.UseAllEntries = true; var list = service.ReportMeasurementsTime(data.Token, param); assert(list, new Tuple <DateTime, float, float>(DateTime.UtcNow.Date.AddDays(-10), 100, 55)); }); }
public void ToDate() { AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-3), new Wymiary() { Height = 100, Klatka = 55 }); AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 401, Klatka = 10 }); AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-21), new Wymiary() { Height = 402, Klatka = 11 }); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { var param = new ReportMeasurementsTimeParams(); param.EndDate = DateTime.UtcNow.AddDays(-8); var list = service.ReportMeasurementsTime(data.Token, param); assert(list, new Tuple <DateTime, float, float>(DateTime.UtcNow.Date.AddDays(-21), 402, 11), new Tuple <DateTime, float, float>(DateTime.UtcNow.Date.AddDays(-10), 401, 10)); }); }
public void ForCustomer_AnotherProfile() { var customer = CreateCustomer("cust", profiles[0]); AddTrainingDaySize(profiles[0], customer, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 100, Klatka = 55 }); AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 401, Klatka = 10 }); AddTrainingDaySize(profiles[1], null, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 402, Klatka = 11 }); var profile = (ProfileDTO)profiles[1].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { var param = new ReportMeasurementsTimeParams(); param.CustomerId = customer.GlobalId; var list = service.ReportMeasurementsTime(data.Token, param); assert(list, new Tuple <DateTime, float, float>(DateTime.UtcNow.Date.AddDays(-10), 100, 55)); }); }
public void AnotherProfile_Friends_ForMyFriend() { setPrivacy(Privacy.FriendsOnly); profiles[0].Friends.Add(profiles[1]); profiles[1].Friends.Add(profiles[0]); insertToDatabase(profiles[0]); insertToDatabase(profiles[1]); AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 100, Klatka = 55 }); AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-10), new Wymiary() { Height = 401, Klatka = 10 }); AddTrainingDaySize(profiles[0], null, DateTime.UtcNow.Date.AddDays(-11), new Wymiary() { Height = 402, Klatka = 11 }); var profile = (ProfileDTO)profiles[1].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { var param = new ReportMeasurementsTimeParams(); param.UserId = profiles[0].GlobalId; var list = service.ReportMeasurementsTime(data.Token, param); Assert.AreEqual(2, list.Count); }); }
void generateReport() { if (result != null) { fillReportData(result); return; } progressBar.Visibility = Visibility.Visible; chart.Visibility = Visibility.Collapsed; txtMessage.Text = ApplicationStrings.MeasurementsReportPage_MsgGeneratingReport; var m = new ServiceManager <ReportMeasurementsTimeCompletedEventArgs>(delegate(BodyArchitectAccessServiceClient client1, EventHandler <ReportMeasurementsTimeCompletedEventArgs> operationCompleted) { ReportMeasurementsTimeParams data = new ReportMeasurementsTimeParams(); data.UserId = ApplicationState.Current.TrainingDay.TrainingDay.ProfileId; data.CustomerId = ApplicationState.Current.TrainingDay.TrainingDay.CustomerId; data.StartDate = DateTime.UtcNow.AddYears(-1); client1.ReportMeasurementsTimeCompleted -= operationCompleted; client1.ReportMeasurementsTimeCompleted += operationCompleted; client1.ReportMeasurementsTimeAsync(ApplicationState.Current.SessionData.Token, data); }); m.OperationCompleted += (s, a) => { progressBar.Visibility = Visibility.Collapsed; FaultException <BAServiceException> faultEx = a.Error as FaultException <BAServiceException>; if (a.Error != null) { txtMessage.Text = ApplicationStrings.MeasurementsReportPage_ErrGeneratingReport; BAMessageBox.ShowError(ApplicationStrings.MeasurementsReportPage_ErrGeneratingReport); } else { chart.Visibility = Visibility.Visible; txtMessage.Text = ""; fillReportData(a.Result); } }; if (!m.Run()) { progressBar.Visibility = Visibility.Collapsed; if (ApplicationState.Current.IsOffline) { BAMessageBox.ShowError(ApplicationStrings.ErrOfflineMode); } else { BAMessageBox.ShowError(ApplicationStrings.ErrNoNetwork); } } }
public ReportMeasurementsTimeParams GetReportParameters() { var param = new ReportMeasurementsTimeParams(); UIHelper.Invoke(() => { param.StartDate = this.usrDateRange1.DateFrom; param.EndDate = this.usrDateRange1.DateTo; param.UseAllEntries = usrReportingEntryStatus1.UseAllEntries; }, Dispatcher); return(param); }
public IEnumerable RetrieveReportData(object arg) { ReportMeasurementsTimeParams param = settingsControl.GetReportParameters(); if (user != null) { param.UserId = user.GlobalId; } if (customer != null) { param.CustomerId = customer.GlobalId; } var list = ServiceManager.ReportMeasurementsTime(param); return(list); }
public IList <MeasurementsTimeReportResultItem> ReportMeasurementsTime(ReportMeasurementsTimeParams param) { if (!SecurityInfo.Licence.IsPremium) { throw new LicenceException("Reports are available in Premium or Instructor account only"); } SizeEntry entry = null; TrainingDay day = null; Wymiary wymiary = null; //var query = Session.QueryOver<TrainingDay>(() => day). // JoinAlias(x => day.Objects, () => entry). // JoinAlias(x => entry.Entries, () => item). // JoinAlias(x => item.Series, () => set); var query = Session.QueryOver <SizeEntry>(() => entry). JoinAlias(x => entry.TrainingDay, () => day). JoinAlias(x => entry.Wymiary, () => wymiary) .Where(x => entry.Status == EntryObjectStatus.Done);//reports are generated only for done entries; var dbMyProfile = Session.Load <Profile>(SecurityInfo.SessionData.Profile.GlobalId); var dbProfile = dbMyProfile; if (param.UserId.HasValue) { dbProfile = Session.Get <Profile>(param.UserId.Value); } if (param.CustomerId != null && dbProfile.GlobalId != SecurityInfo.SessionData.Profile.GlobalId) { throw new CrossProfileOperationException("This customer doesn't belong to your profile"); } if (ServiceHelper.IsPrivateCalendar(dbProfile, dbMyProfile)) { return(new List <MeasurementsTimeReportResultItem>()); } query = query.Where(x => day.Profile == dbProfile); if (param.CustomerId.HasValue) { Customer customer = Session.Get <Customer>(param.CustomerId.Value); if (customer.Profile != dbProfile) { throw new CrossProfileOperationException("This customer doesn't belong to your profile"); } query = query.Where(x => day.Customer == customer); } else { query = query.Where(x => day.Customer == null); } if (!param.UseAllEntries) { query = query.Where(x => entry.ReportStatus == ReportStatus.ShowInReport); } if (param.StartDate.HasValue) { query = query.Where(x => day.TrainingDate >= param.StartDate); } if (param.EndDate.HasValue) { query = query.Where(x => day.TrainingDate <= param.EndDate); } //var purposeOr = Restrictions.Disjunction(); //foreach (var item in param.Items) //{ // if (item == MeasurementItem.Weight) // { // purposeOr.Add<SizeEntry>(x => item.Exercise.GlobalId == exerciseId); // } //} //query = query.And(purposeOr); //query = query.Where(x=>set.Weight>0).OrderBy(x => day.TrainingDate).Asc.Select(x => new Tuple<double,DateTime,Guid>(set.Weight.Value, day.TrainingDate, x.Exercise.GlobalId )); //query = query.OrderBy(x => day.TrainingDate).Asc // .SelectList(l => // { // foreach (var item in param.Items) // { // l = l.Select(Projections.Max(item.ToString())); // } // return l.SelectGroup(x => day.TrainingDate); // }); //query = query.OrderBy(x => day.TrainingDate).Asc // .SelectList(l => // { // l = l.SelectMax(x => x.Wymiary); // return l.SelectGroup(x => day.TrainingDate); // }); query = query.OrderBy(x => day.TrainingDate).Asc .SelectList(l => l.SelectMax(x => wymiary.Height) .SelectMax(x => wymiary.Klatka) .SelectMax(x => wymiary.RightBiceps) .SelectMax(x => wymiary.RightForearm) .SelectMax(x => wymiary.RightUdo) .SelectMax(x => wymiary.LeftBiceps) .SelectMax(x => wymiary.LeftForearm) .SelectMax(x => wymiary.LeftUdo) .SelectMax(x => wymiary.Pas) .SelectMax(x => wymiary.Weight) .SelectGroup(x => day.TrainingDate) .Select(x => x.GlobalId)); //Select(x => set.Weight.Value,x=> day.TrainingDate,x=> x.Exercise.GlobalId); var result1 = query.List <object[]>(); //MeasurementsTimeReportResultItem //var result=result1.Select(x => new Tuple<DateTime, WymiaryDTO>((DateTime) x[10], new WymiaryDTO() // { // Height = (float) x[0], // Klatka = (float) x[1], // RightBiceps = (float) x[2], // RightForearm = (float) x[3], // RightUdo = (float) x[4], // LeftBiceps = (float) x[5], // LeftForearm = (float) x[6], // LeftUdo = (float) x[7], // Pas = (float) x[8], // Weight = (float) x[9], // })).ToList(); var result = result1.Select(x => new MeasurementsTimeReportResultItem() { DateTime = (DateTime)x[10], Wymiary = new WymiaryDTO() { Height = (decimal)x[0], Klatka = (decimal)x[1], RightBiceps = (decimal)x[2], RightForearm = (decimal)x[3], RightUdo = (decimal)x[4], LeftBiceps = (decimal)x[5], LeftForearm = (decimal)x[6], LeftUdo = (decimal)x[7], Pas = (decimal)x[8], Weight = (decimal)x[9], }, SizeEntryId = (Guid)x[11] }).ToList(); return(result); }
public IList <MeasurementsTimeReportResultItem> ReportMeasurementsTime(Token token, ReportMeasurementsTimeParams param) { return(exceptionHandling(token, () => InternalService.ReportMeasurementsTime(token, param))); }
public IList <MeasurementsTimeReportResultItem> ReportMeasurementsTime(Token token, ReportMeasurementsTimeParams param) { var securityInfo = SecurityManager.EnsureAuthentication(token); var service = new ReportService(Session, securityInfo, Configuration); return(service.ReportMeasurementsTime(param)); }
public static IList <MeasurementsTimeReportResultItem> ReportMeasurementsTime(ReportMeasurementsTimeParams param) { return(exceptionHandling(() => Instance.ReportMeasurementsTime(Token, param))); }