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.
64 lines
1.7 KiB
64 lines
1.7 KiB
namespace YOUserbase;
|
|
|
|
public partial class CreateGroupPage : ContentPage
|
|
{
|
|
|
|
private Group group;
|
|
|
|
public CreateGroupPage()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public CreateGroupPage(Group group) {
|
|
InitializeComponent();
|
|
this.group = group;
|
|
NameEntry.Text = group.Name;
|
|
DetailsEntry.Text = group.Details;
|
|
btnCreate.Text = "Save";
|
|
contentPage.Title = "Edit user";
|
|
}
|
|
|
|
private void OnCreateClicked (object sender, EventArgs e)
|
|
{
|
|
var isValid = true;
|
|
string text = NameEntry.Text;
|
|
errName.Text = "";
|
|
if (String.IsNullOrWhiteSpace(text)) {
|
|
isValid = false;
|
|
errName.Text = "First name cannot be empty";
|
|
} else if (text.Length > 20) {
|
|
isValid = false;
|
|
errName.Text = "First name cannot be longer than 20 characters";
|
|
}
|
|
text = DetailsEntry.Text;
|
|
errDetails.Text = "";
|
|
if (String.IsNullOrWhiteSpace(text)) {
|
|
isValid = false;
|
|
errDetails.Text = "Last name cannot be empty";
|
|
} else if (text.Length > 500) {
|
|
isValid = false;
|
|
errDetails.Text = "Last name cannot be longer than 20 characters";
|
|
}
|
|
errAll.Text = "";
|
|
if (Data.Groups.Where(x => x.Name == NameEntry.Text).Any()) {
|
|
isValid = false;
|
|
errAll.Text = "Group with the same name already exists";
|
|
}
|
|
if (isValid) {
|
|
if (group != null) { // Update
|
|
var grp = Data.Groups.FirstOrDefault(gr => gr.Id == group.Id);
|
|
grp.Name = NameEntry.Text;
|
|
grp.Details = DetailsEntry.Text;
|
|
} else { // Create
|
|
Data.Groups.Add(new Group
|
|
{
|
|
Name = NameEntry.Text,
|
|
Details = DetailsEntry.Text,
|
|
});
|
|
}
|
|
Navigation.PopAsync();
|
|
}
|
|
}
|
|
}
|