Exemple #1
0
 public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
 {
     context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
     using (MiniBlog db = new MiniBlog())
     {
         GenericRepository <User> _user = new GenericRepository <User>(db);
         User user = _user.Search(c => c.Email == context.UserName && c.Password == context.Password).FirstOrDefault();
         if (user == null)
         {
             context.SetError("invalid_grant", "The user name or password is incorrect.");
             return;
         }
         else
         {
             var identity = new ClaimsIdentity(context.Options.AuthenticationType);
             identity.AddClaim(new Claim("sub", context.UserName));
             identity.AddClaim(new Claim("role", "user"));
             context.Validated(identity);
             //string[] role = new string[1] { "user" };
             //GenericPrincipal MyPrincipal = new GenericPrincipal(identity, role);
             //IPrincipal Identity = (IPrincipal)MyPrincipal;
             //HttpContext.Current.User.Identity.Name = identity.Name;
         }
     }
 }
        public ActionResult details(Models.DetailsModel model)
        {
            model.CurUser       = CurrentUser;
            model.CurUserConfig = CurrentUserConfig;
            if (string.IsNullOrEmpty(model.IDCode))
            {
                throw new Exception("微博不存在");
            }
            MiniBlog miniBlog = MiniBlogs.GetMiniBlogByIDCode(model.IDCode);

            if (miniBlog != null)
            {
                if (miniBlog.UID != CurrentUser.ID)
                {
                    model.OtherUser       = Users.GetUserByID(miniBlog.UID);
                    model.OtherUserConfig = Users.GetUserConfigByID(miniBlog.UID);
                    if (model.OtherUserConfig.IsThemeDIY == 1)
                    {
                        model.OtherSkinCss = "/DiyCss/" + model.OtherUser.ID;
                    }

                    else
                    {
                        Theme t = Themes.GetThemeByID(model.OtherUserConfig.ThemeID);
                        if (t != null)
                        {
                            model.OtherSkinCss = t.CssUrl;
                        }
                    }
                }
                else
                {
                    if (model.CurUserConfig.IsThemeDIY == 1)
                    {
                        model.CurSkinCss = "/DiyCss/" + model.CurUser.ID;
                    }

                    else
                    {
                        Theme t = Themes.GetThemeByID(model.CurUserConfig.ThemeID);
                        if (t != null)
                        {
                            model.CurSkinCss = t.CssUrl;
                        }
                    }
                }
                model.MiniBlog = miniBlog;



                return(View(model));
            }
            else
            {
                throw new Exception("微博不存在");
            }
        }
Exemple #3
0
 public static long CreateQuoteMiniBlog(User user, string oriMid, string quoMid, string content, string picID, int fromID)
 {
     try
     {
         MiniBlog oriMiniblog = MiniBlogs.GetMiniBlogByID(Convert.ToInt64(oriMid));
         if (oriMiniblog != null)
         {
             string   originalCon = content;
             string   realCon     = TransformToBBCode(content);
             string   atStr       = GetAtStr(realCon);
             MiniBlog miniblog    = new MiniBlog();
             string   idCode      = "";
             miniblog.ID     = Data.DbGenerateID.GenerateID(ref idCode);
             miniblog.IDCode = idCode;
             if (!atStr.Contains("a" + oriMiniblog.UID.ToString() + "a,"))
             {
                 atStr += "a" + oriMiniblog.UID.ToString() + "a,";
             }
             string[] oriAtArray = oriMiniblog.ReferUID.Split(',');
             for (int i = 0; i < oriAtArray.Length - 1; i++)
             {
                 if (!atStr.Contains(oriAtArray[i]))
                 {
                     atStr += oriAtArray[i] + ",";
                 }
             }
             Users.AtMeTip(atStr, user.ID, -1);
             miniblog.ReferUID        = atStr;
             miniblog.OriginalContent = originalCon;
             miniblog.RealContent     = realCon;
             miniblog.UID             = user.ID;
             miniblog.IsOriginal      = 0;
             miniblog.IsHaveVote      = oriMiniblog.IsHaveVote;
             miniblog.IsHaveVideo     = oriMiniblog.IsHaveVideo;
             miniblog.IsHavePic       = oriMiniblog.IsHavePic;
             miniblog.IsHaveMusic     = oriMiniblog.IsHaveMusic;
             miniblog.IsHaveLink      = oriMiniblog.IsHaveLink;
             miniblog.FromID          = fromID;
             Froms.UpdateFromForFromCount(fromID);
             miniblog.MediaContent     = "";
             miniblog.OriginalMID      = Convert.ToInt64(oriMid);
             miniblog.QuoteMID         = Convert.ToInt64(quoMid);
             miniblog.OriginalMContent = oriMiniblog.OriginalContent;
             MiniBlogs.CreateQuoteMiniBlog(miniblog);
             return(miniblog.ID);
         }
         else
         {
             return(-1);
         }
     }
     catch (Exception ex)
     {
         Logs.WriteErrorLog(ex);
         return(-1);
     }
 }
