コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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", "Заявка отправлена" }));
        }
コード例 #4
0
        public ActionResult SetsSatusCounterData(int id, int year, int month, bool status)
        {
            Admtszh admuser = null;
            // uk_profile uk = null;
            string result = null;

            using (var context = new EFDbContext())
            {
                IEnumerable <Counter> ListCounters = repository.Counter.Where(u => u.UserId.Equals(id));
                if (ListCounters.Count() != 0)
                {
                    string res = "";
                    foreach (var item in ListCounters)
                    {
                        if (!res.Equals(""))
                        {
                            res = res + ",";
                        }
                        res = res + item.id.ToString();
                    }
                    result = context.SQLStringConnect("UPDATE[dbo].[Counter_data] SET status = 1 WHERE id IN( " + res + ")");
                }
            }
            return(Json(result));
        }
コード例 #5
0
        public ActionResult Articles()
        {
            //Article art;
            Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();

            return(View(repository.Articles.Where(a => a.id_uk.Equals(admuser.id_uk)).OrderBy(p => p.id_uk)));
        }
コード例 #6
0
        public ActionResult editprof()
        {
            //Проверка на принадлежность пользователя
            Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();

            return(View(admuser));
        }
コード例 #7
0
        public JsonResult get_users()
        {
            IEnumerable <UserProfile> users = null;
            Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();

            users = repository.UserProfile.Where(u => u.id_uk.Equals(admuser.id_uk));
            return(Json(users, JsonRequestBehavior.AllowGet));
        }
コード例 #8
0
        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));
        }
コード例 #9
0
        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));
        }
コード例 #10
0
 public ActionResult editprof(Admtszh model)
 {
     if (ModelState.IsValid && (model.AdmtszhId == WebSecurity.CurrentUserId))
     {
         repository.SaveAdmtszh(model);
         TempData["message"] = string.Format("Ваш профиль \"{0}\" был изменен", model.id);
         return(Json(new string[] { "Ok", string.Format("Ваш профиль \"{0}\" был изменен", model.id) }));
     }
     return(Json(new string[] { "Error", "Ошибка при изменении профиля" }));
 }
コード例 #11
0
        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));
        }
コード例 #12
0
        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", "Не удалось обновить статью" }));
            }
        }
コード例 #13
0
        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", "Сообщение удалено"));
        }
コード例 #14
0
 public void SaveAdmtszh(Admtszh user)
 {
     if (user.id == 0)
     {
         Admtszh db = context.admtszh.Add(user);
         db.AdmtszhId = user.AdmtszhId;
     }
     else
     {
         Admtszh db = context.admtszh.Find(user.id);
         if (db != null)
         {
             db.AdmtszhId  = user.AdmtszhId;
             db.id_uk      = user.id_uk;
             db.post       = user.post;
             db.SurName    = user.SurName;
             db.Name       = user.Name;
             db.Patronymic = user.Patronymic;
         }
     }
     context.SaveChanges();
 }
コード例 #15
0
        public ActionResult ViewAddrUk()
        {
            Admtszh admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();

            return(Json(repository.uk_adress.Where(p => p.id_uk.Equals(admuser.id_uk)), JsonRequestBehavior.AllowGet));
        }
コード例 #16
0
        //       [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", "Имя пользователя или пароль указаны неверно." }));
        }