public ActionResult editprof(newAdmtszh model) { string requestDomain = Request.Headers["host"]; uk_profile uk = repository.uk_profile.Where(p => p.host.Equals(requestDomain)).SingleOrDefault(); Admtszh newUser = new Admtszh(); if (ModelState.IsValid) { newUser.AdmtszhId = WebSecurity.CurrentUserId; newUser.id_uk = uk.id; newUser.SurName = model.SurName; newUser.Name = model.Name; newUser.Patronymic = model.Patronymic; newUser.post = model.post; repository.SaveAdmtszh(newUser); return(Json(new string[] { "Ok", string.Format("Ваш профиль \"{0}\" был изменен", newUser.id) })); } ; //Send E-mail string title = "Запрос на активацию нового пользователя администрации ТСЖ"; string message = " Пользователь" + "Ваши логин: " + newUser.SurName + " " + newUser.Name + " " + newUser.Patronymic + "\n Запросили авторизацию для получения полного доступа к функционалу Вам необходимо заполнить анкету и отправить запрос на активацию."; SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, title, message); return(Json(new string[] { "Ok", "Заявка отправлена" })); }
public ActionResult EditUk() { Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); return(Json(uk, JsonRequestBehavior.AllowGet)); }
public ActionResult profile(string returnUrl) { Admtszh admuser = null; uk_profile uk = null; try { admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); ViewData["uk_name"] = uk.Name; // ViewData["user_adr"] = get_adr(user.Adress); } catch (Exception ex) { Log.Error("GET Admtszh/profile Пользователь: " + WebSecurity.CurrentUserName, ex); ViewData["uk_name"] = "нет данных"; // ViewData["user_adr"] = "нет данных"; if (admuser == null) { return(View(new Admtszh())); } } //---------------------------- return(View(admuser)); }
public ActionResult readFeedBack() { Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); IEnumerable <feedback> list = repository.feedback.Where(p => p.id_uk.Equals(uk.id)).OrderByDescending(p => p.datetime); return(Json(list)); }
public ActionResult ViewUsers() { Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); IEnumerable <UserProfile> users = repository.UserProfile.Where(p => p.id_uk.Equals(uk.id)).OrderBy(p => p.SurName); return(View(users)); }
public ActionResult DeleteUk(int id = 0) { uk_profile del_uk = repository.DeleteUk(id); if (del_uk != null) { TempData["message"] = string.Format("ТСЖ \"{0}\"был удален", del_uk.Name); } return(RedirectToAction("ViewUk")); }
public uk_profile DeleteUk(int id) { uk_profile db = context.uk_profiles.Find(id); if (db != null) { context.uk_profiles.Remove(db); context.SaveChanges(); } return(db); }
public ActionResult send_profile(UserProfile_nouk_form model) { UserProfile user = new UserProfile(); string requestDomain = Request.Headers["host"]; uk_profile uk = repository.uk_profile.Select(p => p).Where(p => p.host.Equals(requestDomain)).SingleOrDefault(); if (uk == null) { return(RedirectToAction("Index", "Login")); } string title; string message; model.UserId = WebSecurity.CurrentUserId; if (ModelState.IsValid) { user.id_uk = uk.id; user.Adress = model.Adress; user.Apartment = model.Apartment; user.Email = model.Email; user.login = WebSecurity.CurrentUserName; user.Name = model.Name; user.Patronymic = model.Patronymic; user.Personal_Account = model.Personal_Account; user.phone = model.phone; user.SurName = model.SurName; user.UserId = model.UserId; title = "Заявка на активацию нового пользователя"; message = "Анкетные данные: <br>Ф.И.О.:\n" + model.SurName + " " + model.Name + " " + model.Patronymic + "\nE-mail: " + model.Email + "\nЛицевой счет: " + model.Personal_Account + "\nТелефон: " + model.phone + "\nДомашний адрес: " + model.Adress + ", Квартира: " + model.Apartment; feedback mess = new feedback(); mess.id_uk = uk.id; mess.id_user = user.UserId; mess.title = title; mess.message = message; try { FeedBack_from_nouk(mess); SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, title, message); } catch (Exception ex) { Log.Error("POST User/send_profile, не удалось отправить письмо:", ex); } repository.SaveUser(user); string[] res = { "Ok", "Ваша заявка отправлена: ", message }; return(Json(res)); } return(Json(new string[] { "Error", "Заполните все поля" })); }
public ActionResult profile(string returnUrl) { //Проверка на принадлежность пользователя UserProfile user = null; uk_profile uk = null; string requestDomain = Request.Headers["host"]; user = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk = repository.uk_profile.Where(p => p.id == user.id_uk).SingleOrDefault(); ViewData["uk_name"] = uk.Name; ViewData["user_adr"] = get_adr(user.Adress); //---------------------------- return(View(user)); }
public ActionResult EditArticle(int id = 0) { Article art; Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); if (id == 0) { art = new Article(); } else { art = repository.Articles.Where(a => a.id_uk.Equals(admuser.id_uk)).Where(q => q.id == id).Single(); } return(Json(art, JsonRequestBehavior.AllowGet)); }
public ActionResult EditArticle(Article article) { Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); article.publicDate = DateTime.UtcNow;// -TimeZone.CurrentTimeZone; ; try { repository.SaveArticle(article); return(Json(new string[] { "Ok", "Страница обновлена" })); } catch (Exception ex) { Log.Error("Не удалось обновить статью"); return(Json(new string[] { "Error", "Не удалось обновить статью" })); } }
public void SaveUkProfile(uk_profile uk) { if (uk.id == 0) { context.uk_profiles.Add(uk); } else { uk_profile db = context.uk_profiles.Find(uk.id); if (db != null) { db.Name = uk.Name; db.host = uk.host; } } context.SaveChanges(); }
public ActionResult Index(string id = "Главная") { string requestDomain = Request.Headers["host"]; uk_profile uk = repository.uk_profile.Where(p => p.host.Equals(requestDomain)).SingleOrDefault(); int uk_id; if (uk == null) { uk_id = 0; } else { uk_id = uk.id; } Article art = repository.Articles.Where(t => t.title.Equals(id)).Where(u => u.id_uk.Equals(uk_id)).SingleOrDefault(); return(View(art)); }
public ActionResult DelMess(int id = -1) { Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); if ((id == -1) || (id == 0)) { return(Json("Error", "Нельзя удалить сообщение")); } try { repository.DeleteFeedBack(id); } catch { return(Json("Error", "Ошибка при удалении сообщения")); } return(Json("Ok", "Сообщение удалено")); }
public ActionResult CreateUk(uk_profile uk) { uk.RegDate = DateTime.UtcNow; repository.SaveUkProfile(uk); //необходимо создавать пустые (или дефолтные) статьи для тсж Article article = new Article(); article.title = "Главная"; article.publicDate = DateTime.UtcNow; repository.SaveArticle(article); Article doc = new Article(); doc.title = "Документы"; doc.publicDate = DateTime.UtcNow; repository.SaveArticle(doc); Article contact = new Article(); contact.title = "Контакты"; contact.publicDate = DateTime.UtcNow; repository.SaveArticle(contact); return(RedirectToAction("ViewUk")); }
public ActionResult FeedBack(feedback mess) { UserProfile user = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id == user.id_uk).SingleOrDefault(); //------------------------------------ mess.datetime = DateTime.UtcNow; if (string.IsNullOrEmpty(mess.title)) { return(Json(new string[] { "Error", "Вы не заполнили тему сообщения" })); } else if (string.IsNullOrEmpty(mess.message)) { return(Json(new string[] { "Error", "Пустое сообщение" })); } else if (mess.message.Length > 2000) { return(Json(new string[] { "Error", "Недопустимая длина строки" })); } if (ModelState.IsValid) { mess.id_uk = uk.id; mess.status = false; mess.id_user = WebSecurity.CurrentUserId; mess.message = Regex.Replace(mess.message, @"(\r\n)", "<br>"); if (uk.Email != null) { SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, mess.title, mess.message); } repository.SaveFeedBack(mess); TempData["message"] = string.Format("Ваша заявка отправлена", mess.title); return(Json(new string[] { "Ok", "Ваша заявка отправлена: ", mess.title })); } return(Json(new string[] { "Error", "Ошибка" })); }
private ActionResult FeedBack_from_nouk(feedback mess) { //Определяем домен string requestDomain = Request.Headers["host"]; UserProfile user = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); //Ищем ТСЖ по домену, на котором регистируемся uk_profile uk = repository.uk_profile.Where(p => p.host.Equals(requestDomain)).SingleOrDefault(); //------------------------------------ mess.datetime = DateTime.UtcNow; if (ModelState.IsValid) { mess.status = false; mess.id_uk = uk.id; mess.id_user = WebSecurity.CurrentUserId; if (uk.Email != null) { SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, "Обращение от " + user.SurName + user.Name + ": " + mess.title, mess.message); } repository.SaveFeedBack(mess); return(RedirectToAction("Index")); } return(View(mess)); }
public ActionResult EditUk(uk_profile uk = null) { repository.SaveUkProfile(uk); return(Json("Ok")); }
public ActionResult EditUk(uk_profile uk = null) { repository.SaveUkProfile(uk); //обновить роль пользователей return(View(uk)); }
public ActionResult ViewCounters(int month = 0, int year = 0) { IEnumerable <UserProfile> users = null; //To do add array of user's counters List <Counter_model> model = new List <Counter_model>(); IEnumerable <Counter> ListCounter = null; IEnumerable <Counter_data> ListData = null; Admtszh admuser; string requestDomain = Request.Headers["host"]; try { admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault(); users = repository.UserProfile.Where(p => p.id_uk.Equals(uk.id)); } catch (Exception ex) { Log.Error(Request.ToString() + " User: "******""; foreach (var item in users) { if (!u.Equals("")) { u = u + ","; } u = u + item.UserId.ToString(); } ListCounter = context.Database.SqlQuery <Counter>("SELECT * FROM [dbo].[Counter] WHERE UserId IN ( " + u + " )").ToArray(); //repository.Counter.Where(u => u.UserId.Equals(it.id)).Where(p => p.type.Equals(type)); if (ListCounter.Count() != 0) { string res = ""; foreach (var item in ListCounter) { if (!res.Equals("")) { res = res + ","; } res = res + item.id.ToString(); } ListData = context.Database.SqlQuery <Counter_data>("SELECT * FROM [dbo].[Counter_data] WHERE id IN ( " + res + " )").ToArray(); } else { ListData = new List <Counter_data>().ToArray(); } uk_adress adr; foreach (var user in users) { Counter_model temp = new Counter_model(); temp.Name = user.SurName + " " + user.Name; adr = context.uk_adresses.Where(pu => pu.id.Equals(user.Adress)).FirstOrDefault(); temp.street = adr.Street; temp.house = adr.House; temp.flat = user.Apartment; if (year == 0) { year = DateTime.Now.Year; } if (month == 0) { month = DateTime.Now.Month; } DateTime d_start = new DateTime(year, month, 1); DateTime d_end = d_start.AddMonths(1); bool status = true; for (int j = 1; j <= 4; j++) { if (j == 1) { temp.gasi = new List <count_place>(); } if (j == 2) { temp.energoi = new List <count_place>(); } if (j == 3) { temp.cwi = new List <count_place>(); } if (j == 4) { temp.hwi = new List <count_place>(); } IEnumerable <Counter> counters = ListCounter.Where(p => p.UserId.Equals(user.UserId)).Where(t => t.Type.Equals(j)); foreach (Counter counter in counters) { Counter_data t_data = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end).SingleOrDefault(); // foreach (var it in t_data) if (t_data != null) { count_place cp = new count_place(); cp.id = t_data.id; cp.data = t_data.data; cp.place = ListCounter.Where(p => p.id.Equals(t_data.id)).FirstOrDefault().Name; status = t_data.status; if (j == 1) { temp.gasi.Add(cp); } if (j == 2) { temp.energoi.Add(cp); } if (j == 3) { temp.cwi.Add(cp); } if (j == 4) { temp.hwi.Add(cp); } cp = null; } } } if ((temp.gasi.Count == 0) && (temp.energoi.Count == 0) && (temp.cwi.Count == 0) && (temp.hwi.Count == 0)) { // temp = null; } else { temp.month = d_start; temp.status = status; model.Add(temp); } temp = null; } } return(Json(model, JsonRequestBehavior.AllowGet)); }
// [ValidateJsonAntiForgeryToken] public ActionResult Index(LoginModel model) { if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) { uk_profile uk_u = null; uk_profile uk_a = null; try { Account_model result = new Account_model(); result.id = WebSecurity.GetUserId(model.UserName); result.Login = model.UserName; UserProfile user = repository.UserProfile.Where(p => p.UserId.Equals(result.id)).SingleOrDefault(); Admtszh admtszh = repository.Admtszh.Where(p => p.AdmtszhId.Equals(result.id)).SingleOrDefault(); if ((user == null) && (admtszh == null)) { //Пользователь не принадлежайщий никакому ТСЖ //т.е не имеющий роли, просто входит FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); return(Json(result)); } string requestDomain = Request.Headers["host"]; if (user != null) { uk_u = repository.uk_profile.Where(p => p.id.Equals(user.id_uk)).SingleOrDefault(); } if (admtszh != null) { uk_a = repository.uk_profile.Where(p => p.id.Equals(admtszh.id_uk)).SingleOrDefault(); } //Если пользователь имеет несколько ролей в разных ТСЖ var myList = new List <string>(); foreach (var role in Roles.GetRolesForUser(model.UserName)) { if (user != null) { if (requestDomain.Equals(uk_u.host) && role.Equals("User")) { myList.Add(role); } } if (admtszh != null) { if (requestDomain.Equals(uk_a.host) && role.Equals("Moder")) { myList.Add(role); } } } result.Roles = myList.ToArray(); if (result.Roles.Count() > 0) { foreach (var role in result.Roles) { if (role.Equals("User")) { if (user != null) { if (requestDomain.Equals(uk_u.host)) { //User have direct company FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); return(Json(result)); } else { //User have no current direct company //TempData["message"] = string.Format("Хост: \"{0}\" ", requestDomain); //WebSecurity.Logout(); return(Json(new string[] { "Error", "Имя пользователя или пароль не принадлежат данному домену" })); } } } if (role.Equals("Moder")) { if (admtszh != null) { if (requestDomain.Equals(uk_a.host)) { //User have direct company FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); return(Json(result)); // return new HttpStatusCodeResult(200, "{id:"+ WebSecurity.CurrentUserId.ToString() + "}"); } else { //User have no current direct company //TempData["message"] = string.Format("Хост: \"{0}\" ", requestDomain); // return(Json(new string[] { "Error", "Имя пользователя или пароль не принадлежат данному домену" })); } } } if (role.Equals("Admin")) { //Админов просто авторизовать FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); return(Json(result)); } } WebSecurity.Logout(); } } catch (Exception ex) { Logger.Log.Error("Внутренняя ошибка при авторизации пользователя" + model.UserName, ex); } } return(Json(new string[] { "Error", "Имя пользователя или пароль указаны неверно." })); }
public ActionResult EditUk(int id = 0) { uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(id)).SingleOrDefault(); return(View(uk)); }
public ActionResult ViewDataMeters(int month = 0, int year = 0) { UserProfile user = null; uk_profile uk = null; // user = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault(); // uk = repository.uk_profile.Where(p => p.id == user.id_uk).SingleOrDefault(); //------------------------------------ //To do add array of user's counters Counter_user_viewdata model = new Counter_user_viewdata(); IEnumerable <Counter> ListCounter = null; IEnumerable <Counter_data> ListData = null; using (var context = new EFDbContext()) { ListCounter = context.Database.SqlQuery <Counter>("SELECT * FROM [dbo].[Counter] WHERE UserId IN ( " + WebSecurity.CurrentUserId.ToString() + " )").ToArray(); if (ListCounter.Count() != 0) { string res = ""; foreach (var item in ListCounter) { if (!res.Equals("")) { res = res + ","; } res = res + item.id.ToString(); } ListData = context.Database.SqlQuery <Counter_data>("SELECT * FROM [dbo].[Counter_data] WHERE id IN ( " + res + " )").ToArray(); } else { ListData = new List <Counter_data>().ToArray(); } } //uk_adress adr; { Counter_user_viewdata temp = new Counter_user_viewdata(); if (year == 0) { year = DateTime.Now.Year; } if (month == 0) { month = DateTime.Now.Month; } DateTime d_start = new DateTime(year, 1, 1); DateTime d_end = d_start.AddMonths(12).AddDays(-1); // bool status = true; try { IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(1)); temp.gasi = new List <meter_model>(); foreach (Counter counter in counters) { meter_model cp = new meter_model(); cp.counter = counter; cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end); temp.gasi.Add(cp); } } catch (Exception ex) { Logger.Log.Error("GET User/ViewDataMeters: gasi", ex); } try { IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(2)); temp.energoi = new List <meter_model>(); foreach (Counter counter in counters) { meter_model cp = new meter_model(); cp.counter = counter; cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end); temp.energoi.Add(cp); } } catch (Exception ex) { Logger.Log.Error("GET User/ViewDataMeters: energoi", ex); } try { IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(3)); temp.cwi = new List <meter_model>(); foreach (Counter counter in counters) { meter_model cp = new meter_model(); cp.counter = counter; cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end); temp.cwi.Add(cp); } } catch (Exception ex) { Logger.Log.Error("GET User/ViewDataMeters: cwi", ex); } try { IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(4)); temp.hwi = new List <meter_model>(); foreach (Counter counter in counters) { meter_model cp = new meter_model(); cp.counter = counter; cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end); temp.hwi.Add(cp); } } catch (Exception ex) { Logger.Log.Error("GET User/ViewDataMeters: hwi", ex); } model = temp; } return(Json(model, JsonRequestBehavior.AllowGet)); }