示例#1
0
        /// <summary>
        /// Gets the discipline view.
        /// </summary>
        /// <param name="disciplineView">The discipline view.</param>
        /// <param name="userId">The user identifier.</param>
        /// <param name="processingMessage">The processing message.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentOutOfRangeException">userId</exception>
        /// <exception cref="ArgumentNullException">loggedUserDetails</exception>
        public IDisciplineView GetDisciplineView(IDisciplineView disciplineView, string processingMessage)
        {
            if (disciplineView == null)
            {
                throw new ArgumentOutOfRangeException(nameof(disciplineView));
            }

            //Get The Curretly Logged In User Information
            var loggedUserDetails = usersRepository.GetUserById((int)session.GetSessionValue(SessionKey.UserId));

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

            var companyInfo = this.companyRepository.GetCompanyById((int)this.session.GetSessionValue(SessionKey.CompanyId));

            var employeeCollecction = lookupRepository.GetEmployeeByCompanyId(companyInfo.CompanyId);

            var queryStatusCollection = this.lookupRepository.GetQueryStatus();

            var actionTakenCollection = this.lookupRepository.GetActionTaken();

            var viewModel =
                this.disciplineViewModelFactory.CreateDisciplineView(disciplineView, employeeCollecction, queryStatusCollection, actionTakenCollection, processingMessage);

            return(viewModel);
        }
        /// <summary>
        /// Creates the discipline view.
        /// </summary>
        /// <param name="disciplineView">The discipline view.</param>
        /// <param name="companyCollection">The company collection.</param>
        /// <param name="queryStatus">The query status.</param>
        /// <param name="actionTaken">The action taken.</param>
        /// <param name="processingMessage">The processing message.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">
        /// companyCollection
        /// or
        /// queryStatus
        /// or
        /// actionTaken
        /// </exception>
        public IDisciplineView CreateDisciplineView(IDisciplineView disciplineView, IList <IEmployee> employeeCollection, IList <IQueryStatus> queryStatus, IList <IActionTaken> actionTaken, string processingMessage)
        {
            if (queryStatus == null)
            {
                throw new ArgumentNullException(nameof(queryStatus));
            }

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

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

            var employeeDDL = GetDropDownList.EmployeeListitems(employeeCollection, -1);


            var queryDDL = GetDropDownList.QueryStatusListItem(queryStatus, disciplineView.QueryStatusId);

            var actionTakenDDL = GetDropDownList.ActionTakenListItem(actionTaken, disciplineView.ActionTakenId);

            disciplineView.ProcessingMessage   = processingMessage;
            disciplineView.ActionTakenDropDown = actionTakenDDL;
            disciplineView.EmployeeDropDown    = employeeDDL;
            disciplineView.QueryDropDown       = queryDDL;

            return(disciplineView);
        }
示例#3
0
        /// <summary>
        /// Processes the discipline information.
        /// </summary>
        /// <param name="disciplineView">The discipline view.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">disciplineView</exception>
        public string ProcessDisciplineInfo(IDisciplineView disciplineView)
        {
            if (disciplineView == null)
            {
                throw new ArgumentNullException(nameof(disciplineView));
            }

            var result = string.Empty;

            result = this.disciplineRepository.SaveDisciplineInfo(disciplineView);

            return(result);
        }
示例#4
0
        /// <summary>
        /// Processes the edit discipline information.
        /// </summary>
        /// <param name="disciplineInfo">The discipline information.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">disciplineInfo</exception>
        public string ProcessEditDisciplineInfo(IDisciplineView disciplineInfo)
        {
            if (disciplineInfo == null)
            {
                throw new ArgumentNullException(nameof(disciplineInfo));
            }

            string processingMessage = string.Empty;


            //Store Compnay Information
            processingMessage = this.disciplineRepository.SaveEditDisciplineInfo(disciplineInfo);


            return(processingMessage);
        }
