/// <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)); }
/// <summary> /// Страница модерации отзывов /// </summary> /// <returns></returns> public ActionResult OpinionModeration() { if (!checkRight()) { return(Login()); } initMenu(AdminMenuType.ModerationOpinion); //addLog("UserIsAuthenticated " + G.UserIsAuthenticated); var user = CityStar.Core.CurrentUser.GetInstance(); //addLog(user.IsAuthenticated.ToString()); int moderatorID = user.CurrentUserData.id; if (Request.HttpMethod == "POST") { //получить данные, int opinionID = RequestHelper.GetRequestFormInt(Request, "opinionid"); int moderation = RequestHelper.GetRequestFormInt(Request, "moderation"); var opinion = FormRepository.GetDoctorOpinion(opinionID); if (opinion == null) { //ошибка } addLog("opinionID " + opinionID + " moderation " + moderation); //сохранить данные AdminRepository.UpdateOpinionModeration(opinionID, moderation, moderatorID); //пересчет статистики по рекомендациям AdminRepository.UpdateDoctorRecomendation(opinion.OnID); //пересчет рейтинга по врачу и клинике FormRepository.UpdateDoctorRating(opinion.OnID); //отправить смс автору отзывы, если приняли отзыв if (moderation == 2) { string phone = UserRepository.GetUserPhone(opinion.UserID); Utils.SendSMS(opinion.UserID, phone, "Ваш отзыв о враче успешно прошел модерацию и опубликован на BookMedica.ru. Спасибо, что вы помогли сделать мир лучше!", true); } //редирект на модерацию return(Redirect(AdminLinkBuilder.OpinionModeration())); } var vm = new AdminOpinionModerationViewModel { //получить список 5 неотмодерированных отзывов Opinion = AdminRepository.GetNotModerationOpinion(), //получить данные по формированию отзыва CriterionList = FormRepository.GetDoctorCriterionList() }; //данные по врачу if (vm.Opinion != null && vm.Opinion.ID > 0) { vm.Doctor = FormRepository.GetDoctor(vm.Opinion.OnID); //надо проверить что клиника в отзыве есть у врача if (!FormRepository.CheckDoctorClinic(vm.Opinion.OnID, vm.Opinion.ClinicID)) { //клиники такой нет, vm.OthenClinic = FormRepository.GetClinic(vm.Opinion.ClinicID); } } return(View("AdminOpinionModerationPage", vm)); }