Ejemplo n.º 1
0
        public IActionResult Edit(MarkViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                var entity = _dbContext.Mark.FirstOrDefault(x => x.MarkUuid == model.MarkUuid);
                if (entity == null)
                {
                    response.SetFailed("不存在");
                    return(Ok(response));
                }
                if (_dbContext.Mark.Count(x => x.MarkName == model.MarkName && x.MarkUuid != model.MarkUuid) > 0)
                {
                    response.SetFailed("名称已存在");
                    return(Ok(response));
                }
                entity.MarkName = model.MarkName;
                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("编辑", "成功:编辑:标识管理列表数据", _dbContext);
                }
                response = ResponseModelFactory.CreateInstance;
                return(Ok(response));
            }
        }
Ejemplo n.º 2
0
 public ActionResult NewMarks(int specId)
 {
     MarkViewModel[] mv;
     using (UserContext db = new UserContext())
     {
         SpecialtyModel sp = db.Specialties.Find(specId);
         if (sp == null)
         {
             return(null);
         }
         mv = sp.MarkModels.Select(t => new MarkViewModel(t)).ToArray();
         if (!mv.Any())
         {
             mv = new MarkViewModel[]
             {
                 new MarkViewModel
                 {
                     HoursNumber = 0,
                     Naming      = "Итоговая аттестация",
                     SpecialtyId = specId
                 },
             }
         }
         ;
     }
     return(PartialView(mv));
 }
        public async Task <IActionResult> AddMark(MarkViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    await _sizesService.AddMark(model.Entity);

                    return(RedirectToReturnUrlOrHome(model.ReturnUrl));
                }
                catch (Exception ex)
                {
                    ViewBag.Sizes = await _sizes.GetAll();

                    ModelState.AddModelError("Db:", ex.Message);
                    return(View(model));
                }
            }
            else
            {
                ViewBag.Sizes = await _sizes.GetAll();

                return(View(model));
            }
        }
        public async Task <IActionResult> AddMark(int id, string returnUrl)
        {
            var clothes = await _clothesStore.GetById(id);

            if (clothes == null)
            {
                return(NotFound());
            }
            var sizes = await _sizes.GetAll();

            if (sizes.Count() == 0)
            {
                return(RedirectToAction("Error", "Home", new { message = "Немає розмірів!" }));
            }
            ViewBag.Sizes = sizes;

            var model = new MarkViewModel()
            {
                Entity = new ClothesMark {
                    ClothesId = id, CountInStock = 5
                },
                ClothesName = clothes.Name,
                ReturnUrl   = returnUrl
            };

            return(View(model));
        }
Ejemplo n.º 5
0
        public IActionResult Create(MarkViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                if (_dbContext.Mark.Count(x => x.MarkName == model.MarkName) > 0)
                {
                    response.SetFailed("标识名称已存在");
                    return(Ok(response));
                }

                var entity = _mapper.Map <MarkViewModel, Mark>(model);
                entity.MarkUuid = Guid.NewGuid();
                entity.IsDelete = 0;
                _dbContext.Mark.Add(entity);
                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("添加", "成功:添加:标识管理列表数据", _dbContext);
                }
                response.SetSuccess();
                return(Ok(response));
            }
        }
