Example #1
0
        /// <summary>
        /// Adds Grade
        /// </summary>
        /// <param name="viewModel">Injected <see cref="AddGrade"/></param>
        /// <returns>Instance of <see cref="Task{ViewGrade}"/></returns>
        public async Task <ViewGrade> AddGrade(AddGrade @viewModel)
        {
            await CheckName(@viewModel);

            Grade @Grade = new()
            {
                Name     = @viewModel.Name,
                ImageUri = @viewModel.ImageUri
            };

            try
            {
                await Context.Grade.AddAsync(@Grade);

                await Context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                await CheckName(@viewModel);
            }

            // Log
            string @logData = @Grade.GetType().Name
                              + " with Id "
                              + @Grade.Id
                              + " was added at "
                              + DateTime.Now.ToShortTimeString();

            Logger.WriteInsertItemLog(@logData);

            return(Mapper.Map <ViewGrade>(@Grade));
        }
Example #2
0
        /// <summary>
        /// Checks Name
        /// </summary>
        /// <param name="viewModel">Injected <see cref="AddGrade"/></param>
        /// <returns>Instance of <see cref="Task{Grade}"/></returns>
        public async Task <Grade> CheckName(AddGrade @viewModel)
        {
            Grade @Grade = await Context.Grade
                           .TagWith("CheckName")
                           .AsNoTracking()
                           .FirstOrDefaultAsync(x => x.Name == @viewModel.Name);

            if (@Grade != null)
            {
                // Log
                string @logData = @Grade.GetType().Name
                                  + " with Name "
                                  + @Grade.Name
                                  + " was already found at "
                                  + DateTime.Now.ToShortTimeString();

                Logger.WriteGetItemFoundLog(@logData);

                throw new Exception(@Grade.GetType().Name
                                    + " with Name "
                                    + @viewModel.Name
                                    + " already exists");
            }

            return(@Grade);
        }
Example #3
0
        public ActionResult AddGrade(int SHId, int studentId)
        {
            AddGrade item = new AddGrade();

            item.StudentID = studentId;
            item.SHomeID   = SHId;
            return(View(item));
        }
Example #4
0
        public ActionResult AddGrade(AddGrade item)
        {
            int grade     = item.Grade;
            int sHid      = item.SHomeID;
            int studentId = item.StudentID;

            if ((grade >= 1) && (grade <= 10))
            {
                StudentHomeworkServices service = new StudentHomeworkServices();
                service.AddGrade(sHid, grade, studentId);
                return(RedirectToAction("MyStudents", "Teacher"));
            }
            else
            {
                ModelState.AddModelError("", "Unable to add a grade.The grade must bee between 1 and 10");
            }
            return(View());
        }