private IWorkoutViewModel CreateWorkOutFromWorkOutRow(WorkOutRow workOutRow, IWorkoutDefinitionViewModel workOutDefinition) { var workout = App.Container.Resolve <IWorkoutViewModel>(); workout.WorkOutId = workOutRow.WorkOuId; workout.SessionId = workOutRow.SessionId; workout.WorkOutDefinitionId = workOutRow.WorkOutDefinitionId; workout.WorkOutName = workOutRow.WorkOutName; workout.WorkOutType = (WorkOutAssignment.WorkOutTypes)workOutRow.WorkOutType; workout.WorkOutComplete = workOutRow.WorkOutComplete; foreach (var set in _setRepository.GetSets(workOutRow.WorkOuId)) { workout.WorkOutSets.Add(set); } return(workout); }
private XDocument CreateListSets(DateTime date, ArgumentContainer arguments, IResumptionToken resumptionToken = null) { OaiVerb verb = OaiVerb.ListSets; OaiArgument allowedArguments = OaiArgument.ResumptionToken; if (!OaiErrors.ValidateArguments(arguments, allowedArguments, out XElement errorElement)) { return(CreateErrorDocument(date, verb, arguments, errorElement)); } // Set if (!_configuration.SupportSets) { return(CreateErrorDocument(date, verb, arguments, OaiErrors.NoSetHierarchy)); } // Decode ResumptionToken if (resumptionToken == null && !string.IsNullOrWhiteSpace(arguments.ResumptionToken)) { if (!OaiErrors.ValidateArguments(arguments, OaiArgument.ResumptionToken)) { return(CreateErrorDocument(date, verb, arguments, OaiErrors.BadArgumentExclusiveResumptionToken)); } IResumptionToken decodedResumptionToken = _resumptionTokenConverter.Decode(arguments.ResumptionToken); if (decodedResumptionToken.ExpirationDate >= DateTime.UtcNow) { return(CreateErrorDocument(date, verb, arguments, OaiErrors.BadResumptionToken)); } ArgumentContainer resumptionTokenArguments = new ArgumentContainer( verb.ToString(), decodedResumptionToken.MetadataPrefix, arguments.ResumptionToken, null, _dateConverter.Encode(_configuration.Granularity, decodedResumptionToken.From), _dateConverter.Encode(_configuration.Granularity, decodedResumptionToken.Until), decodedResumptionToken.Set); return(CreateListSets(date, resumptionTokenArguments, decodedResumptionToken)); } var setContainer = _setRepository.GetSets(arguments, resumptionToken); IList <XElement> root = new List <XElement>(); root.Add(CreateRequest(verb, arguments)); XElement content = new XElement(verb.ToString()); root.Add(content); if (setContainer != null) { foreach (var set in setContainer.Sets) { XElement setElement = new XElement("set"); content.Add(setElement); TryAddXElement(setElement, "setSpec", set.Spec); TryAddXElement(setElement, "setName", set.Name); TryAddXElement(setElement, "setDescription", set.Description); foreach (var additionalDescription in set.AdditionalDescriptions) { setElement.Add(new XElement("setDescription", additionalDescription)); } } if (setContainer.ResumptionToken != null) { content.Add(_resumptionTokenConverter.ToXElement(setContainer.ResumptionToken)); } } return(CreateXml(date, root.ToArray())); }