public ActionResult EditGivenCertificate(EditGivenCertificateViewModel editedGivenCertificate)
        {
            if (ModelState.IsValid)
            {
                var originGivenCertificate = _context.givenCertificateRepository.GetGivenCertificateById(editedGivenCertificate.GivenCertificateIdentificator);

                originGivenCertificate = _mapper.Map <EditGivenCertificateViewModel, GivenCertificate>(editedGivenCertificate, originGivenCertificate);
                _context.givenCertificateRepository.UpdateGivenCertificate(originGivenCertificate);

                #region EntityLogs

                var logInfoUpdateGivenCertificate = _logger.GenerateLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogTypeOfAction.TypesOfActions[1], LogDescriptions.DescriptionOfActionOnEntity["updateGivenCertificate"]);
                _logger.AddGivenCertificateLog(originGivenCertificate, logInfoUpdateGivenCertificate);

                #endregion

                #region PersonalUserLogs

                var logInfoPersonalUpdateGivenCertificate = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["updateGivenCertificate"], "Indekser: " + originGivenCertificate.GivenCertificateIndexer);
                _context.personalLogRepository.AddPersonalUserLogToAdminGroup(logInfoPersonalUpdateGivenCertificate);

                var logInfoPersonalUpdateUserGivenCertificate = _context.personalLogRepository.GeneratePersonalLogInformation(this.User.Identity.Name, this.ControllerContext.RouteData.Values["action"].ToString(), LogDescriptions.DescriptionOfPersonalUserLog["updateUserGivenCertificate"], "Indekser: " + originGivenCertificate.GivenCertificateIndexer);
                _context.personalLogRepository.AddPersonalUserLog(editedGivenCertificate.User.UserIdentificator, logInfoPersonalUpdateUserGivenCertificate);

                #endregion

                return(RedirectToAction("ConfirmationOfActionOnGivenCertificate", "GivenCertificates", new { givenCertificateIdentificator = originGivenCertificate.GivenCertificateIdentificator, TypeOfAction = "Update" }));
            }

            return(View(editedGivenCertificate));
        }
        public ActionResult EditGivenCertificate(string givenCertificateIdentificator)
        {
            var givenCertificate      = _context.givenCertificateRepository.GetGivenCertificateById(givenCertificateIdentificator);
            var ownerOfTheCertificate = _context.userRepository.GetUserByGivenCertificateId(givenCertificateIdentificator);
            var courseWhichEndedWithSuchCertificate = _context.courseRepository.GetCourseById(givenCertificate.Course);
            var certificate = _context.certificateRepository.GetCertificateById(givenCertificate.Certificate);

            EditGivenCertificateViewModel givenCertificateToUpdate = _mapper.Map <EditGivenCertificateViewModel>(givenCertificate);

            givenCertificateToUpdate.User        = _mapper.Map <DisplayCrucialDataUserViewModel>(ownerOfTheCertificate);
            givenCertificateToUpdate.Course      = _mapper.Map <DisplayCrucialDataCourseViewModel>(courseWhichEndedWithSuchCertificate);
            givenCertificateToUpdate.Certificate = _mapper.Map <DisplayCrucialDataCertificateViewModel>(certificate);

            return(View(givenCertificateToUpdate));
        }