Ejemplo n.º 6
0
        public static bool GiveUserMark(IAccommodationContext context, MarkViewModel model)
        {
            try
            {
                User            user  = context.Users.FirstOrDefault(u => u.Username == model.Username);
                HistoricalOffer offer = context.HistoricalOffers.FirstOrDefault(o => o.Id == model.ReservedOfferId);
                int             mark  = (int)model.mark;

                if (user.AverageMark == null || user.MarkCount == null)
                {
                    user.AverageMark = 0;
                    user.MarkCount   = 0;
                }

                user.AverageMark = (user.AverageMark * user.MarkCount + mark) / (user.MarkCount + 1);
                user.MarkCount  += 1;

                offer.IsMarked = true;
                context.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public IActionResult EditMark([FromBody] EditMarkViewModel model)
        {
            MarkBll mark = currentTeacherService.EditMarkByCurrentTeacher(model.studentId, model.subjectId, model.term, model.grade);

            MarkViewModel markVM = mapper.Map <MarkViewModel>(mark);

            return(new OkObjectResult(markVM));
        }
Ejemplo n.º 8
0
        public async Task <ActionResult <Song> > PostMark(MarkViewModel model)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var result = await _songService.PostMark(model.SongId, model.Value, user);

            return(result.Succeeded ? (ActionResult)Ok() : BadRequest(result.Error));
        }
        public IActionResult UpdateMark(MarkViewModel model)
        {
            WebRequest request = WebRequest.Create(_configuration.GetValue <string>("BackendUrl") + "api/mark/" + model.IdMark + "/" + model.Name + "/" + model.IsActive);

            request.Method = "Put";
            request.GetResponse();

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 10
0
 public async Task <ActionResult> MarkUser(MarkViewModel model)
 {
     if (OfferAccessor.GiveUserMark(Context, model))
     {
         return(RedirectToAction("Done", "UserMarks"));
     }
     else
     {
         return(RedirectToAction("Error", "UserMarks"));
     }
 }
Ejemplo n.º 11
0
        public async Task <IActionResult> Post([FromBody] MarkViewModel viewModel)
        {
            if (!ModelState.IsValid || viewModel.MarkDate > DateTime.Now)
            {
                return(BadRequest(ModelState));
            }

            viewModel.Id = await _markService.CreateAsync(viewModel.ToDto(), Bll.Extensions.MarkExtensions.ToEntity);

            return(CreatedAtAction(nameof(Get), viewModel));
        }
Ejemplo n.º 12
0
 public ActionResult NewMark()
 {
     MarkViewModel[] mv = new MarkViewModel[]
     {
         new MarkViewModel
         {
             HoursNumber = 0,
             Naming      = "Итоговая аттестация"
         },
     };
     return(PartialView("NewMarks", mv));
 }
Ejemplo n.º 13
0
        public async Task <IActionResult> Put(int id, [FromBody] MarkViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            viewModel.Id = id;
            await _markService.UpdateAsync(viewModel.ToDto(), Bll.Extensions.MarkExtensions.ToEntity);

            return(NoContent());
        }
Ejemplo n.º 14
0
        public IActionResult AddMark(MarkViewModel model, int id)
        {
            if (ModelState.IsValid)
            {
                _repository.CreateMark(new Mark
                {
                    TaskId    = id,
                    MarkValue = model.Mark,
                    StudentId = model.StudentId
                });

                return(RedirectToAction("Courses"));
            }

            return(View());
        }
Ejemplo n.º 15
0
        public async Task <IActionResult> Mark()
        {
            var cuser = await GetCurrentUserAsync();

            int Done = 0, All = 1;
            var role = await _context.UserType.SingleOrDefaultAsync(t => t.UserTypeId == cuser.UserTypeId);

            try
            {
                All = _context
                      .Users
                      .Include(t => t.UserType)
                      .Where(t => t.UserType.AvaliableToMark == true && t.Id != cuser.Id)
                      .Count();
                Done = _context
                       .ProjectRecord
                       .Where(t => t.WorkUserId == cuser.Id)
                       .GroupBy(t => t.DoneUserId)
                       .Count();
            }
            catch
            {
            }
            if (All == 0)
            {
                Done = 1;
                All  = 1;
            }
            var Model = new MarkViewModel
            {
                PR    = _context.ProjectRecord.ToList(),
                P     = _context.Project.ToList(),
                MeId  = cuser.Id,
                Users = _context
                        .Users
                        .Include(t => t.UserType)
                        .Where(t => t.UserType.AvaliableToMark == true)
                        .ToList(),
                Role     = role.UserTypeName,
                Arg      = role.Arg,
                Progress = Convert.ToInt32(((double)Done / All) * 100),
                Left     = All - Done
            };

            return(View(Model));
        }
Ejemplo n.º 16
0
        public static MarkDto ToDto(this MarkViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(MarkViewModel));
            }

            return(new MarkDto
            {
                Id = viewModel.Id,
                LessonId = viewModel.LessonId,
                Mark = viewModel.Mark,
                MarkDate = viewModel.MarkDate,
                StudentId = viewModel.StudentId,
                Lesson = viewModel.Lesson?.ToDto()
            });
        }
