private async Task Save() { if (!await CheckCanSave()) { return; } var opersToSave = BindedOpers.ToList(); foreach (var oper in opersToSave) { oper.Number = opersToSave.IndexOf(oper) + 1; } var editedTask = new ApiTask(); mapper.Map(this, editedTask); editedTask.DependsOn = taskDependencies.Count == 0 ? null : taskDependencies.Items.Select(dep => mapper.Map <ApiTaskDependence>(dep)) .ToArray(); editedTask.BindedOpers = opersToSave.Select(oper => mapper.Map <ApiOperation>(oper)).ToArray(); cachedService.CreateOrUpdateTask(editedTask); Close(); cachedService.RefreshData(); } //saving to base
} //init vm private async Task Save() { if (!IsValid || !IsDirty) { return; } if (!await Shell.ShowWarningAffirmativeDialogAsync(Id > 0 ? "Save these task settings?" : "Create this task?")) { return; } var opersToSave = BindedOpers.ToList(); foreach (var oper in opersToSave) { oper.Number = opersToSave.IndexOf(oper) + 1; } var editedTask = new ApiTask(); mapper.Map(this, editedTask); editedTask.BindedOpers = opersToSave.Select(oper => mapper.Map <ApiOperation>(oper)).ToArray(); cachedService.CreateOrUpdateTask(editedTask); Close(); cachedService.RefreshData(); } //saving to base