Esempio n. 1
0
        public Tuple <int, IEnumerable <PaperDTO> > getAllPapersByEmailId(string emailId, int page)
        {
            var x     = McqPaperRepo.getAllPapersByEmailId(emailId, page);
            var paper = Mapper.Map <IEnumerable <Paper>, List <PaperDTO> >(x.Item2);

            return(new Tuple <int, IEnumerable <PaperDTO> >(x.Item1, paper));
        }
Esempio n. 2
0
        public IEnumerable <PaperDTO> getMCQPapersByEmailId(string emailId)
        {
            var ans      = Mapper.Map <IEnumerable <MCQPaper>, List <PaperDTO> >(McqPaperRepo.GetByTeacherEmail(emailId));
            var ansfinal = ans.Concat(Mapper.Map <IEnumerable <DescriptivePaper>, List <PaperDTO> >(DescriptivePaperRepo.GetByTeacherEmail(emailId)));

            return(ansfinal);
        }
Esempio n. 3
0
        public MCQPaperDTO getMCQPaperByCode(string code)
        {
            var paper    = McqPaperRepo.GetByPaperCode(code);
            var paperdto = Mapper.Map <MCQPaper, MCQPaperDTO>(paper);

            foreach (var que in paper.Questions)
            {
                que.MCQOptions.Shuffle();
                paperdto.Questions.Add(Mapper.Map <MCQQuestion, MCQQuestionDTO>(que));
            }
            return(paperdto);
        }
Esempio n. 4
0
        public (MCQPaperDTO, List <MCQAnswerSheetDTO>) GetAnswerSheetsBycode(string papercode)
        {
            var answerSheet = AnswerSheetRepo.GetByPaperCode(papercode);
            var paper       = McqPaperRepo.GetByPaperCode(papercode);
            var paperdto    = Mapper.Map <MCQPaper, MCQPaperDTO>(paper);
            var ans         = Mapper.Map <IEnumerable <MCQAnswerSheet>, List <MCQAnswerSheetDTO> >(answerSheet);

            foreach (var que in paperdto.Questions)
            {
                paperdto.TotalMarks += que.Marks;
            }
            return(paperdto, ans);
        }
Esempio n. 5
0
        public async Task deletePaper(string papercode)
        {
            switch (CodeGenerator.GetPaperType(papercode))
            {
            case EPaperType.MCQ:
                McqPaperRepo.Delete(papercode);
                break;

            case EPaperType.Descriptive:
                await Fire.DeleteEverything(papercode, DescriptiveAnswerSheetRepo.GetAllResponseByCode(papercode).Select(paper => paper.StudentEmailId).ToList());

                DescriptivePaperRepo.Delete(papercode);
                break;
            }
        }
Esempio n. 6
0
        public string CreateMCQPaper(MCQPaperDTO paper)
        {
            string   code     = CodeGenerator.GetSharableCode(EPaperType.MCQ);
            MCQPaper mcqPaper = Mapper.Map <MCQPaperDTO, MCQPaper>(paper);

            mcqPaper.PaperCode = code;
            foreach (var que in paper.Questions)
            {
                mcqPaper.Questions.Add(Mapper.Map <MCQQuestionDTO, MCQQuestion>(que));
            }
            McqPaperRepo.Create(mcqPaper);

            string linktosend = $"https://localhost:44394/Teacher/PaperDetails/{code}";

            EmailService.SendMailForPaper(code, linktosend, paper.PaperTitle, paper.CreatedDate.ToString(), paper.DeadLine.ToString(), paper.TeacherEmailId);
            //sends mail regarding paper update

            return(code);
        }