我有兩個操作的創建/編輯對話框。我應該在我的服務「客戶端」或客戶端中定義UI默認值ViewModel
當我在編輯模式下打開對話框並進行更改時,UI中的選擇被保存到數據庫中。
當我在創建模式下打開對話框時,我不必加載UI狀態,因爲我只有在我的UI中有默認值。
1.)現在我問自己,我應該通過我的DTO從域服務獲取UI的默認值,還是應該在我的ViewModels中爲UI定義這些默認值?
2.)每種方法的優點是什麼?
UPDATE
public SchoolyearCreateRequest CreateSchoolyear()
{
var request = new SchoolyearCreateRequest();
request.MaxPeriodsPerWeek = TimeTable.GetMaxPeriodsPerWeek();
request.RotationsPerWeek = TimeTable.GetRotationsPerWeek();
request.FirstDaysOfAWeek = TimeTable.GetFirstDaysOfAWeek();
request.FirstDayOfWeek = TimeTable.GetFirstDaysOfAWeek().First();
request.RotationPerWeek = TimeTable.GetRotationsPerWeek().First();
request.MaxPeriodPerWeek = TimeTable.GetMaxPeriodsPerWeek().First();
request.ValidStartDate = DateTime.Today;
request.ValidEndDate = (Nullable<DateTime>)null;
return request;
}
3個默認值(。首先())是從3種TimeTable.Get方法所採取是發送到客戶端這不是冗餘數據。
你還會用這種方式定義它,而不是在客戶端的viewmodel內部嗎?
UPDATE
namespace TLP.MODEL.DTO
{
public class SchoolyearCreateRequest
{
public IEnumerable<DayOfWeek> FirstDaysOfAWeek { get; set; }
public IEnumerable<int> MaxPeriodsPerWeek { get; set; }
public IEnumerable<int> RotationsPerWeek { get; set; }
public DateTime ValidStartDate { get; set; }
public DateTime? ValidEndDate { get; set; }
public DayOfWeek FirstDayOfWeek { get; set; }
public int MaxPeriodPerWeek { get; set; }
public int RotationPerWeek { get; set; }
}
}
你能發佈SchoolyearCreateRequest類,只是我看到的類型,以幫助我更好地理解。 – Marc
任何更新?.... – Marc
@Marc是在8小時內,當我在家裏b4我的筆記本電腦:) – Elisabeth