/// <summary> /// Copy constructor to populate the classe /// </summary> public SubjectGoalActionDetailDTO(SubjectGoalAction source, IEnumerable <ActionStep> actionsLookup, int SubjectUserID, IEnumerable <Program> programList, IEnumerable <SubjectProgramStatus> programStatuses, string responsiblePersonName, IEnumerable <SubjectProgramMapping> subjectprogramList = null) { SubjectGoalActionID = source.SubjectGoalActionID; ActionStepID = source.ActionStepID; int?subjectProgramID = null; if (source.SubjectProgramID.HasValue) { ProgramID = subjectprogramList.Where(x => x.SubjectProgramID.Equals(source.SubjectProgramID.Value)).SingleOrDefault().ProgramId; subjectProgramID = subjectprogramList.Where(x => x.SubjectProgramID.Equals(source.SubjectProgramID.Value)).SingleOrDefault().SubjectProgramID; } ActionStepName = ProgramID.HasValue ? programList.Where(x => x.ProgramId.Equals(ProgramID.Value)).SingleOrDefault().Title : actionsLookup.Where(x => x.ActionStepID.Equals(ActionStepID)).SingleOrDefault().Name; ResponsiblePersonUserID = source.ResponsiblePersonUserID; ResponsiblePersonName = responsiblePersonName; DateCreated = source.DateCreated; TerminatedReason = source.TerminatedReason; OnHoldReason = source.OnHoldReason; SubjectGoalID = source.SubjectGoalID; RequestInstanceID = source.RequestInstanceID; if (subjectprogramList != null && subjectprogramList.Count() > 0 && subjectProgramID != null) { SubjectProgramMapping subjectProgramMapping = subjectprogramList.Where(x => x.SubjectProgramID.Equals(subjectProgramID.Value)).SingleOrDefault(); var programStatus = programStatuses.Where(z => z.ProgramStatusID == subjectProgramMapping.ProgramStatus).Select(z => z.Name).FirstOrDefault(); StartDate = (subjectProgramID.HasValue && subjectProgramMapping != null) ? subjectProgramMapping.DateStarted : source.StartDate; //subjectProgramMapping will be null as there will not be any entry in SubjectProgram for waitlisted program assignments EndDate = (subjectProgramID.HasValue && subjectProgramMapping != null) ? subjectProgramMapping.DateEnded : source.EndDate; Status = (subjectProgramID.HasValue && subjectProgramMapping != null) ? programStatus : SubjectGoalConstants.GetByEnum(source.Status); } else { StartDate = source.StartDate; EndDate = source.EndDate; Status = SubjectGoalConstants.GetByEnum(source.Status); } }
public CasePlanInterventionAssignmentDTO(SubjectGoalAction subjectGoalAction) { InterventionEntryID = subjectGoalAction.SubjectGoalActionID; GoalEntryID = subjectGoalAction.SubjectGoalActionID; CreatedByUserID = Convert.ToInt32(subjectGoalAction.CreatedByUserID); DateCreated = subjectGoalAction.DateCreated; ResponsiblePersonID = subjectGoalAction.ResponsiblePersonUserID; StatusID = subjectGoalAction.Status; DateStatusApplied = subjectGoalAction.DateCreated; }