Ejemplo n.º 17
0
        public async Task <PartialViewResult> DiarySearchResult(string firstDate, string secondDate)
        {
            string  currentUserName = User.Identity.Name;
            AppUser currentUser     = await UserManager.FindByNameAsync(currentUserName);

            DateTime d1 = DateTime.Parse(firstDate, CultureInfo.CreateSpecificCulture("en-US"));
            DateTime d2 = DateTime.Parse(secondDate, CultureInfo.CreateSpecificCulture("en-US"));

            if (d1 > d2)
            {
                return(PartialView("ErrorDateInput"));
            }

            else
            {
                List <Mark>    marks;
                DiaryViewModel diary;
                using (var appContext = new TimetableEntities())
                {
                    diary = new DiaryViewModel();
                    marks = appContext.Mark.Where(a => a.date >= d1 && a.date <= d2).Where(a => a.student_id == currentUser.Id).ToList();
                    if (marks.Count == 0)
                    {
                        return(PartialView("EmptyDate"));
                    }

                    else
                    {
                        foreach (var tmp in marks)
                        {
                            MarkViewModel mark = new MarkViewModel();
                            mark.mark = tmp;
                            Schedule schedule = appContext.Schedule.FirstOrDefault(a => a.id == mark.scheduleId);
                            mark.teacher = await UserManager.FindByIdAsync(schedule.teacher_id);

                            mark.date = tmp.date;
                            Subject sbj = appContext.Subject.FirstOrDefault(a => a.id == schedule.subject_id);
                            mark.subject = sbj.name;
                            diary.diary.Add(mark);
                        }
                        return(PartialView(diary));
                    }
                }
            }
        }
Ejemplo n.º 18
0
        public ActionResult ClassJournal(int scheduleId, string date)
        {
            List <MarkViewModel> classJournal = new List <MarkViewModel>();

            using (var appContext = new TimetableEntities())
            {
                DateTime       d        = DateTime.Parse(date, CultureInfo.CreateSpecificCulture("en-US"));
                Schedule       schedule = appContext.Schedule.FirstOrDefault(a => a.id == scheduleId);
                List <AppUser> students = UserManager.Users.Where(a => a.classId == schedule.class_id).ToList();
                foreach (var a in students)
                {
                    MarkViewModel studentMark = new MarkViewModel();
                    studentMark.student    = a;
                    studentMark.mark       = appContext.Mark.Where(tmp => tmp.date == d).Where(tmp => tmp.student_id == a.Id).FirstOrDefault(tmp => tmp.schedule_id == scheduleId);
                    studentMark.date       = d;
                    studentMark.scheduleId = scheduleId;
                    classJournal.Add(studentMark);
                }
            }
            return(View(classJournal));
        }
        public IActionResult EditMark(int id)
        {
            Mark       mark;
            WebRequest request = WebRequest.Create(_configuration.GetValue <string>("BackendUrl") + "api/mark/info/" + id);

            request.Method = "Get";
            using (var s = request.GetResponse().GetResponseStream())
            {
                using (var sr = new StreamReader(s))
                {
                    var contributorsAsJson = sr.ReadToEnd();
                    mark = JsonConvert.DeserializeObject <Mark>(contributorsAsJson);
                }
            }

            MarkViewModel model = new MarkViewModel {
                IdMark = id, Name = mark.Name, IsActive = mark.IsActive
            };

            return(View(model));
        }
Ejemplo n.º 20
0
 public async static Task <bool> GiveUserMarkAsync(IAccommodationContext context, MarkViewModel model)
 {
     return(await Task.Run(() => GiveUserMark(context, model)));
 }
Ejemplo n.º 21
0
 public NewGradeWindow(SchoolYearViewModel schoolYearViewModel, MarkViewModel markViewModel) : base()
 {
     this.DataContext = new NewGradeWindowViewModel(schoolYearViewModel, markViewModel);
     InitializeComponent();
 }
Ejemplo n.º 22
0
        public void UpdateMark(MarkViewModel markViewModel)
        {
            var correctMark = Mapper.Map <MarkViewModel, MarkDTO>(markViewModel);

            _markService.UpdateItem(correctMark);
        }
Ejemplo n.º 23
0
        public void AddMark(MarkViewModel markViewModel)
        {
            var newMark = Mapper.Map <MarkViewModel, MarkDTO>(markViewModel);

            _markService.AddItem(newMark);
        }
