Exemplo n.º 1
0
        /// <summary>
        /// Страница модерации клиник
        /// </summary>
        /// <returns></returns>
        public ActionResult ClinicModeration()
        {
            if (!checkRight())
            {
                return(Login());
            }
            initMenu(AdminMenuType.ModerationClinic);


            //addLog("UserIsAuthenticated " + G.UserIsAuthenticated);
            var user = CityStar.Core.CurrentUser.GetInstance();
            //addLog(user.IsAuthenticated.ToString());


            int moderatorID = user.CurrentUserData.id;

            if (Request.HttpMethod == "POST")
            {
                //получить данные,
                int clinicID   = RequestHelper.GetRequestFormInt(Request, "clinicid");
                int moderation = RequestHelper.GetRequestFormInt(Request, "moderation");
                int skip       = RequestHelper.GetRequestFormInt(Request, "skip");
                var clinic     = FormRepository.GetClinic(clinicID);
                if (clinic == null)
                {
                    //ошибка
                }
                addLog("clinicID " + clinicID + " moderation " + moderation + " skip " + skip);
                if (skip > 0)
                {
                    //пометить флагом пропуск модерации
                    AdminRepository.SkipClinicModeration(clinic.ID, skip);
                }
                else
                {
                    //сохранить данные
                    AdminRepository.UpdateClinicModeration(clinic.ID, moderation, moderatorID);
                    //пересчет статистики по врачам клиник
                    //AdminRepository.UpdateClinicDoctorCount(clinic.ID);
                    //пересчет рейтинга по клинике
                    //   AdminRepository.UpdateClinicRating(clinic.ID);
                    // Обновление статистики по городу
                    FormRepository.UpdateCityStatistic();

                    //отправить смс автору отзывы, если приняли отзыв

                    /*   if (moderation == 2)
                     * {
                     *     string phone = UserRepository.GetUserPhone(opinion.UserID);
                     *     Utils.SendSMS(opinion.UserID, phone, "Ваш отзыв о враче успешно прошел модерацию и опубликован на BookMedica.ru. Спасибо, что вы помогли сделать мир лучше!", true);
                     * }*/
                }
                //редирект на модерацию
                return(Redirect(AdminLinkBuilder.ClinicModeration()));
            }



            var vm = new AdminClinicModerationViewModel
            {
                //получить неотмодерированную клинику
                Clinic = AdminRepository.GetNotModerationClinic(),
            };

            if (vm.Clinic != null && vm.Clinic.ID > 0)
            {
                //фотоальбом
                vm.PhotoList = FormRepository.GetClinicPhotos(vm.Clinic.ID);
                //похожие клиники по названию и адресу
                vm.SimilarClinicList = AdminRepository.GetSimilarClinicList(vm.Clinic);
                vm.CityName          = FormRepository.GetCity(vm.Clinic.CityID).CityName;
            }

            return(View("AdminClinicModerationPage", vm));
        }