Esempio n. 1
0
        protected async Task Save()
        {
            switch ((EditDataType)Datatype)
            {
            case EditDataType.CoreData:
                if (CreationMode)
                {
                    await CoreDataItemsService.CreateItemAsync((CoreDataItem)Item);
                }
                else
                {
                    await CoreDataItemsService.SaveChangesAsync();
                }
                NavigationManager.NavigateTo("/coredata");
                break;

            case EditDataType.ShoppingList:
                if (CreationMode)
                {
                    ShoppingListItem shoppingListItem = (ShoppingListItem)Item;
                    shoppingListItem.CreationTimeStamp = DateTimeOffset.UtcNow;
                    await ShoppingListItemsService.CreateOrMergeItemAsync(shoppingListItem);
                }
                else
                {
                    await ShoppingListItemsService.SaveChangesAsync();
                }
                NavigationManager.NavigateTo("/shoppinglist");
                break;

            default:
                break;
            }
        }
Esempio n. 2
0
        protected override async Task OnParametersSetAsync()
        {
            try
            {
                CreationMode = Id == default;

                if (!Datatype.HasValue)
                {
                    LoadFailed = true;
                    return;
                }

                switch ((EditDataType)Datatype)
                {
                case EditDataType.CoreData:
                    Item = CreationMode ? new CoreDataItem() : await CoreDataItemsService.GetItemAsync(Id);

                    break;

                case EditDataType.ShoppingList:
                    Item = CreationMode ? new ShoppingListItem()
                    {
                        // We need to set the ownerId here so the model can be valid before the save button is pressed
                        OwnerId = await GetUserId()
                    } : await ShoppingListItemsService.GetItemAsync(Id);

                    break;

                default:
                    LoadFailed = true;
                    return;
                }
            }
            catch (Exception)
            {
                LoadFailed = true;
            }
        }