Ejemplo n.º 24
0
 public ActionResult Score(MarkViewModel mark)
 {
     return(View(mark));
 }
Ejemplo n.º 25
0
        public void DeleteMark(MarkViewModel markViewModel)
        {
            var deletedMark = Mapper.Map <MarkViewModel, MarkDTO>(markViewModel);

            _markService.DeleteItem(deletedMark);
        }
Ejemplo n.º 26
0
        public async Task <ActionResult> Create(SheetViewModel model)
        {
            if (ModelState.IsValid)
            {
                var sheet = new Sheet();
                sheet.AnswerOn = DateTime.Now;
                sheet.Student  = (GetCurrentUser()) as Student;
                sheet.ExamId   = model.Id;
                double score        = 0;
                int    rightTqCount = 0;
                int    rightSqCount = 0;
                int    rightmqCount = 0;
                foreach (var questioninfo in model.TrueOrFalseQuestions)
                {
                    sheet.Answers.Add(new Answer
                    {
                        AnswerType = QuestionType.判断题,
                        QuestionId = questioninfo.Id,
                        Content    = questioninfo.IsCorrect.ToString()
                    });
                    var rightAnswer = ((await DB.Questions.FirstOrDefaultAsync(q => q.Id == questioninfo.Id)) as TrueOrFalseQuestion).IsCorrect;
                    if (questioninfo.IsCorrect == rightAnswer)
                    {
                        rightTqCount++;
                    }
                }
                foreach (var questioninfo in model.SingleQuestions)
                {
                    sheet.Answers.Add(new Answer
                    {
                        AnswerType = QuestionType.单选题,
                        QuestionId = questioninfo.Id,
                        Content    = questioninfo.CorrectAnswer.ToString(),
                    });
                    var rightAnswer = (int)((await DB.Questions.FirstOrDefaultAsync(q => q.Id == questioninfo.Id)) as ChoiceQuestion).Options.Where(o => o.IsCorrect == true).FirstOrDefault().OptionId;
                    if (questioninfo.CorrectAnswer == rightAnswer)
                    {
                        rightSqCount++;
                    }
                }
                foreach (var questioninfo in model.MultipleQuestions)
                {
                    sheet.Answers.Add(new Answer
                    {
                        AnswerType = QuestionType.多选题,
                        QuestionId = questioninfo.Id,
                        Content    = string.Join(",", questioninfo.Options.Where(o => o.IsCorrect == true).Select(o => o.OptionId))
                    });
                    var  rightOptions    = (await DB.Questions.FirstOrDefaultAsync(q => q.Id == questioninfo.Id) as ChoiceQuestion).Options.Where(o => o.IsCorrect == true).OrderBy(o => o.OptionId).ToList();
                    var  selectedOptions = questioninfo.Options.Where(o => o.IsCorrect == true).OrderBy(o => o.OptionId).ToList();
                    bool answerRight     = true;
                    for (int i = 0; i < selectedOptions.Count; i++)
                    {
                        if (selectedOptions[i].OptionId != rightOptions[i].OptionId)
                        {
                            answerRight = false;
                        }
                    }
                    if (answerRight)
                    {
                        rightmqCount++;
                    }
                }
                score       = rightTqCount * tqPoint + rightSqCount * sqPoint + rightmqCount * mqPoint;
                sheet.Score = score;
                DB.Sheets.Add(sheet);
                await DB.SaveChangesAsync();

                var    rightQuestionsCount = rightTqCount + rightSqCount + rightmqCount;
                var    totalQuestionsCount = model.MultipleQuestions.Count + model.SingleQuestions.Count + model.MultipleQuestions.Count;
                double grade   = rightQuestionsCount / (double)totalQuestionsCount;
                string comment = "";
                if (grade < 0.6)
                {
                    comment = "答来答去的答案都图样!爱慕安规!";
                }
                else if (grade >= 0.6 && grade < 0.8)
                {
                    comment = "还要继续学习一个!";
                }
                else
                {
                    comment = "跟美国的华莱士一样不知道高到哪里去了!";
                }
                var mark = new MarkViewModel();
                mark.Comment = comment;
                mark.Grade   = ((int)(grade * 100)).ToString();
                return(RedirectToAction("Score", "Sheets", mark));
            }
            return(View(model));
        }