internal static class RuleExtensions
{
public static IRuleBuilderOptions<T, int> ValidateId<T>(this IRuleBuilder<T, int> builder)
where T : IHasId
{
return builder.Must((t, x) => t.Id > 5);
}
}
class FirstTestValidator : AbstractValidator<FirstTest>
{
public FirstTestValidator()
{
RuleFor(x => x.Id).ValidateId().DependentRules(() =>
{
RuleFor(x => x.Guid).NotEmpty();
});
}
}
private ServerGroup selectedGroup;
public ServerGroup SelectedGroup
{
get => selectedGroup;
set
{
selectedGroup = value;
loadProcesses();
}
}
public ObservableCollection<ServerGroup> Groups { get; }
public ObservableCollection<Process> Processes { get; }
private async void loadProcesses()
{
Processes.Clear();
//get response from API, etc.
var response = new List<Process>(); //example
response.ForEach(Processes.Add);
}
<ComboBox SelectedItem="{Binding SelectedGroup}" ItemsSource="{Binding Groups}"/>
<ComboBox SelectedItem="{Binding ......}" ItemsSource="{Binding Processes}"/>
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "Seq",
"Args": {
"serverUrl": "http://localhost:5341/",
"apiKey": "key",
"restrictedToMinimumLevel": "Warning"
}
}
]
class Root
{
public List<Data> Data { get; set; }
public int Timestamp { get; set; }
}
class Data
{
public string Id { get; set; }
public string Rank { get; set; }
public string Symbol { get; set; }
public string Name { get; set; }
public string Supply { get; set; }
public string MaxSupply { get; set; }
public string MarketCapUsd { get; set; }
public string VolumeUsd24Hr { get; set; }
public string PriceUsd { get; set; }
public string ChangePercent24Hr { get; set; }
public string Vwap24Hr { get; set; }
public string Explorer { get; set; }
}
public MyClass()
{
MyCommand = new DelegateCommand(AnyAction);
}
public ICommand MyCommand {get;}
void AnyAction()
{
//code
}
public class Animal
{
[Key]
public int AnimalId { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public Eat Eats { get; set; }
public virtual ICollection<Staff> { get; set; }
}
//Метод контроллера, который вызывается при переходе на страницу. (example: localhost/Home/ShowStaff/2959)
public async Task<IActionResult> ShowStaff(int animalId)
{
var result = await context.Animals.Include(x => x.Staff).FirstOrDefault(x => x.AnimalId == animalId); //Получаем всех сотрудников для животного
return View(result); //отдаем результат во view
}