/// <summary>
        /// Creates the updated training report view.
        /// </summary>
        /// <param name="trainingInfo">The training information.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">trainingInfo</exception>
        public ITrainingReportViewModel CreateUpdatedTrainingReportView(ITrainingReportViewModel trainingReportInfo, IList <ITrainingEvaluationRating> trainingEvaluationRatings, IList <ITrainingCalendar> trainingCalendars, string message)
        {
            if (trainingReportInfo == null)
            {
                throw new ArgumentNullException(nameof(trainingReportInfo));
            }

            if (trainingEvaluationRatings == null)
            {
                throw new ArgumentNullException(nameof(trainingEvaluationRatings));
            }

            if (trainingCalendars == null)
            {
                throw new ArgumentNullException(nameof(trainingCalendars));
            }

            var traingCalendarDDL = GetDropDownList.TrainingCalendarListItems(trainingCalendars, trainingReportInfo.TrainingCalendarID);

            var traingRatingDDL = GetDropDownList.TrainingEvaluationListItems(trainingEvaluationRatings, trainingReportInfo.TrainerEvaluationRating);

            trainingReportInfo.TrainingEvaluationRatingDropDownlist = traingRatingDDL;

            trainingReportInfo.TrainingCalendarDropDownlist = traingCalendarDDL;

            trainingReportInfo.ProcessingMessage = message;

            return(trainingReportInfo);
        }
        /// <summary>
        /// Creates the training report.
        /// </summary>
        /// <param name="trainingReportViewModel">The training report view model.</param>
        /// <param name="companyCollection">The company collection.</param>
        /// <param name="employeeCollection">The employee collection.</param>
        /// <param name="trainingCollection">The training collection.</param>
        /// <param name="trainingRatingCollection">The training rating collection.</param>
        /// <param name="trainingCalendarCollection">The training calendar collection.</param>
        /// <param name="message">The message.</param>
        /// <returns></returns>
        public ITrainingReportViewModel CreateTrainingReport(ITrainingReportViewModel trainingReportViewModel, IList <ICompanyDetail> companyCollection, IList <IEmployee> employeeCollection, ITraining trainingInfo, IList <ITrainingEvaluationRating> trainingRatingCollection, IList <ITrainingCalendar> trainingCalendarCollection, string message)
        {
            //if (trainingId == null) throw new ArgumentNullException(nameof(trainingId));

            var companyDDL          = GetDropDownList.CompanyListItems(companyCollection, -1);
            var employeeDDL         = GetDropDownList.EmployeeListitems(employeeCollection, -1);
            var evaluationDDL       = GetDropDownList.TrainingEvaluationListItems(trainingRatingCollection, -1);
            var trainingcalendarDDL = GetDropDownList.TrainingCalendarListItems(trainingCalendarCollection, -1);


            trainingReportViewModel.CompanyDropDownlist  = companyDDL;
            trainingReportViewModel.EmployeeDropDownlist = employeeDDL;
            trainingReportViewModel.Training             = trainingInfo;
            trainingReportViewModel.TrainingEvaluationRatingDropDownlist = evaluationDDL;
            trainingReportViewModel.TrainingCalendarDropDownlist         = trainingcalendarDDL;

            trainingReportViewModel.ProcessingMessage = message;

            return(trainingReportViewModel);
        }
        /// <summary>
        /// Creates the training report.
        /// </summary>
        /// <param name="companyInfo">The company information.</param>
        /// <param name="employeeCollection">The employee collection.</param>
        /// <param name="trainingCollection">The training collection.</param>
        /// <param name="trainingRatingCollection">The training rating collection.</param>
        /// <param name="trainingCalendarCollection">The training calendar collection.</param>
        /// <returns></returns>
        public ITrainingReportViewModel CreateTrainingReport(ICompanyDetail companyInfo, IList <IEmployee> employeeCollection, int employeeId, ITraining trainingInfo, IList <ITrainingEvaluationRating> trainingRatingCollection, IList <ITrainingCalendar> trainingCalendarCollection)
        {
            var employeeDDL         = GetDropDownList.EmployeeListitems(employeeCollection, -1);
            var evaluationDDL       = GetDropDownList.TrainingEvaluationListItems(trainingRatingCollection, -1);
            var trainingcalendarDDL = GetDropDownList.TrainingCalendarListItems(trainingCalendarCollection, -1);



            var viewModel = new TrainingReportViewModel
            {
                EmployeeDropDownlist = employeeDDL,
                EmployeeID           = employeeId,
                Training             = trainingInfo,

                TrainingCalendarDropDownlist         = trainingcalendarDDL,
                TrainingEvaluationRatingDropDownlist = evaluationDDL,
                CompanyID = companyInfo.CompanyId,
            };

            return(viewModel);
        }