예제 #1
0
        public async Task <ActionResult <JournalOutputModel> > JournalGetById(int id)
        {
            Journal journal = await lessonStorage.GetJournalById(id);

            if (journal == null)
            {
                return(BadRequest("Model is empty"));
            }
            return(Ok(JournalMapper.ToOutputModel(journal)));
        }
예제 #2
0
        /// <summary>
        /// Logs action to the journal.
        /// </summary>
        /// <param name="userId">Id of the user that caused the action.</param>
        /// <param name="action">The action.</param>
        /// <param name="firstObjectId">First object id parameter.</param>
        /// <param name="secondObjectId">Second object id parameter.</param>
        /// <param name="thirdObjectId">Third object id parameter.</param>
        /// <param name="xmlParams">Xml parameters.</param>
        public void LogToJournal(Guid?userId, JournalAction action, Guid?firstObjectId, Guid?secondObjectId, Guid?thirdObjectId, XDocument xmlParams)
        {
            JournalMapper mapper = DependencyContainerManager.Container.Get <JournalMapper>();

            if (!dictActions.ContainsKey(action))
            {
                throw new InvalidOperationException(String.Format("Missing journal action: {0}", action.ToString()));
            }

            mapper.LogToJournal(userId, this.dictActions[action], firstObjectId, secondObjectId,
                                thirdObjectId, xmlParams, Assembly.GetExecutingAssembly().GetName().Version.ToString());
        }
예제 #3
0
        /// <summary>
        /// Loads journal actions from the database.
        /// </summary>
        private void LoadActions()
        {
            SqlConnectionManager.Instance.InitializeConnection();

            try
            {
                JournalMapper mapper = DependencyContainerManager.Container.Get <JournalMapper>();
                this.dictActions = mapper.GetJournalActions();
            }
            finally
            {
                SqlConnectionManager.Instance.ReleaseConnection();
            }
        }
예제 #4
0
        public async Task <ActionResult> FillWhoWereAbsent(JournalInputModel inputModel)
        {
            if (inputModel == null)
            {
                return(BadRequest("Model is empty"));
            }
            List <Journal> journals = JournalMapper.ToModel(inputModel);
            bool           belong   = await groupStorage.GetBelongnessOfGroupToTheTeacher(inputModel.GroupId, inputModel.TeacherId);

            if (belong)
            {
                lessonStorage.FillWhoWhereAbsent(journals); return(Ok());
            }
            else
            {
                return(BadRequest(("Failed to fill")));
            }
        }
예제 #5
0
        public static LessonWithJournalAndTopicOutputModel ToOutputModel(Lesson lesson)
        {
            var result = new LessonWithJournalAndTopicOutputModel
            {
                Hometask   = lesson.Hometask,
                LessonDate = lesson.Date.ToString(@"yyyy/MM/dd"),
                LessonId   = (int)lesson.Id,
                ToRead     = lesson.ToRead,
                Videos     = lesson.Videos,
                Topics     = LessonTopicMapper.ToOutputModels(lesson.LessonTopicsDetails),
                Journals   = JournalMapper.ToOutputModels(lesson.Journals)
            };

            foreach (var journal in result.Journals)
            {
                if (journal.IsAbsent == false)
                {
                    journal.AbsentReason = null;
                }
            }
            return(result);
        }
예제 #6
0
        public async Task <ActionResult <List <JournalOutputModel> > > JournalGetAll()
        {
            List <Journal> journals = await lessonStorage.GetAllJournal();

            return(Ok(JournalMapper.ToOutputModels(journals)));
        }