Пример #1
0
        public async Task <ActionResult <DtoSubject> > Put(int subjectID, DtoSubject subjectInput)
        {
            try
            {
                var oldSubject = await _repository.GetSubject(subjectID);

                if (oldSubject == null)
                {
                    return(NotFound(""));
                }

                if (subjectInput.Modified != null)
                {
                    subjectInput.Created = oldSubject.Created;
                }

                _mapper.Map(subjectInput, oldSubject);
                if (await _repository.SaveChangesAsync())
                {
                    return(_mapper.Map <DtoSubject>(oldSubject));
                }
            }
            catch
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, ""));
            }
            return(BadRequest());
        }
Пример #2
0
        public IHttpActionResult GetSubject(Guid id)
        {
            DtoSubject subject = SubjectService.Get(id);

            if (subject == null)
            {
                return(NotFound());
            }
            return(Ok(subject));
        }
        public void Update(DtoSubject subject, List <Position> Positions = null)
        {
            Subject oldSubject = GetSubject(CtxDB, OrganizationId, subject.Id);

            oldSubject.Name             = subject.Name;
            oldSubject.LastName         = subject.Surname;
            oldSubject.Email            = subject.Email;
            oldSubject.LastModifiedDate = DateTime.UtcNow;

            CtxDB.Entry(oldSubject).State = EntityState.Modified;
            CtxDB.SaveChanges();
        }
        public void Insert(DtoSubject subject)
        {
            Subject newSubject = new Subject
            {
                Name           = subject.Name,
                LastName       = subject.Surname,
                Email          = subject.Email,
                OrganizationId = OrganizationId,
                CreatedDate    = DateTime.UtcNow
            };

            CtxDB.Subjects.Add(newSubject);
            CtxDB.SaveChanges();
        }
Пример #5
0
        public DtoSubject GetSubjectDetails2(int id)
        {
            DtoSubject result = null;

            var subject = SubjectService.Get(id);

            if (subject != null)
            {
                var knowledges = SubjectKnowledgeService.GetKnowledgesWithNamesBySubject(id);
                //次级知识点
                var secondKnowledgeIds = knowledges.Where(k => !k.Ysw_IsMain)
                                         .Select(k => k.Ysw_KnowledgeId)
                                         .ToList();
                var secondKnowledgeNames = knowledges.Where(k => !k.Ysw_IsMain)
                                           .Select(k => k.Ykl_Name)
                                           .ToList();
                var    mainKnowledge     = knowledges.FirstOrDefault(k => k.Ysw_IsMain);
                int    mainKnowledgeId   = mainKnowledge == null ? 0 : mainKnowledge.Ysw_KnowledgeId;
                string mainKnowledgeName = mainKnowledge == null ? string.Empty : mainKnowledge.Ykl_Name;

                var content = Service.Get(id);

                string        markField = SubjectProcessService.GetCurrentProcess(id)?.Ysp_Mark;
                List <string> mark      = null;
                if (!string.IsNullOrWhiteSpace(markField))
                {
                    mark = markField.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                           .ToList();
                }

                result                   = new DtoSubject();
                result.Id                = subject.Ysj_Id;
                result.Difficulty        = subject.Ysj_Difficulty;
                result.Grade             = subject.Ysj_Grade;
                result.Keywords          = subject.Ysj_Keywords;
                result.Knowledges        = secondKnowledgeIds;
                result.MainKnowledge     = mainKnowledgeId;
                result.MainKnowledgeName = mainKnowledgeName;
                result.KnowledgeNames    = secondKnowledgeNames;
                result.Name              = subject.Ysj_Name;
                result.Content           = content;
                result.Status            = subject.Ysj_Status;
                result.Mark              = mark;
            }

            return(result);
        }
Пример #6
0
        public IHttpActionResult PostSubject(DtoSubject subject)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                SubjectService.Insert(subject);
            }
            catch (Exception e)
            {
                throw e;
            }

            return(Ok(subject));
        }
Пример #7
0
        public ActionResult GetDetails2(int id = 0)
        {
            SubjectBll         bll     = new SubjectBll();
            DtoSubject         subject = bll.GetSubjectDetails2(id);
            QuestionInputModel derived = ConvertToDerived2(subject?.Content);

            if (subject != null)
            {
                derived.Difficulty     = subject.Difficulty;
                derived.Explain        = subject.Content.Ysc_Explain;
                derived.Grade          = subject.Grade;
                derived.Id             = subject.Id;
                derived.Mark           = subject.Mark;
                derived.SubjectStatus  = (SubjectStatusEnum)subject.Status;
                derived.Keywords       = subject.Keywords;
                derived.Knowledge      = subject.MainKnowledge;
                derived.KnowledgeText  = subject.MainKnowledgeName;
                derived.Knowledges     = string.Join(",", subject.Knowledges);
                derived.KnowledgeTexts = subject.KnowledgeNames;
                derived.PlainName      = subject.Name;
                derived.Name           = FormatStem(derived.Name);
            }
            else
            {
                derived.Difficulty     = 0;
                derived.Explain        = string.Empty;
                derived.Grade          = 0;
                derived.Id             = 0;
                derived.Mark           = new List <string>();
                derived.SubjectStatus  = SubjectStatusEnum.编辑中;
                derived.Keywords       = string.Empty;
                derived.Knowledge      = 0;
                derived.KnowledgeText  = string.Empty;
                derived.Knowledges     = string.Empty;
                derived.KnowledgeTexts = new List <string>();
                derived.PlainName      = string.Empty;
                derived.Name           = string.Empty;
            }
            var response = new SuccessJsonResponse(derived);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Пример #8
0
        public IHttpActionResult PutSubject(Guid id, DtoSubject subject)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != subject.Id)
            {
                return(BadRequest());
            }

            try {
                SubjectService.Update(subject);
            }
            catch (Exception e) {
                throw e;
            }

            return(Ok(subject));
        }
Пример #9
0
 public async Task <ActionResult <DtoSubject> > Post(DtoSubject subjectInput)
 {
     if (subjectInput.Text == "")
     {
         return(BadRequest());
     }
     try
     {
         Subject s = _mapper.Map <Subject>(subjectInput);
         _repository.Add(s);
         if (await _repository.SaveChangesAsync())
         {
             return(Created($"/api/subject/", _mapper.Map <DtoSubject>(s)));
         }
     }
     catch
     {
         return(this.StatusCode(StatusCodes.Status500InternalServerError, ""));
     }
     return(BadRequest());
 }
Пример #10
0
        public ActionResult GetReadonlyDetails(int id)
        {
            SubjectBll         bll     = new SubjectBll();
            DtoSubject         subject = bll.GetSubjectDetails(id);
            QuestionInputModel derived = ConvertToDerived(subject.Content);

            derived.Difficulty     = subject.Difficulty;
            derived.Explain        = subject.Content.Ysc_Explain;
            derived.Grade          = subject.Grade;
            derived.Id             = subject.Id;
            derived.Mark           = subject.Mark;
            derived.SubjectStatus  = (SubjectStatusEnum)subject.Status;
            derived.Keywords       = subject.Keywords;
            derived.Knowledge      = subject.MainKnowledge;
            derived.KnowledgeText  = subject.MainKnowledgeName;
            derived.Knowledges     = string.Join(",", subject.Knowledges);
            derived.KnowledgeTexts = subject.KnowledgeNames;
            derived.PlainName      = subject.Name;
            derived.Name           = FormatReadonlyStem(derived.Name);
            var response = new SuccessJsonResponse(derived);

            return(Json(response, JsonRequestBehavior.AllowGet));
        }