Exemple #4
0
        public long CreateQuoteMiniBlog(MiniBlog miniBlog)
        {
            SqlConnection conn = new SqlConnection(DbHelper.ConnectionString);

            conn.Open();
            long result = -1;

            using (SqlTransaction trans = conn.BeginTransaction())
            {
                try
                {
                    DbParameter[] parms =
                    {
                        DbHelper.MakeInParam("@ID",               (DbType)SqlDbType.BigInt,    8, miniBlog.ID),
                        DbHelper.MakeInParam("@IDCode",           (DbType)SqlDbType.VarChar,  30, miniBlog.IDCode),
                        DbHelper.MakeInParam("@OriginalContent",  (DbType)SqlDbType.NText,     0, miniBlog.OriginalContent),
                        DbHelper.MakeInParam("@MediaContent",     (DbType)SqlDbType.NText,     0, miniBlog.MediaContent),
                        DbHelper.MakeInParam("@RealContent",      (DbType)SqlDbType.NText,     0, miniBlog.RealContent),
                        DbHelper.MakeInParam("@PicID",            (DbType)SqlDbType.BigInt,    8, miniBlog.PicID),
                        DbHelper.MakeInParam("@UID",              (DbType)SqlDbType.BigInt,    8, miniBlog.UID),
                        DbHelper.MakeInParam("@OriginalMID",      (DbType)SqlDbType.BigInt,    8, miniBlog.OriginalMID),
                        DbHelper.MakeInParam("@OriginalMContent", (DbType)SqlDbType.NText,     0, miniBlog.OriginalMContent),
                        DbHelper.MakeInParam("@QuoteMID",         (DbType)SqlDbType.BigInt,    8, miniBlog.QuoteMID),
                        DbHelper.MakeInParam("@IsOriginal",       (DbType)SqlDbType.Int,       4, miniBlog.IsOriginal),
                        DbHelper.MakeInParam("@IsHavePic",        (DbType)SqlDbType.Int,       4, miniBlog.IsHavePic),
                        DbHelper.MakeInParam("@IsHaveLink",       (DbType)SqlDbType.Int,       4, miniBlog.IsHaveLink),
                        DbHelper.MakeInParam("@IsHaveVideo",      (DbType)SqlDbType.Int,       4, miniBlog.IsHaveVideo),
                        DbHelper.MakeInParam("@IsHaveMusic",      (DbType)SqlDbType.Int,       4, miniBlog.IsHaveMusic),
                        DbHelper.MakeInParam("@IsHaveVote",       (DbType)SqlDbType.Int,       4, miniBlog.IsHaveVote),
                        DbHelper.MakeInParam("@FromID",           (DbType)SqlDbType.Int,       4, miniBlog.FromID),
                        DbHelper.MakeInParam("@ReferUID",         (DbType)SqlDbType.VarChar, 200, miniBlog.ReferUID)
                    };
                    result = TypeConverter.ObjectToLong(DbHelper.ExecuteScalar(trans, CommandType.StoredProcedure, "CreateQuoteMiniBlog", parms), -1);
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw ex;
                }
            }

            conn.Close();
            return(result);
        }