示例#5
0
        /// <summary>
        /// Saves the discipline information.
        /// </summary>
        /// <param name="disciplineView">The discipline view.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">disciplineView</exception>
        public string SaveDisciplineInfo(IDisciplineView disciplineView)
        {
            if (disciplineView == null)
            {
                throw new ArgumentNullException(nameof(disciplineView));
            }

            var result = string.Empty;

            var newRecord = new Discipline
            {
                EmployeeId          = disciplineView.EmployeeId,
                QueryDate           = disciplineView.QueryDate,
                Offence             = disciplineView.Offence,
                QueryInitiator      = disciplineView.QueryInitiator,
                Investigator        = disciplineView.Investigator,
                Response            = disciplineView.Response,
                QueryStatusId       = disciplineView.QueryStatusId,
                InvestigatorReport  = disciplineView.InvestigatorReport,
                RecommendedSanction = disciplineView.RecommendedSanction,
                DisciplineCommitteeRecommendation = disciplineView.DisciplineCommitteeRecommendation,
                ActionTakenId         = disciplineView.ActionTakenId,
                EvidenceDigitalFileId = disciplineView.EvidenceDigitalFileId,
                CompanyId             = disciplineView.CompanyId,
                IsActive    = true,
                DateCreated = DateTime.Now
            };

            try
            {
                using (
                    var dbContext = (HRMSEntities)this.dbContextFactory.GetDbContext(ObjectContextType.HRMS))
                {
                    dbContext.Disciplines.Add(newRecord);
                    dbContext.SaveChanges();
                }
            }
            catch (Exception e)
            {
                result = string.Format("Save Discipline info - {0}, {1}", e.Message,
                                       e.InnerException != null ? e.InnerException.Message : "");
            }

            return(result);
        }
示例#6
0
        /// <summary>
        /// Saves the edit discipline information.
        /// </summary>
        /// <param name="disciplineView">The discipline view.</param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException">disciplineView</exception>
        public string SaveEditDisciplineInfo(IDisciplineView disciplineView)
        {
            if (disciplineView == null)
            {
                throw new ArgumentNullException(nameof(disciplineView));
            }

            string result = string.Empty;

            try
            {
                using (
                    var dbContext = (HRMSEntities)this.dbContextFactory.GetDbContext(ObjectContextType.HRMS))
                {
                    var modelInfo = dbContext.Disciplines.SingleOrDefault(p => p.DisciplineId == disciplineView.DisciplineId);

                    modelInfo.DisciplineId                      = disciplineView.DisciplineId;
                    modelInfo.ActionTakenId                     = disciplineView.ActionTakenId;
                    modelInfo.CompanyId                         = disciplineView.CompanyId;
                    modelInfo.IsActive                          = true;
                    modelInfo.DateCreated                       = disciplineView.DateCreated;
                    modelInfo.Response                          = disciplineView.Response;
                    modelInfo.Offence                           = disciplineView.Offence;
                    modelInfo.Investigator                      = disciplineView.Investigator;
                    modelInfo.EvidenceDigitalFileId             = disciplineView.EvidenceDigitalFileId;
                    modelInfo.InvestigatorReport                = disciplineView.InvestigatorReport;
                    modelInfo.QueryDate                         = disciplineView.QueryDate;
                    modelInfo.QueryStatusId                     = disciplineView.QueryStatusId;
                    modelInfo.EmployeeId                        = disciplineView.EmployeeId;
                    modelInfo.RecommendedSanction               = disciplineView.RecommendedSanction;
                    modelInfo.DateCreated                       = disciplineView.DateCreated;
                    modelInfo.DisciplineCommitteeRecommendation = disciplineView.DisciplineCommitteeRecommendation;

                    dbContext.SaveChanges();
                }
            }
            catch (Exception e)
            {
                result = string.Format("Save Edit Discipline info - {0}, {1}", e.Message,
                                       e.InnerException != null ? e.InnerException.Message : "");
            }

            return(result);
        }