static TodoAppState SetVisibility(TodoAppState state, SetVisibility act) { return(new TodoAppState { Todos = state.Todos, Visibility = act.Visibility }); }
public static string ToApiString(this SetVisibility visibility) { switch (visibility) { case SetVisibility.Public: return("public"); case SetVisibility.OnlyMe: return("only_me"); case SetVisibility.Groups: return("groups"); case SetVisibility.Password: return("password"); default: throw new ArgumentOutOfRangeException("visibility"); } }
public void Process(SetVisibility message) { }
public void CommitEdits(SetViewModel setViewModel, string newPassword, SetVisibility? newVisibility, SetEditPermissions? newPermissions, IEnumerable<long> groupIDs, Action completed, Action<Exception> errorHandler) { string editable = newPermissions.HasValue ? newPermissions.Value.ToApiString() : null; string visibility = newVisibility.HasValue ? newVisibility.Value.ToApiString() : null; api.EditSet(setViewModel.ToSetInfo(), newPassword, visibility, editable, groupIDs, completed, errorHandler, new CancellationToken()); }
public void Update(SetInfo si) { if (ID != si.ID) { throw new InvalidOperationException("Cannot update Set view model with data from another group"); } Title = si.Title; Author = si.Author; Created = si.Created; Modified = si.Modified; for (int i = 0; i < Subjects.Count; ++i) { if (!si.Subjects.Contains(Subjects[i].Subject)) { Subjects.RemoveAt(i); } } foreach (var subject in si.Subjects) { if (Subjects.All(svm => svm.Subject != subject)) { Subjects.Add(new SubjectViewModel(subject)); } } switch (si.Editable) { case "groups": editPermissions = SetEditPermissions.Groups; break; case "password": editPermissions = SetEditPermissions.Password; break; default: editPermissions = SetEditPermissions.OnlyMe; break; } switch (si.Visibility) { case "public": visibility = SetVisibility.Public; break; case "groups": visibility = SetVisibility.Groups; break; case "password": visibility = SetVisibility.Password; break; default: visibility = SetVisibility.OnlyMe; break; } HasAccess = si.HasAccess; hasDiscussion = si.HasDiscussion; Description = si.Description; Uri = si.Uri; if (si.Terms != null) { TermsLoaded = true; Terms.Clear(); foreach (var ti in (IEnumerable <TermInfo>)si.Terms) { Terms.Add(new TermViewModel(ti)); } TermCount = Terms.Count; } else { TermCount = si.TermCount; } TermLanguageCode = si.TermLanguageCode; DefinitionLanguageCode = si.DefinitionLanguageCode; }
public void Process(SetVisibility message) { IsVisible = message.Visible; }