public static MobileCenterApi.AppRequest ToAppRequest(this AppClass app) { return(new MobileCenterApi.AppRequest { Description = app.Description?.Trim(), DisplayName = app.DisplayName?.Trim(), Name = app.Name?.Trim(), Os = app.Os?.Trim(), Platform = app.Platform?.Trim(), }); }
public override async Task OnRefresh() { var currentId = Settings.CurrentAppId; if (string.IsNullOrWhiteSpace(currentId)) { return; } CurrentApp = Database.Main.GetObject <AppClass>(currentId); SetGroupInfo(); await SyncManager.Shared.SyncDistributionGroups(CurrentApp); }
async void SetCurrentApp() { var currentId = Settings.CurrentAppId; if (string.IsNullOrWhiteSpace(currentId)) { await NavigationService.PushModalAsync(new AppListViewModel()); } if (String.IsNullOrWhiteSpace(currentId) || CurrentApp?.Id == currentId) { return; } CurrentApp = Database.Main.GetObject <AppClass>(currentId); }
async Task syncCrashGroups(AppClass app) { var response = await Api.Crash.List4(app.Owner.Name, app.Name); var crashes = new List <CrashGroup>(); var stacks = new List <ReasonStackFrame>(); foreach (var r in response) { var crash = r.ToCrashGroup(app); crashes.Add(crash); if (r.ReasonFrame != null) { stacks.Add(r.ReasonFrame.ToReasonStackFrame(crash)); } } Database.Main.InsertOrReplaceAll(crashes); Database.Main.InsertOrReplaceAll(stacks); }
public async Task <bool> deleteApp(AppClass app) { try { await Api.Account.Delete4(app.Name, app.Owner.Name); Database.Main.Delete(app); NotificationManager.Shared.ProcAppsChanged(); return(true); } catch (Exception ex) { if (ex.Data.Contains("HttpContent")) { Debug.WriteLine(ex.Data["HttpContent"]); } else { Debug.WriteLine(ex); } } return(false); }
public async Task <bool> CreateApp(AppClass app) { try { var resp = await Api.Account.Create3(app.ToAppRequest()); var newApp = resp.ToAppClass(); var owner = resp.Owner.ToAppOwner(); Database.Main.InsertOrReplace(newApp); Database.Main.InsertOrReplace(owner); NotificationManager.Shared.ProcAppsChanged(); return(true); } catch (Exception ex) { if (ex.Data.Contains("HttpContent")) { Debug.WriteLine(ex.Data["HttpContent"]); } Debug.WriteLine(ex); } return(false); }
public Task SyncCrashGroups(AppClass app) { return(RunSingularTask(() => syncCrashGroups(app), app.Id)); }
public Task <bool> CreateDistributionGroup(AppClass app, string name) { return(RunSingularTask(() => createDistributionGroup(app, name), name)); }
public Task SyncDistributionGroups(AppClass app) { return(RunSingularTask(() => syncDistributionGroups(app), app.Id)); }
public Task SyncReleases(AppClass app) { return(RunSingularTask(() => syncReleases(app), app.Id)); }
async Task syncRepoConfig(AppClass app) { var configs = await Api.Build.List2(app.Owner.Name, app.Name, true).ConfigureAwait(false); Database.Main.InsertOrReplaceAll(configs.Select(x => x.ToRepoConfig(app.Id))); }
public Task SyncRepoConfig(AppClass app) { return(RunSingularTask(() => syncRepoConfig(app), app.Id)); }
public Task SyncBranch(AppClass app) { return(RunSingularTask(() => syncBranch(app), app.Id)); }
public static Release ToRelease(this MobileCenterApi.Models.ReleaseDetails releaseDetails, AppClass app) { return(new Release { AppIconUrl = releaseDetails.AppIconUrl, AppId = app.Id, AppName = releaseDetails.AppName, DownloadUrl = releaseDetails.DownloadUrl, Fingerprint = releaseDetails.Fingerprint, Id = releaseDetails.Id, InstallUrl = releaseDetails.InstallUrl, MinOs = releaseDetails.MinOs, ProvisioningProfileName = releaseDetails.ProvisioningProfileName, ReleaseNotes = releaseDetails.ReleaseNotes, ShortVersion = releaseDetails.ShortVersion, Size = releaseDetails.Size, Status = releaseDetails.Status.ToString(), UploadedAt = releaseDetails.UploadedAt, Version = releaseDetails.Version, }); }
public Task <bool> DeleteApp(AppClass app) { return(RunSingularTask(() => deleteApp(app), app.Id)); }
public static CrashGroup ToCrashGroup(this MobileCenterApi.Models.CrashGroup crash, AppClass app) { return(new CrashGroup { AppId = app.Id, AppVersion = crash.AppVersion, Build = crash.Build, Count = crash.Count, DisplayId = crash.DisplayId, ErrorReason = crash.CrashReason, Exception = crash.Exception, Fatal = crash.Fatal, FirstOccurrence = crash.FirstOccurrence, Id = crash.CrashGroupId, ImpactedUsers = crash.ImpactedUsers, LastOccurrence = crash.LastOccurrence, Status = (CrashGroupStatus)(int)crash.Status }); }
public static DistributionGroup ToDistributionGroup(this MobileCenterApi.Models.DistributionGroupResponse request, AppClass app) { return(new DistributionGroup { AppId = app.Id, Name = request.Name, Id = request.Id, IndexCharacter = BaseModel.GetIndexChar(request.Name), }); }
public static Release ToRelease(this MobileCenterApi.Models.ReleaseDetails releaseDetails, AppClass app) { return(new Release { AppIconUrl = releaseDetails.AppIconUrl, AppId = app.Id, AppName = releaseDetails.AppName, DownloadUrl = releaseDetails.DownloadUrl, Fingerprint = releaseDetails.Fingerprint, Id = releaseDetails.Id.ToString(), // TODO: Fix up if needed; was string before and is now is number; added ToString to get to compile InstallUrl = releaseDetails.InstallUrl, MinOs = releaseDetails.MinOs, ProvisioningProfileName = releaseDetails.ProvisioningProfileName, ReleaseNotes = releaseDetails.ReleaseNotes, ShortVersion = releaseDetails.ShortVersion, Size = releaseDetails.Size, Status = releaseDetails.Status.ToString(), UploadedAt = DateTime.MinValue, // TODO: Fix this hack & properly convert releaseDetails.UploadedAt to date time Version = releaseDetails.Version, }); }