/// <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);
            }
        }
Exemplo n.º 2
0
 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;
 }