public ActionResult Login(LoginUserModel model, string ReturnUrl)
        {
            Users_BLL bll = new Users_BLL();

            if (bll.CheckExist(model.UserName, model.PassWord))
            {
                FormsAuthentication.SetAuthCookie(model.UserName, false);
                //if (((Url.IsLocalUrl(returnUrl) && (returnUrl.Length > 1))&& (returnUrl.StartsWith("/") && !returnUrl.StartsWith("//"))) && !returnUrl.StartsWith(@"/\"))
                if (!string.IsNullOrEmpty(ReturnUrl))
                {
                    return(Redirect(ReturnUrl));
                }
                else
                {
                    //return RedirectToAction("Index", "Home");
                    string url = Url.Content(Request.UrlReferrer.AbsoluteUri);


                    string action = url.Substring(url.LastIndexOf("/") + 1, url.Length - url.LastIndexOf("/") - 1);
                    if (action == "Login" || action == "login")
                    {
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        return(Redirect(Url.Content(Request.UrlReferrer.AbsoluteUri)));
                    }
                }
                //  return RedirectToAction("Index", "Home");
            }
            ModelState.AddModelError("", "用户名或密码错误,请重新输入!");
            return(View(model));
        }
        public ActionResult MyList()
        {
            Users user = new Users_BLL().GetCurrentUser();

            if (user.Users_Role.RoleName != "普通用户")
            {
                OfficialAccount_BLL    bll        = new OfficialAccount_BLL();
                List <OfficialAccount> sourselist = bll.GetList().ToList();
                AutoMapper.Mapper.CreateMap <OfficialAccount, OfficialAccount_ViewModel>()
                .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.Users.UserName));
                List <OfficialAccount_ViewModel> list =
                    AutoMapper.Mapper.Map <List <OfficialAccount_ViewModel> >(sourselist);

                ViewBag.IsAdmin = true;
                return(View(list));
            }
            else
            {
                OfficialAccount_BLL    bll        = new OfficialAccount_BLL();
                List <OfficialAccount> sourselist = bll.GetList(a => a.UserID == user.UserID).ToList();
                AutoMapper.Mapper.CreateMap <OfficialAccount, OfficialAccount_ViewModel>()
                .ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.Users.UserName));
                List <OfficialAccount_ViewModel> list =
                    AutoMapper.Mapper.Map <List <OfficialAccount_ViewModel> >(sourselist);
                ViewBag.IsAdmin = false;

                return(View(list));
            }
        }
        public Users_Role GetUserRole(string userName)
        {
            Users_BLL  ubll      = new Users_BLL();
            Users_Role user_role = ubll.Get(a => a.UserName == userName).Users_Role;

            return(user_role);
        }
        // GET: Admin/Goods
        public ActionResult Add()
        {
            if (Session["CurrentAccountID"] == null)
            {
                return(RedirectToAction("Select", "OfficialAccount", new { Area = "Admin" }));
            }
            Guid accountid = Guid.Parse(Session["CurrentAccountID"].ToString());

            Goods_SendWay_BLL sendbll = new Goods_SendWay_BLL();

            ViewBag.SendWaysList = new SelectList(sendbll.GetList().OrderBy(a => a.SendWayOrder), "SendWayID", "SendWayName");
            Goods_Category_BLL categorybll = new Goods_Category_BLL();

            ViewBag.GoodsCategorysList = new SelectList(categorybll.GetList().OrderBy(a => a.CategoryOrder), "CategoryID", "CategoryName");


            Users user = new Users_BLL().GetCurrentUser();



            Goods_ViewModel model = new Goods_ViewModel();

            model.AccountID = accountid;
            return(View(model));
        }
        public ActionResult Add(Goods_ViewModel model)
        {
            Users user = new Users_BLL().GetCurrentUser();

            model.GoodID = Guid.NewGuid();
            model.UserID = user.UserID;


            model.IsSelling = true;


            model.CreateTime = DateTime.Now;

            if (Request.Files.Count > 0)
            {
                HttpPostedFileBase filebase = Request.Files[0] as HttpPostedFileBase;



                if (filebase.ContentLength > 0)
                {
                    byte[] buffer = new byte[filebase.ContentLength];
                    filebase.InputStream.Read(buffer, 0, filebase.ContentLength);

                    Stream stream = new MemoryStream(buffer);


                    string key = "goods/thumbnail/" + Guid.NewGuid().ToString() + Path.GetExtension(filebase.FileName);
                    if (QiNiuHelper.PutFile(ConfigurationManager.AppSettings["QiNiuBucket"], key, stream))
                    {
                        model.Image = key;
                    }
                }
            }

            AutoMapper.Mapper.CreateMap <Goods_ViewModel, Goods>();
            Goods     newmodel = AutoMapper.Mapper.Map <Goods>(model);
            Goods_BLL bll      = new Goods_BLL();

            if (bll.Add(newmodel) > 0)
            {
                return(RedirectToAction("Add"));
            }
            else
            {
                ModelState.AddModelError("", "添加失败,请稍后再试!");

                Goods_SendWay_BLL sendbll = new Goods_SendWay_BLL();
                ViewBag.SendWaysList = new SelectList(sendbll.GetList().OrderBy(a => a.SendWayOrder), "SendWayID", "SendWayName");
                Goods_Category_BLL categorybll = new Goods_Category_BLL();
                ViewBag.GoodsCategorysList = new SelectList(categorybll.GetList().OrderBy(a => a.CategoryOrder), "CategoryID", "CategoryName");



                return(View(model));
            }
        }
        public ActionResult CheckUser(string UserName)
        {
            Users_BLL bll = new Users_BLL();

            if (bll.CheckExist(UserName))
            {
                bool result = false;
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            else
            {
                bool result = true;
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult Select()
        {
            Users user = new Users_BLL().GetCurrentUser();
            OfficialAccount_BLL    bll  = new OfficialAccount_BLL();
            List <OfficialAccount> list = new List <OfficialAccount>();

            if (user.Users_Role.RoleName != "普通用户")
            {
                list = bll.GetList()
                       .OrderByDescending(a => a.CreateTime)
                       .ToList();
            }
            else
            {
                list = bll.GetList(a => a.UserID == user.UserID)
                       .OrderByDescending(a => a.CreateTime)
                       .ToList();
            }

            return(View(list));
        }
        public PartialViewResult _OrderMenu()
        {
            Users user = new Users_BLL().GetCurrentUser();
            OfficialAccount_BLL    bll  = new OfficialAccount_BLL();
            List <OfficialAccount> list = new List <OfficialAccount>();

            if (user.Users_Role.RoleName != "普通用户")
            {
                list = bll.GetList(a => a.IsConfigure == true)
                       .OrderByDescending(a => a.CreateTime)
                       .ToList();
            }
            else
            {
                list = bll.GetList(a => a.UserID == user.UserID && a.IsConfigure == true)
                       .OrderByDescending(a => a.CreateTime)
                       .ToList();
            }

            return(PartialView(list));
        }
        public ActionResult Register(RegisterUserModel model)
        {
            Users_BLL bll  = new Users_BLL();
            Users     user = new Users();

            user.UserID   = Guid.NewGuid();
            user.UserName = model.UserName;

            user.PassWord = SecurityHelper.MD5(model.PassWord);

            user.CreateTime = DateTime.Now;

            Users_Role_BLL urbll = new Users_Role_BLL();
            Users_Role     ur    = urbll.Get(a => a.RoleName == "普通用户");

            user.RoleID = ur.RoleID;
            if (bll.Add(user) > 0)
            {
                FormsAuthentication.SetAuthCookie(model.UserName, false);
                return(RedirectToAction("Index", "Home"));
            }
            ModelState.AddModelError("", "注册失败,请重新输入!");
            return(View(model));
        }
        public ActionResult Add(OfficialAccount_BaseInfo_ViewModel model)
        {
            AutoMapper.Mapper.CreateMap <OfficialAccount_BaseInfo_ViewModel, OfficialAccount>();
            OfficialAccount newmodel = AutoMapper.Mapper.Map <OfficialAccount>(model);

            newmodel.AccountID  = Guid.NewGuid();
            newmodel.CreateTime = DateTime.Now;
            Users user = new Users_BLL().GetCurrentUser();

            newmodel.UserID      = user.UserID;
            newmodel.IsConfigure = false;

            OfficialAccount_BLL bll = new OfficialAccount_BLL();

            if (bll.Add(newmodel) > 0)
            {
                return(RedirectToAction("Select"));
            }
            else
            {
                ModelState.AddModelError("", "添加失败,请稍后再试!");
                return(View(model));
            }
        }