Exemple #5
0
 public static long CreateQuoteMiniBlog(MiniBlog miniBlog)
 {
     try
     {
         if (miniBlog != null)
         {
             return(Data.MiniBlogs.CreateQuoteMiniBlog(miniBlog));
         }
         else
         {
             return(-1);
         }
     }
     catch (Exception ex)
     {
         Logs.WriteErrorLog(ex);
         return(-1);
     }
 }
Exemple #6
0
 public static long CreateOriginalMiniBlog(User user, string content, string picID, int fromID)
 {
     try
     {
         string   originalCon = content;
         string   realCon     = TransformToBBCode(content);
         string   atStr       = GetAtStr(realCon);
         MiniBlog miniblog    = new MiniBlog();
         string   idCode      = "";
         miniblog.ID     = Data.DbGenerateID.GenerateID(ref idCode);
         miniblog.IDCode = idCode;
         Users.AtMeTip(atStr, user.ID, 1);
         miniblog.ReferUID        = atStr;
         miniblog.OriginalContent = originalCon;
         miniblog.RealContent     = realCon;
         miniblog.PicID           = Convert.ToInt64(picID);
         miniblog.UID             = user.ID;
         miniblog.IsOriginal      = 1;
         miniblog.IsHaveVote      = new Regex(@"\[url\sc='[0-9a-zA-Z]+'\st='vote'\sm='[0-9\-]+'\so='[~#\+\\\'\?\,\=\:/a-zA-Z0-9\.&%\$\-_]+'\]").IsMatch(realCon) ? 1 : 0;
         miniblog.IsHaveVideo     = new Regex(@"\[url\sc='[0-9a-zA-Z]+'\st='video'\sm='[0-9\-]+'\so='[~#\+\\\'\?\,\=\:/a-zA-Z0-9\.&%\$\-_]+'\]").IsMatch(realCon) ? 1 : 0;
         miniblog.IsHavePic       = picID == "-1" ? 0 : 1;
         miniblog.IsHaveMusic     = new Regex(@"\[url\sc='[0-9a-zA-Z]+'\st='music'\sm='[0-9\-]+'\so='[~#\+\\\'\?\,\=\:/a-zA-Z0-9\.&%\$\-_]+'\]").IsMatch(realCon) ? 1 : 0;
         miniblog.IsHaveLink      = new Regex(@"\[url\sc='[0-9a-zA-Z]+'\st='normal'\sm='[0-9\-]+'\so='[~#\+\\\'\?\,\=\:/a-zA-Z0-9\.&%\$\-_]+'\]").IsMatch(realCon) ? 1 : 0;
         miniblog.FromID          = fromID;
         Froms.UpdateFromForFromCount(fromID);
         miniblog.MediaContent     = GetMediaContent(picID, realCon);
         miniblog.OriginalMID      = -1;
         miniblog.QuoteMID         = -1;
         miniblog.OriginalMContent = "";
         MiniBlogs.CreateMiniBlog(miniblog);
         return(miniblog.ID);
     }
     catch (Exception ex)
     {
         Logs.WriteErrorLog(ex);
         return(-1);
     }
 }
Exemple #7
0
 public UnitOfWork(MiniBlog _db)
 {
     db = _db;
 }
Exemple #8
0
 public static long CreateQuoteMiniBlog(MiniBlog miniBlog)
 {
     return(DatabaseProvider.GetInstance().CreateQuoteMiniBlog(miniBlog));
 }
Exemple #9
0
 public GenericRepository(MiniBlog _db)
 {
     db = _db;
 }