Ejemplo n.º 1
0
        /// <summary>
        /// Удалить пользователя
        /// </summary>
        public ActionResult DeleteUser(int id)
        {
            var             deletedUser = UserManager.GetUser(id);
            SQLReturnResult res         = UserManager.DeleteUser(deletedUser.USER_ID);

            switch (res.Result)
            {
            case AppEnums.SQLExecResult.RollBack:
                TempData["result"] = new OperationResult()
                {
                    Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Откат транзакции!\r\n" + res.Message
                };
                break;

            case AppEnums.SQLExecResult.SyntaxError:
                TempData["result"] = new OperationResult()
                {
                    Status = AppEnums.OperationStatus.Error, Message = "Синтаксическая ошибка!\r\n" + res.Message
                };
                break;

            default:
                TempData["result"] = new OperationResult()
                {
                    Status = AppEnums.OperationStatus.Success, Message = "Пользователь удален!"
                };
                UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID,
                                          AppEnums.Event.Удалить_пользователя,
                                          string.Format("Пользователь '{0}' удален", deletedUser.USER_LOGIN));
                break;
            }
            return(RedirectToAction("EditUsers", "Admin"));
        }
Ejemplo n.º 2
0
        public ActionResult EditUser(AppUser user)
        {
            if (ModelState.IsValid)
            {
                SQLReturnResult res = UserManager.UpdateUser(user);
                switch (res.Result)
                {
                case AppEnums.SQLExecResult.RollBack:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Откат транзакции!\r\n" + res.Message
                    };
                    break;

                case AppEnums.SQLExecResult.SyntaxError:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Синтаксическая ошибка!\r\n" + res.Message
                    };
                    break;

                default:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Success, Message = "Данные сохранены!"
                    };
                    UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Изменение_данных_пользователя);
                    break;
                }

                return(RedirectToAction("EditUsers", "Admin"));
            }

            return(View(user));
        }
Ejemplo n.º 3
0
        public ActionResult ChangePassword(ChangePasswordModel model)
        {
            if (ModelState.IsValid)
            {
                if (AccountManager.ChangeUserPassword(_account.USER_LOGIN,
                                                      model.OldPassword,
                                                      model.NewPassword)
                    )
                {
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Success, Message = "Пароль успешно изменен!"
                    };
                    UtilManager.RegisterEvent(_account.USER_ID, AppEnums.Event.Сменить_пароль);
                }
                else
                {
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Неверный старый пароль!"
                    };
                    ModelState.AddModelError("OldPassword", "Неверный старый пароль!");
                }
            }

            return(View());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Запустить обновление медиатегов пользователя по команде с Telegram
        /// </summary>
        /// <returns>Кол-во добавленных тегов</returns>
        public JsonResult UpdateTeleUserMediatags(string user_login, string tag_caption)
        {
            var user = UserManager.GetUser(user_login);
            int addedMeditagCount = HashTagManager.SaveMediaTagsToDataBase(user.USER_ID, tag_caption);

            UtilManager.RegisterEvent(user.USER_ID, AppEnums.Event.Запуск_обновления_медиатегов, string.Format("Обновление медиатега '{0}'", tag_caption));
            return(Json(new { MeditagCount = addedMeditagCount }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 5
0
        public ActionResult Add(string user_login)
        {
            AppUser user = UserManager.GetUser(user_login);

            UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Добавить_заказ);
            return(View("Edit", new Show()
            {
                USER_ID = user.USER_ID, SHOW_START = DateTime.Now, SHOW_END = DateTime.Now.AddDays(1)
            }));
        }
Ejemplo n.º 6
0
        public ActionResult UpdateMediaTags(string hashtag = "", int updtype = (int)AppEnums.UpdateHashTagType.Recent30)
        {
            //todo в зав-ти от updtype делать запрос SaveMediaTagsToDataBase
            if (string.IsNullOrEmpty(hashtag))
            {
                hashtag = (string)Session["ACTIVETAG"];
            }

            //TODO async
            HashTagManager.SaveMediaTagsToDataBase(_account.USER_ID, hashtag, (AppEnums.UpdateHashTagType)updtype);
            UtilManager.RegisterEvent(_account.USER_ID, AppEnums.Event.Запуск_обновления_медиатегов, string.Format("Обновление медиатега '{0}'", hashtag));
            return(RedirectToAction("Mod", "User", new { hashtag = hashtag }));
        }
Ejemplo n.º 7
0
 public ActionResult SaveVariables(IList <Models.AdminModels.Variable> vars)
 {
     foreach (var key in vars)
     {
         UtilManager.SetVarValue(key.VarName, key.VarValue);
     }
     TempData["result"] = new OperationResult()
     {
         Status = AppEnums.OperationStatus.Success, Message = "Данные сохранены!"
     };
     UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Сохранить_глобальные_переменные);
     return(RedirectToAction("Index", "Admin"));
 }
Ejemplo n.º 8
0
        /// <summary>
        /// Пометить "модерация"
        /// </summary>
        public ActionResult SetMod(int show_id, bool value)
        {
            ShowManager.SetMod(show_id, value);
            if (value)
            {
                UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Пометить_заказ_как_модерируемый);
            }
            else
            {
                UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Пометить_заказ_как_немодерируемый);
            }

            return(new EmptyResult());
        }
