-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Issue9: Applicant details while selecting (#48)
- Loading branch information
1 parent
58139ac
commit 7fc0eb1
Showing
8 changed files
with
206 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Globalization; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
using System.Windows; | ||
using System.Windows.Data; | ||
|
||
namespace Carmen.Desktop.Converters | ||
{ | ||
/// <summary> | ||
/// Convert an object value to a Visibility based on whether or not it is null. | ||
/// If ConverterParameter is set to a type, then the value must be this type to be considered not null. | ||
/// </summary> | ||
public class CollapsedIfNull : IValueConverter | ||
{ | ||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) | ||
{ | ||
if (value == null) | ||
return Visibility.Collapsed; | ||
if (parameter is Type type && !(value.GetType() == type || value.GetType().IsSubclassOf(type))) | ||
return Visibility.Collapsed; | ||
return Visibility.Visible; | ||
} | ||
|
||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) | ||
=> throw new NotImplementedException(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
using Carmen.CastingEngine.Allocation; | ||
using Carmen.ShowModel.Applicants; | ||
using Carmen.ShowModel.Criterias; | ||
using Carmen.ShowModel.Structure; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.ComponentModel; | ||
using System.Data; | ||
using System.Linq; | ||
using System.Runtime.CompilerServices; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
|
||
namespace Carmen.Desktop.ViewModels | ||
{ | ||
public class ApplicantForSelection : ISelectableApplicant, INotifyPropertyChanged | ||
{ | ||
public Applicant Applicant { get; init; } | ||
public Criteria[] PrimaryCriterias { get; init; } | ||
|
||
public event PropertyChangedEventHandler? PropertyChanged; | ||
|
||
public bool IsSelected | ||
{ | ||
get => true; // so that colour images are shown | ||
set => throw new InvalidOperationException(); | ||
} | ||
|
||
public string FirstName => Applicant.FirstName; | ||
public string LastName => Applicant.LastName; | ||
|
||
public IEnumerable<string> ExistingRoles => Enumerable.Empty<string>(); | ||
public IEnumerable<string> UnavailabilityReasons => Enumerable.Empty<string>(); | ||
public IEnumerable<string> IneligibilityReasons => Enumerable.Empty<string>(); | ||
|
||
public string? SelectionText => null; // this hides the checkbox completely | ||
|
||
public ApplicantForSelection(Applicant applicant, Criteria[] criterias) | ||
{ | ||
Applicant = applicant; | ||
PrimaryCriterias = criterias; // all criterias are useful at the selection phase, not just primary | ||
} | ||
|
||
protected void OnPropertyChanged([CallerMemberName] string? name = null) | ||
{ | ||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using Carmen.ShowModel.Applicants; | ||
using Carmen.ShowModel.Criterias; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading.Tasks; | ||
|
||
namespace Carmen.Desktop.ViewModels | ||
{ | ||
public interface ISelectableApplicant | ||
{ | ||
Applicant Applicant { get; } | ||
Criteria[] PrimaryCriterias { get; } | ||
bool IsSelected { get; set; } | ||
string FirstName { get; } | ||
string LastName { get; } | ||
string? SelectionText { get; } | ||
IEnumerable<string> ExistingRoles { get; } | ||
IEnumerable<string> UnavailabilityReasons { get; } | ||
IEnumerable<string> IneligibilityReasons { get; } | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.