You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.2 KiB
75 lines
2.2 KiB
using System;
|
|
using ViewModel;
|
|
|
|
namespace View.ModelViewPage
|
|
{
|
|
public class EditChampionViewM
|
|
{
|
|
public Command PickIconCommand { get; }
|
|
public Command PickImageCommand { get; }
|
|
|
|
public EditChampionViewM(ChampionManagerVM manager, EditChampionVm aditableChampion,ChampionVm championVM)
|
|
{
|
|
Manager = manager;
|
|
EditableChampion = aditableChampion;
|
|
ChampionVM = championVM;
|
|
SaveChampionCommand = new Command(SaveChampion);
|
|
PickIconCommand = new Command(async () => await PickIcon());
|
|
PickImageCommand = new Command(async () => await PickImage());
|
|
Title = aditableChampion.IsNew ? "Create" : "Update";
|
|
}
|
|
|
|
public string Title { get; }
|
|
|
|
private ChampionManagerVM Manager;
|
|
public EditChampionVm EditableChampion { get; }
|
|
private ChampionVm ChampionVM;
|
|
|
|
public Command SaveChampionCommand { get; }
|
|
|
|
private async void SaveChampion()
|
|
{
|
|
Manager.SaveChampion(EditableChampion, ChampionVM);
|
|
await Shell.Current.Navigation.PopAsync();
|
|
}
|
|
|
|
|
|
|
|
private async Task PickIcon()
|
|
{
|
|
var result = await FilePicker.PickAsync(new PickOptions
|
|
{
|
|
FileTypes = FilePickerFileType.Images,
|
|
PickerTitle = "Pick an icon",
|
|
|
|
});
|
|
if (result != null)
|
|
{
|
|
var stream = await result.OpenReadAsync();
|
|
var bytes = new byte[stream.Length];
|
|
await stream.ReadAsync(bytes, 0, (int)stream.Length);
|
|
EditableChampion.Icon = Convert.ToBase64String(bytes);
|
|
}
|
|
}
|
|
|
|
private async Task PickImage()
|
|
{
|
|
var result = await FilePicker.PickAsync(new PickOptions
|
|
{
|
|
FileTypes = FilePickerFileType.Images,
|
|
PickerTitle = "Pick an image",
|
|
|
|
});
|
|
if (result != null)
|
|
{
|
|
var stream = await result.OpenReadAsync();
|
|
var bytes = new byte[stream.Length];
|
|
await stream.ReadAsync(bytes, 0, (int)stream.Length);
|
|
EditableChampion.Image = Convert.ToBase64String(bytes);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|