Ejemplo n.º 9
0
        public ActionResult Translate(string hashtag = "", string ahashtag = "")
        {
            if (!string.IsNullOrEmpty(hashtag))
            {
                Session["ACTIVETAG"] = hashtag;
            }

            Session["ACTIONTAG"] = string.IsNullOrEmpty(ahashtag) ? null : ahashtag;

            if (Session["ACTIVETAG"] != null)
            {
                UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID,
                                          AppEnums.Event.Начало_трансяции,
                                          string.Format("Начало трансляции по хэштегу '{0}'", Convert.ToString(Session["ACTIVETAG"])));
            }
            return(View());
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Добавить пользовательский хэштег
        /// </summary>
        public ActionResult AddTag(string hashtag = "")
        {
            if (!string.IsNullOrEmpty(hashtag))
            {
                hashtag = hashtag.Trim().ToLower();
                if (HashTagManager.IsTagExist(hashtag))
                {
                    TempData["result"] = new OperationResult()
                    {
                        Status  = AppEnums.OperationStatus.Warning,
                        Message = "Такой хэштег уже существует!"
                    };
                    return(RedirectToAction("Tags"));
                }

                SQLReturnResult res = HashTagManager.InsertHashTag(_account.USER_ID, hashtag);
                switch (res.Result)
                {
                case AppEnums.SQLExecResult.RollBack:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Откат транзакции!"
                    };
                    break;

                case AppEnums.SQLExecResult.SyntaxError:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Синтаксическая ошибка!"
                    };
                    break;

                default:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Success, Message = "Новый тег добавлен!"
                    };
                    UtilManager.RegisterEvent(_account.USER_ID, AppEnums.Event.Добавить_хэштег, string.Format("Добавлен хэштег '{0}'", hashtag));
                    break;
                }
            }
            return(RedirectToAction("Tags"));
        }
Ejemplo n.º 11
0
        public ActionResult ChangePassword(ChangePasswordModel model)
        {
            if (ModelState.IsValid)
            {
                if (AccountManager.ChangeUserPassword(System.Web.HttpContext.Current.User.Identity.Name,
                                                      model.OldPassword,
                                                      model.NewPassword)
                    )
                {
                    UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Сменить_пароль);
                    return(RedirectToAction("ChangePasswordSuccess"));
                }
                else
                {
                    ModelState.AddModelError("OldPassword", "Неверный старый пароль");
                }
            }

            return(View(model));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Сделать/отменить администратора
        /// </summary>
        public ActionResult SetAdmin(int id, bool value)
        {
            var user = UserManager.GetUser(id);

            if (value)
            {
                user.USER_ROLE_ID = (int)AppEnums.Role.Admin;
                UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID,
                                          AppEnums.Event.Сделать_пользователя_администратором,
                                          string.Format("Пользователь '{0}' стал администратором", user.USER_LOGIN));
            }
            else
            {
                user.USER_ROLE_ID = (int)AppEnums.Role.TagModerator;
                UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID,
                                          AppEnums.Event.Забрать_права_администратора,
                                          string.Format("Пользователь '{0}' потерял права администратора", user.USER_LOGIN));
            }
            UserManager.UpdateUser(user);

            return(RedirectToAction("EditAdmins", "Admin"));
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Удалить пользовательский хэштег
        /// </summary>
        public ActionResult DelTag(string hashtag = "")
        {
            if (!string.IsNullOrEmpty(hashtag))
            {
                hashtag = hashtag.Trim().ToLower();
                var res = HashTagManager.DeleteTag(hashtag);
                switch (res.Result)
                {
                case AppEnums.SQLExecResult.RollBack:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Откат транзакции!"
                    };
                    break;

                case AppEnums.SQLExecResult.SyntaxError:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Синтаксическая ошибка!"
                    };
                    break;

                default:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Success, Message = string.Format("Тег '#{0}' удален!", hashtag)
                    };
                    UtilManager.RegisterEvent(_account.USER_ID, AppEnums.Event.Удалить_хэштег, string.Format("Хэштег '{0}' удален", hashtag));
                    break;
                }

                if (string.Compare((string)Session["ACTIVETAG"], hashtag, true) == 0)
                {
                    Session["ACTIVETAG"] = null;
                }
            }

            return(RedirectToAction("Tags"));
        }
