public ActionResult AddNewGivenDegree(AddGivenDegreeViewModel newGivenDegree) { if (ModelState.IsValid) { GivenDegree givenDegree = _mapper.Map <GivenDegree>(newGivenDegree); givenDegree.GivenDegreeIdentificator = _keyGenerator.GenerateNewId(); var degree = _context.degreeRepository.GetDegreeById(newGivenDegree.SelectedDegree); givenDegree.GivenDegreeIndexer = _keyGenerator.GenerateGivenDegreeEntityIndexer(degree.DegreeIndexer); _context.givenDegreeRepository.AddGivenDegree(givenDegree); _context.userRepository.AddUserDegree(newGivenDegree.SelectedUser, givenDegree.GivenDegreeIdentificator); var user = _context.userRepository.GetUserById(newGivenDegree.SelectedUser); #region EntityLogs var logInfoAddGivenDegree = _logger.GenerateLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogTypeOfAction.TypesOfActions[0], LogDescriptions.DescriptionOfActionOnEntity["addGivenDegree"]); _logger.AddGivenDegreeLog(givenDegree, logInfoAddGivenDegree); var logInfoUpdateUser = _logger.GenerateLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogTypeOfAction.TypesOfActions[1], LogDescriptions.DescriptionOfActionOnEntity["addUserGivenDegree"]); _logger.AddUserLog(user, logInfoUpdateUser); #endregion #region PersonalUserLogs var logInfoPersonalAddGivenDegree = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["addGivenDegree"], "Indekser: " + givenDegree.GivenDegreeIndexer); _context.personalLogRepository.AddPersonalUserLogToAdminGroup(logInfoPersonalAddGivenDegree); var logInfoPersonalAddUserGivenDegree = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["addUserGivenDegree"], "Indekser: " + givenDegree.GivenDegreeIndexer); _context.personalLogRepository.AddPersonalUserLog(user.Id, logInfoPersonalAddUserGivenDegree); #endregion return(RedirectToAction("ConfirmationOfActionOnGivenDegree", new { givenDegreeIdentificator = givenDegree.GivenDegreeIdentificator, TypeOfAction = "Add" })); } newGivenDegree.AvailableDegrees = _context.degreeRepository.GetDegreesAsSelectList().ToList(); newGivenDegree.AvailableUsers = _context.userRepository.GetUsersAsSelectList().ToList(); return(View(newGivenDegree)); }