public ActionResult Edit(UserPublicationViewModel userPublicationViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var userPublicationObj = new UserPublication
                    {
                        UserPublicationId = userPublicationViewModel.UserPublicationId,
                        PublicationId     = userPublicationViewModel.PublicationId,
                        Period            = userPublicationViewModel.Period,
                        PaymentState      = userPublicationViewModel.PaymentState,
                        UserId            = User.Identity.GetUserId(),
                        StartDate         = userPublicationViewModel.StartDate,
                    };
                    DateTime date = userPublicationObj.StartDate.AddMonths(userPublicationObj.Period).Date;
                    userPublicationObj.EndDate = date;
                    _factory.UserPublicationRepository.Edit(userPublicationObj);
                    TempData["SuccessMessage"] = "Вы изменили период подписки.";

                    return(RedirectToAction("Index"));
                }
                return(View(userPublicationViewModel));
            }
            catch (Exception ex)
            {
                logger.Error(ex, ex.Message);
                return(View("Error", new HandleErrorInfo(ex, "UserPublications", "Edit")));
            }
        }
        // GET: UserPublications/Edit/5
        public ActionResult Edit(int?id)
        {
            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                var userPublication = _factory.UserPublicationRepository.FindById(id);
                if (userPublication == null)
                {
                    return(View("ResourceNotFound"));
                }
                var userPublicationViewModelObj = new UserPublicationViewModel
                {
                    UserPublicationId = userPublication.UserPublicationId,
                    PublicationId     = userPublication.PublicationId,
                    UserId            = userPublication.UserId,
                    StartDate         = userPublication.StartDate,
                    EndDate           = userPublication.EndDate,
                    Period            = userPublication.Period,
                    PaymentState      = userPublication.PaymentState
                };

                return(View(userPublicationViewModelObj));
            }
            catch (Exception ex)
            {
                logger.Error(ex, ex.Message);
                return(View("Error", new HandleErrorInfo(ex, "UserPublications", "Edit")));
            }
        }