public async Task <ActionResult <IEnumerable <Evaluation> > > PostEvaluation([FromBody] EvaluationCreate evaluation)
        {
            var response = await _evaluation.AddEvaluation(evaluation);

            if (!response)
            {
                return(NotFound());
            }
            return(RedirectToRoute("GetEvaluations"));
        }
Ejemplo n.º 2
0
        public async Task <bool> AddEvaluation(EvaluationCreate evaluationCreate)
        {
            try
            {
                var evaluation    = _mapper.Map <EvaluationCreate, Evaluation>(evaluationCreate);
                var evaluationAdd = _mapper.Map <Evaluation, EvaluationAdd>(evaluation);
                var response      = await _evaluation.PostEvaluationAsync(evaluationAdd);

                if (!response.Signal)
                {
                    return(false);
                }

                var evaluations = await _evaluation.GetAllEvaluationsAsync(new EvaluationEmpty());

                var evaluationNew = evaluations.Evaluations.SingleOrDefault((e) => e.User.Id == evaluation.User.Id && e.Series.Id == evaluation.Series.Id);
                if (evaluationNew is null)
                {
                    return(false);
                }
                List <MarkAdd> marks = new List <MarkAdd>();
                evaluationCreate.Marks.ForEach((mark) =>
                {
                    var markAdd        = _mapper.Map <MarkCreate, MarkAdd>(mark);
                    markAdd.Evaluation = evaluationNew;
                    marks.Add(markAdd);
                });
                var response2 = await _evaluation.PostMarksAsync(new MarksResponse()
                {
                    Marks = { marks }
                });

                return(response2.Signal);
            }
            catch (Exception e)
            {
                _logger.LogError(e, "ERROR");
                return(false);
            }
        }