Пример #1
0
        /// <summary>
        /// Gets the specified key.
        /// </summary>
        /// <typeparam name="TLookup">The type of the lookup.</typeparam>
        /// <param name="key">The key to get.</param>
        /// <returns>A <see cref="Rem.Infrastructure.Service.DataTransferObject.LookupValueDto"/></returns>
        public LookupValueDto Get <TLookup> (long key) where TLookup : LookupBase
        {
            LookupValueDto dto = null;

            var lookupObject = _lookupValueRepository.GetLookupByKey <TLookup> (key);

            if (lookupObject != null)
            {
                dto = Mapper.Map <TLookup, LookupValueDto> (lookupObject);
            }

            return(dto);
        }
Пример #2
0
        private T MapLookupObject <T> (long key)
            where T : LookupBase
        {
            var lookupObject = _lookupValueRepository.GetLookupByKey(typeof(T), key);

            if (lookupObject == null)
            {
                throw new SystemException(
                          "LookupValue for type " + typeof(T).Name + " and key " + key +
                          " cannot be found.");
            }

            var typedLookup = lookupObject as T;

            return(typedLookup);
        }
Пример #3
0
        /// <summary>
        /// Handles the request.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="response">The response.</param>
        protected override void HandleRequest(DisenrollProgramEnrollmentRequest request, DisenrollProgramEnrollmentResponse response)
        {
            var programEnrollment = _programEnrollmentRepository.GetByKey(request.ProgramEnrollmentKey);
            var disenrollReason   = _lookupValueRepository.GetLookupByKey <DisenrollReason> (request.DisenrollReasonKey);

            programEnrollment.Disenroll(request.DisenrollmentDate, disenrollReason, request.DisenrollOtherReasonNote);

            if (Success)
            {
                FlushSession();

                // TODO: check if programEnrollment last updated date up-to-date after flush session
                //              do we need get from DB again?
                var dto = Mapper.Map <ProgramEnrollment, ProgramEnrollmentDto> (programEnrollment);
                response.DataTransferObject = dto;
            }
        }