/// <summary> /// このインスタンスを、それと同等なUtility.Models.Entites.DtDeliveryFile型に変換する。 /// </summary> /// <returns></returns> public Utility.Models.Entites.DtDeliveryFile ToModel() { Utility.Models.Entites.DtDeliveryFile model = ToModelCommonPart(); model.DtDeliveryGroup = this.DtDeliveryGroup.Select(y => y.ToChildModel(this.GetType())).ToHashSet(); model.DtDeliveryModel = this.DtDeliveryModel.Select(y => y.ToChildModel(this.GetType())).ToHashSet(); model.MtDeliveryFileType = this.DeliveryFileTypeS?.ToParentModel(this.GetType()); model.MtInstallType = this.InstallTypeS?.ToParentModel(this.GetType()); return(model); }
/// <summary> /// このインスタンスを、それと同等なUtility.Models.Entites.DtDeliveryFile型に変換する。 /// 各変換メソッド共通部分 /// </summary> /// <returns></returns> private Utility.Models.Entites.DtDeliveryFile ToModelCommonPart() { Utility.Models.Entites.DtDeliveryFile model = new Utility.Models.Entites.DtDeliveryFile(); model.Sid = this.Sid; model.DeliveryFileTypeSid = this.DeliveryFileTypeSid; model.InstallTypeSid = this.InstallTypeSid; model.FilePath = this.FilePath; model.Version = this.Version; model.InstallableVersion = this.InstallableVersion; model.Description = this.Description; model.InformationId = this.InformationId; model.IsCanceled = this.IsCanceled; model.CreateDatetime = this.CreateDatetime; model.UpdateDatetime = this.UpdateDatetime; model.RowVersion = this.RowVersion; return(model); }
/// <summary> /// このインスタンスを、それと同等なUtility.Models.Entites.DtDeliveryFile型に変換する。 /// 子エンティティとして生成するため、親エンティティの情報をもたない /// </summary> /// <returns></returns> public Utility.Models.Entites.DtDeliveryFile ToChildModel(Type parentType) { Utility.Models.Entites.DtDeliveryFile model = ToModelCommonPart(); model.DtDeliveryGroup = this.DtDeliveryGroup.Select(y => y.ToChildModel(this.GetType())).ToHashSet(); model.DtDeliveryModel = this.DtDeliveryModel.Select(y => y.ToChildModel(this.GetType())).ToHashSet(); // 親子間の参照無限ループを避けるためにタイプチェック if (this.DeliveryFileTypeS?.GetType() != parentType) { model.MtDeliveryFileType = this.DeliveryFileTypeS?.ToParentModel(this.GetType()); } if (this.InstallTypeS?.GetType() != parentType) { model.MtInstallType = this.InstallTypeS?.ToParentModel(this.GetType()); } return(model); }
/// <summary> /// コンストラクタ /// </summary> /// <param name="model">Utility.Models.Entites.DtDeliveryFileのインスタンス</param> public DtDeliveryFile(Utility.Models.Entites.DtDeliveryFile model) { this.Sid = model.Sid; this.DeliveryFileTypeSid = model.DeliveryFileTypeSid; this.InstallTypeSid = model.InstallTypeSid; this.FilePath = model.FilePath; this.Version = model.Version; this.InstallableVersion = model.InstallableVersion; this.Description = model.Description; this.InformationId = model.InformationId; this.IsCanceled = model.IsCanceled; this.CreateDatetime = model.CreateDatetime; this.UpdateDatetime = model.UpdateDatetime; this.RowVersion = model.RowVersion; this.DtDeliveryGroup = model.DtDeliveryGroup.Select(y => new DtDeliveryGroup(y)).ToHashSet(); this.DtDeliveryModel = model.DtDeliveryModel.Select(y => new DtDeliveryModel(y)).ToHashSet(); this.DeliveryFileTypeS = model.MtDeliveryFileType == null ? null : new MtDeliveryFileType(model.MtDeliveryFileType); this.InstallTypeS = model.MtInstallType == null ? null : new MtInstallType(model.MtInstallType); }