public static DebriefingHeaderViewModel AsHeader(this Debriefing debrief) { DebriefingHeaderViewModel dhvm = new DebriefingHeaderViewModel(); dhvm.PositiveActionResponse = "No"; if (null != debrief) { dhvm.Id = debrief.Id; dhvm.TripNumber = debrief.TripNumber; dhvm.ObserverCode = debrief.Observer.StaffCode; dhvm.VesselId = debrief.Vessel.Id; dhvm.VesselName = debrief.Vessel.Name.Trim(); dhvm.VesselCountryCode = debrief.Vessel.CountryCode; dhvm.ProgramCode = debrief.Program.ToString(); dhvm.GearCode = GearCodeFromVesselType(debrief.Vessel.VesselType); dhvm.PreviousGearCode = dhvm.GearCode; dhvm.GearOrVersionImpact = debrief.HasFilledEvaluation(); dhvm.DepartureDate = debrief.DepartureDate; dhvm.DeparturePort = debrief.DeparturePort.ToString(); dhvm.DeparturePortId = debrief.DeparturePort.Id; dhvm.ReturnDate = debrief.ReturnDate; dhvm.ReturnPort = debrief.ReturnPort.ToString(); dhvm.ReturnPortId = debrief.ReturnPort.Id; dhvm.DebrieferCode = debrief.Debriefer.StaffCode; dhvm.StartTime = debrief.DebriefStart; dhvm.EndTime = debrief.DebriefEnd; dhvm.CountryCode = debrief.CountryCode; dhvm.Version = debrief.Version.GetValueOrDefault(WorkbookVersion.v2007).ToString(); dhvm.PreviousVersion = dhvm.Version; dhvm.Status = debrief.Status.GetValueOrDefault(DebriefingStatus.Unknown).ToString(); dhvm.Comments = debrief.Comments; dhvm.EnteredBy = debrief.EnteredBy; dhvm.EnteredDate = debrief.EnteredDate; // IsReadOnly is used by display logic dhvm.IsReadOnly = DebriefingStatus.Complete == debrief.Status.GetValueOrDefault(DebriefingStatus.Unknown); } return dhvm; }
public static void FillFromHeader(this Debriefing debrief, DebriefingHeaderViewModel dhvm) { if (null != debrief && null != dhvm) { debrief.TripNumber = dhvm.TripNumber; debrief.Comments = dhvm.Comments; debrief.CountryCode = dhvm.CountryCode; debrief.DebriefEnd = dhvm.EndTime.HasValue ? dhvm.EndTime.Value : dhvm.StartTime; debrief.DebriefStart = dhvm.StartTime; debrief.DepartureDate = dhvm.DepartureDate; debrief.ReturnDate = dhvm.ReturnDate; if (Enum.IsDefined(typeof(WorkbookVersion), dhvm.Version)) { debrief.Version = (WorkbookVersion)Enum.Parse(typeof(WorkbookVersion), dhvm.Version); } debrief.GearCode = dhvm.GearCode; } }
public static void FillDependentObjects(this Debriefing debrief, DebriefingHeaderViewModel dhvm, ISession session) { if (null != debrief && null != dhvm && null != session) { if (dhvm.VesselId != default(int)) { var vesselRepo = new DebriefRepository<Vessel>(session); debrief.Vessel = vesselRepo.FindBy(dhvm.VesselId); } var staffRepo = new DebriefRepository<FieldStaff>(session); debrief.Observer = staffRepo.FindBy(dhvm.ObserverCode); debrief.Debriefer = staffRepo.FindBy(dhvm.DebrieferCode); var portRepo = new DebriefRepository<Port>(session); debrief.DeparturePort = portRepo.FindBy(dhvm.DeparturePortId); debrief.ReturnPort = portRepo.FindBy(dhvm.ReturnPortId); } }