Ejemplo n.º 14
0
 public ActionResult SignIn(RegisterModel rm)
 {
     if (ModelState.IsValid)
     {
         rm.NewPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(rm.NewPassword, "SHA1");
         var user = AccountManager.RegisterNewUser(rm);
         if (user == null)
         {
             TempData["result"] = new OperationResult()
             {
                 Status = AppEnums.OperationStatus.Error, Message = "Такой пользователь или E-Mail уже зарегестрирован!"
             };
         }
         else
         {
             SetAuthTicket(user.USER_LOGIN, false, UserManager.GetUserRole(user.USER_ID));
             UtilManager.RegisterEvent(user.USER_ID, AppEnums.Event.егистрация);
             return(RedirectToAction("Index", "Home"));
         }
     }
     return(View(rm));
 }
Ejemplo n.º 15
0
        public ActionResult EditUser(AppUser User)
        {
            TempData["result"] = new OperationResult()
            {
                Status = AppEnums.OperationStatus.Error, Message = "Некорректные данные!"
            };

            if (ModelState.IsValid)
            {
                SQLReturnResult res = UserManager.UpdateUser(User);
                switch (res.Result)
                {
                case AppEnums.SQLExecResult.RollBack:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Откат транзакции!"
                    };
                    break;

                case AppEnums.SQLExecResult.SyntaxError:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Синтаксическая ошибка!"
                    };
                    break;

                default:
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Success, Message = "Данные успешно сохранены!"
                    };
                    UtilManager.RegisterEvent(_account.USER_ID, AppEnums.Event.Изменение_личных_регистрационных_данных);
                    break;
                }
                //return RedirectToAction("EditProfileSuccess");
            }
            return(View(User));
        }
Ejemplo n.º 16
0
        public ActionResult Edit(Show show)
        {
            if (ModelState.IsValid)
            {
                //Если не Admin, то поле ALLOWMOD и PAID брать из базы
                if (!IsAdmin)
                {
                    Show sh = ShowManager.GetShow(show.SHOW_ID);
                    if (sh != null)
                    {
                        show.ALLOWMOD = sh.ALLOWMOD;
                        show.PAID     = sh.PAID;
                    }
                }

                SQLReturnResult res = ShowManager.SaveShow(show);
                switch (res.Result)
                {
                case AppEnums.SQLExecResult.Success:
                    UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID,
                                              AppEnums.Event.Сохранить_параметры_заказа,
                                              string.Format("Сохранение параметров заказа № {0}", show.SHOW_ID));
                    //если заказ добавлял админ, то перенаправить в /Admin/UserShows, иначе /User/UserShows
                    if (IsAdmin)
                    {
                        AppUser user = UserManager.GetUser(show.USER_ID);
                        return(RedirectToAction("User", "Show", new { user_login = user.USER_LOGIN }));
                    }
                    TempData["result"] = "Операция прошла успешно!";
                    return(RedirectToAction("User", "Show"));

                case AppEnums.SQLExecResult.SyntaxError:
                    TempData["result"] = "При сохранении данных произошла ошибка!" + res.Message;
                    break;
                }
            }
            return(View(show));
        }
Ejemplo n.º 17
0
        public ActionResult Enter(EnterModel em, string ReturnUrl)
        {
            if (ModelState.IsValid)
            {
                var user = AccountManager.ValidateEnter(Convert.ToString(em.Login), FormsAuthentication.HashPasswordForStoringInConfigFile(Convert.ToString(em.Password), "SHA1"));
                if (user == null)
                {
                    UtilManager.RegisterEvent(0, AppEnums.Event.Неудачная_попытка_входа, string.Format("Попытка входа под логином '{0}' с паролем '{1}'!", em.Login, em.Password));
                    ModelState.AddModelError("Login", "Неверный логин или пароль!");
                }
                else
                {
                    string UserRoles = UserManager.GetUserRole(user.USER_ID);
                    if (AllowedRoles.Intersect(UserRoles.Split(',')).ToArray().Length > 0)
                    {
                        SetAuthTicket(user.USER_LOGIN, em.RememberMe, UserRoles);
                        Session["OPTIONS"] = UserManager.GetUserOptions(user.USER_ID);

                        UtilManager.RegisterEvent(user.USER_ID, AppEnums.Event.Вход, "Пользователь успешно вошел в систему");
                        if (Url.IsLocalUrl(ReturnUrl))
                        {
                            return(Redirect(ReturnUrl));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                    }
                    else
                    {
                        UtilManager.RegisterEvent(user.USER_ID, AppEnums.Event.Попытка_входа_в_ограниченную_зону);
                        return(View("Error", ((object)"У Вас недостаточно прав для входа в систему!")));
                    }
                }
            }
            return(View(em));
        }
Ejemplo n.º 18
0
        public ActionResult Delete(int show_id)
        {
            SQLReturnResult res = ShowManager.DeleteShow(show_id);

            switch (res.Result)
            {
            case AppEnums.SQLExecResult.Success:
                //если заказ добавлял админ, то перенаправить в /Admin/UserShows, иначе /User/UserShows
                UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Удалить_заказ);
                if (IsAdmin)
                {
                    AppUser user = UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name);
                    return(RedirectToAction("User", "Show", new { user_login = user.USER_LOGIN }));
                }
                TempData["result"] = "Заказ успешно удален!";
                break;

            case AppEnums.SQLExecResult.SyntaxError:
                TempData["result"] = "При удалении заказа произошла ошибка!" + res.Message;
                break;
            }

            return(RedirectToAction("User", "Show"));
        }
