public PagedResult <MyTrainingDTO> GetMyTrainings(Token token, GetMyTrainingsParam param, PartialRetrievingInfo pageInfo) { var securityInfo = SecurityManager.EnsureAuthentication(token); var service = new MyTrainingService(Session, securityInfo, Configuration); return(service.GetMyTrainings(param, pageInfo)); }
public PagedResult <MyTrainingDTO> GetMyTrainings(GetMyTrainingsParam param, PartialRetrievingInfo retrievingInfo) { Log.WriteWarning("GetMyTrainings:Username={0}", SecurityInfo.SessionData.Profile.UserName); using (var transactionScope = Session.BeginGetTransaction()) { MyTraining _temp = null; var idQuery = Session.QueryOver <MyTraining>(() => _temp); idQuery = (QueryOver <MyTraining, MyTraining>)getMyTrainingsCriterias(idQuery, param); if (idQuery == null) { return(new PagedResult <MyTrainingDTO>(new List <MyTrainingDTO>(), 0, 0)); } var fetchQuery = Session.QueryOver <MyTraining>(() => _temp) .Fetch(x => x.EntryObjects).Eager .Fetch(x => ((SuplementsEntry)x.EntryObjects.First()).Items).Eager .Fetch(x => (((SuplementsEntry)x.EntryObjects.First()).Items).First().Suplement).Eager .Fetch(x => ((StrengthTrainingEntry)x.EntryObjects.First()).Entries).Eager .Fetch(x => (((StrengthTrainingEntry)x.EntryObjects.First()).Entries).First().Exercise).Eager .Fetch(x => x.EntryObjects.First().LoginData).Eager .Fetch(x => x.EntryObjects.First().LoginData.ApiKey).Eager .Fetch(x => x.EntryObjects.First().Reminder).Eager .Fetch(x => x.EntryObjects.First().TrainingDay).Eager .Fetch(x => x.EntryObjects.First().TrainingDay.Objects).Lazy; var listPack = fetchQuery.ToExPagedResults <MyTrainingDTO, MyTraining>(retrievingInfo, idQuery); transactionScope.Commit(); return(listPack); } }
protected override PagedResult <MyTrainingDTO> GetItemsMethod(PartialRetrievingInfo pageInfo) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.CustomerId = key.CustomerId; param.UserId = key.ProfileId; return(ServiceManager.GetMyTrainings(param, new PartialRetrievingInfo())); }
public void All() { var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); var entries = service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); Assert.AreEqual(myTrainings.Count, entries.AllItemsCount); Assert.AreEqual(myTrainings.Count, entries.Items.Count); }); }
public void ForCustomer_GetMyTrainings_CustomerFromAnotherProfile() { setPrivacy(Privacy.Public); var profile = (ProfileDTO)profiles[1].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.CustomerId = customer.GlobalId; service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); }); }
public void ById_GetMyTrainings_CustomerFromAnotherProfile() { setPrivacy(Privacy.Public); var profile = (ProfileDTO)profiles[1].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.MyTrainingId = customerTraining.GlobalId; var result = service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); Assert.AreEqual(0, result.AllItemsCount); }); }
public void WithSpecifiedTrainingEnd() { var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.TrainingEnds.Add(Service.V2.Model.TrainingEnd.Complete); var entries = service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); assert(entries, 0, 1, 4); }); }
public void FromStartDate() { var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.StartDate = DateTime.UtcNow.Date.AddDays(-4); var entries = service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); assert(entries, 0, 3); }); }
public void ForCustomer() { setPrivacy(Privacy.Public); var profile = (ProfileDTO)profiles[0].Tag; SessionData data = CreateNewSession(profile, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.CustomerId = customer.GlobalId; var entries = service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); Assert.AreEqual(1, entries.AllItemsCount); Assert.AreEqual("a6w3", entries.Items[0].Name); }); }
public void GetMyTrainings_Public() { setPrivacy(Privacy.Public); var data = CreateNewSession((ProfileDTO)profiles[1].Tag, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.UserId = profiles[0].GlobalId; var entries = service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); Assert.AreEqual(myTrainings.Count, entries.AllItemsCount); }); data = CreateNewSession((ProfileDTO)profiles[2].Tag, ClientInformation); RunServiceMethod(delegate(InternalBodyArchitectService service) { GetMyTrainingsParam param = new GetMyTrainingsParam(); param.UserId = profiles[0].GlobalId; var entries = service.GetMyTrainings(data.Token, param, new PartialRetrievingInfo()); Assert.AreEqual(myTrainings.Count, entries.AllItemsCount); }); }
private IQueryOver <MyTraining, MyTraining> getMyTrainingsCriterias(IQueryOver <MyTraining, MyTraining> queryProducts, GetMyTrainingsParam param) { queryProducts = queryProducts.ApplyUser(param, Session, SecurityInfo); if (queryProducts == null) { return(null); } if (param.MyTrainingId.HasValue) { queryProducts = queryProducts.Where(day => day.GlobalId == param.MyTrainingId.Value); } if (param.StartDate.HasValue) { queryProducts = queryProducts.Where(day => day.StartDate >= param.StartDate); } if (param.EndDate.HasValue) { queryProducts = queryProducts.Where(day => day.StartDate <= param.EndDate); } if (param.TrainingEnds.Count > 0) { var langOr = Restrictions.Disjunction(); foreach (var lang in param.TrainingEnds) { langOr.Add <MyTraining>(x => x.TrainingEnd == (TrainingEnd)lang); } queryProducts = queryProducts.And(langOr); } IQueryOverOrderBuilder <MyTraining, MyTraining> orderBuilder; switch (param.SortOrder) { case MyTrainingSortOrder.StartDate: orderBuilder = queryProducts.OrderBy(x => x.StartDate); break; case MyTrainingSortOrder.PercentageCompleted: orderBuilder = queryProducts.OrderBy(x => x.PercentageCompleted); break; default: orderBuilder = queryProducts.OrderBy(x => x.Name); break; } if (param.SortAscending) { queryProducts = orderBuilder.Asc; } else { queryProducts = orderBuilder.Desc; } return(queryProducts); }
public PagedResult <MyTrainingDTO> GetMyTrainings(Token token, GetMyTrainingsParam param, PartialRetrievingInfo pageInfo) { return(exceptionHandling(token, () => InternalService.GetMyTrainings(token, param, pageInfo))); }