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