Ejemplo n.º 19
0
 /// <summary>
 /// Выход из системы
 /// </summary>
 public ActionResult LogOff()
 {
     FormsAuthentication.SignOut();
     UtilManager.RegisterEvent(UserManager.GetUser(System.Web.HttpContext.Current.User.Identity.Name).USER_ID, AppEnums.Event.Выход);
     return(RedirectToAction("Index", "Home"));
 }
Ejemplo n.º 20
0
 public ActionResult ClearMediaTags(string hashtag)
 {
     HashTagManager.ClearMediaTags(_account.USER_ID, hashtag);
     UtilManager.RegisterEvent(_account.USER_ID, AppEnums.Event.Очистить_медиатеги_в_БД, string.Format("Очистка медиатега '{0}'", hashtag));
     return(RedirectToAction("Mod", "User", new { hashtag = hashtag }));
 }
Ejemplo n.º 21
0
        public ActionResult Options(UserOptions opts, HttpPostedFileBase bg_img, HttpPostedFileBase lg_img)
        {
            if (bg_img != null)
            {
                string ext = Path.GetExtension(bg_img.FileName);
                if (AppConst.AllowedImageFileFormats.Contains(ext))
                {
                    string bg_img_url = string.Format("~/Content/img/{0}_bg_img{1}", _account.USER_LOGIN, ext);
                    string SaveToFile = Server.MapPath(string.Format("~/Content/img/{0}_bg_img{1}", _account.USER_LOGIN, ext));
                    System.IO.File.Delete(SaveToFile);
                    bg_img.SaveAs(SaveToFile);
                    opts.USER_BACKGROUND_IMG_URL = bg_img_url;
                }
                else
                {
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Данный формат файла фонового рисунка не поддерживается!"
                    };
                    return(View(opts));
                }
            }

            if (lg_img != null)
            {
                string ext = Path.GetExtension(lg_img.FileName);
                if (AppConst.AllowedImageFileFormats.Contains(ext))
                {
                    string lg_img_url = string.Format("~/Content/img/{0}_lg_img{1}", _account.USER_LOGIN, ext);
                    string SaveToFile = Server.MapPath(string.Format("~/Content/img/{0}_lg_img{1}", _account.USER_LOGIN, ext));
                    System.IO.File.Delete(SaveToFile);
                    lg_img.SaveAs(SaveToFile);
                    opts.USER_LOGO_IMG_URL = lg_img_url;
                }
                else
                {
                    TempData["result"] = new OperationResult()
                    {
                        Status = AppEnums.OperationStatus.Error, Message = "Данный формат файла логотипа не поддерживается!"
                    };
                    return(View(opts));
                }
            }

            var res = UserManager.SaveUserOptions(opts);

            switch (res.Result)
            {
            case AppEnums.SQLExecResult.RollBack:
                TempData["result"] = new OperationResult()
                {
                    Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Откат транзакции!"
                };
                break;

            case AppEnums.SQLExecResult.SyntaxError:
                TempData["result"] = new OperationResult()
                {
                    Status = AppEnums.OperationStatus.Error, Message = "Ошибка! Синтаксическая ошибка!"
                };
                break;

            default:
                TempData["result"] = new OperationResult()
                {
                    Status = AppEnums.OperationStatus.Success, Message = "Настройки успешно сохранены!"
                };
                UtilManager.RegisterEvent(_account.USER_ID, AppEnums.Event.Сохранить_параметры_трансляции);
                break;
            }

            return(View(UserManager.GetUserOptions(_account.USER_ID)));
        }