public ActionResult CityEdit(int id = 0) { if (!checkRight()) { return(Login()); } initMenu(AdminMenuType.CitySettings); bool error = false; if (Request.HttpMethod == "POST") { string cityName = RequestHelper.GetRequestFormText(Request, "cityname"); if (string.IsNullOrEmpty(cityName)) { //ошибка error = true; } else { if (id == 0) { FormRepository.AddCity(cityName); } else { FormRepository.UpdateCity(id, cityName); } return(Redirect(AdminLinkBuilder.CityList())); } } var vm = new AdminCityEditViewModel(); vm.Error = error; vm.City = FormRepository.GetCity(id); vm.CityName = ""; if (vm.City == null || vm.City.ID == 0) { vm.IsNew = true; } else if (!error) { vm.CityName = vm.City.CityName; } return(View("AdminCityEditPage", vm)); }
public ActionResult DoctorModeration() { if (!checkRight()) { return(Login()); } initMenu(AdminMenuType.ModerationDoctor); //addLog("UserIsAuthenticated " + G.UserIsAuthenticated); var user = CityStar.Core.CurrentUser.GetInstance(); //addLog(user.IsAuthenticated.ToString()); int moderatorID = user.CurrentUserData.id; if (Request.HttpMethod == "POST") { //получить данные, int doctorID = RequestHelper.GetRequestFormInt(Request, "doctorid"); int moderation = RequestHelper.GetRequestFormInt(Request, "moderation"); int skip = RequestHelper.GetRequestFormInt(Request, "skip"); int joinDoctor = RequestHelper.GetRequestFormInt(Request, "join-doctor"); var doctor = FormRepository.GetDoctor(doctorID); if (doctor == null) { //ошибка } if (joinDoctor > 0) { //объединение с другим врачом //у врача ставится статус модерации = 5 объединен, отзывы переносятся на другого врача //сохранить данные AdminRepository.UpdateDoctorModeration(doctor.ID, Values.MODERATION_STATUS_JOIN, moderatorID); //перенос отзывов AdminRepository.TransferOpinions(joinDoctor, doctor.ID); //пересчет кол-ва отзывов по врачу и его клиникам FormRepository.UpdateDoctorRating(joinDoctor); } else { if (skip > 0) { //пометить флагом пропуск модерации AdminRepository.SkipDoctorModeration(doctor.ID, skip); } else { // addLog("opinionID " + opinionID + " moderation " + moderation); //сохранить данные AdminRepository.UpdateDoctorModeration(doctor.ID, moderation, moderatorID); //пересчет статистики по врачам клиник AdminRepository.UpdateClinicDoctorCount(doctor.ClinicList); //пересчет рейтинга по клинике // 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.DoctorModeration())); } var vm = new AdminDoctorModerationViewModel { //получить неотмодерированного врача Doctor = AdminRepository.GetNotModerationDoctor(), }; if (vm.Doctor != null && vm.Doctor.ID > 0) { //сертификаты vm.CertificateList = FormRepository.GetDoctorCertificateList(vm.Doctor.ID); //похожие по фамилии врачи vm.SimilarDoctorList = AdminRepository.GetSimilarDoctorList(vm.Doctor); //колво отзывов у этого врача vm.OpinionCount = FormRepository.GetDoctorAllOpinionCount(vm.Doctor.ID); vm.CityName = FormRepository.GetCity(vm.Doctor.CityID).CityName; } return(View("AdminDoctorModerationPage", vm)); }
/// <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)); }