//Get looks for homepage public static List <Look> GetLooksFromSqlReader(SqlDataReader dr) { List <Look> looks = new List <Look>(); do { Look look = Look.GetLookFromSqlReader(dr); looks.Add(look); } while (dr.NextResult()); return(looks); }
public static Look SaveLook(string db, string productMap, long userId, string tagMap, string title, long originalLookId = 0, long editLookId = 0, bool isFeaturedStylist = false) { Look look = new Look(); string query = "EXEC [stp_SS_SaveLook] @product='" + productMap + "', @uid=" + userId + ",@tag='" + tagMap.Replace("'", "''") + "', @title=N'" + title.Replace("'", "''") + "'"; if (originalLookId != 0) { query += (", @originalLook=" + originalLookId); } if (editLookId != 0) { query += (", @editLookId=" + editLookId); } if (isFeaturedStylist) { query += (", @isFeaturedStylist=" + 1); } SqlConnection myConnection = new SqlConnection(db); try { myConnection.Open(); using (SqlDataAdapter adp = new SqlDataAdapter(query, myConnection)) { SqlCommand cmd = adp.SelectCommand; cmd.CommandTimeout = 300000; System.Data.SqlClient.SqlDataReader dr = cmd.ExecuteReader(); look = Look.GetLookFromSqlReader(dr); } } finally { myConnection.Close(); } return(look); }
public static Dictionary <string, object> GetTagMetaInfo(long userId, long tagId, int noOfLooks, int noOfItems, int noOfStylists, string db) { Dictionary <string, object> metaInfo = new Dictionary <string, object>(); string query = "EXEC [stp_SS_GetTagMetaInfo] @tagId=" + tagId + ",@userId=" + userId + ",@noOfLooks=" + noOfLooks + ",@noOfItems=" + noOfItems + ",@noOfStylists=" + noOfStylists; SqlConnection myConnection = new SqlConnection(db); try { myConnection.Open(); using (SqlDataAdapter adp = new SqlDataAdapter(query, myConnection)) { SqlCommand cmd = adp.SelectCommand; cmd.CommandTimeout = 300000; System.Data.SqlClient.SqlDataReader dr = cmd.ExecuteReader(); //Get popular looks List <Look> popularLooks = new List <Look>(); int counter = 0; int countLooks = 0; while (dr.Read()) { countLooks = int.Parse(dr["total"].ToString()); } dr.NextResult(); do { Look look = Look.GetLookFromSqlReader(dr); popularLooks.Add(look); counter++; if (counter >= noOfLooks || counter >= countLooks) { break; } } while (dr.NextResult()); metaInfo.Add("Popular Looks", popularLooks); /*Get fresh looks * List<Look> recentLooks = new List<Look>(); * dr.NextResult(); * counter = 0; countLooks = 0; * while (dr.Read()) * { * countLooks = int.Parse(dr["total"].ToString()); * } * dr.NextResult(); * do * { * Look look = Look.GetLookFromSqlReader(dr); * recentLooks.Add(look); * counter++; * if (counter >= noOfLooks || counter >= countLooks) * break; * } while (dr.NextResult()); * metaInfo.Add("Recent Looks", recentLooks);*/ //Get top stylists List <UserProfile> stylists = new List <UserProfile>(); dr.NextResult(); while (dr.Read()) { UserProfile user = UserProfile.GetUserFromSqlReader(dr); stylists.Add(user); } metaInfo.Add("Top Stylists", stylists); /*Get top products * List<Product> topItems = new List<Product>(); * dr.NextResult(); * * while (dr.Read()) * { * topItems.Add(Product.GetProductFromSqlDataReader(dr)); * } * metaInfo.Add("Top Items", topItems);*/ dr.NextResult(); Tag tag = new Tag(); while (dr.Read()) { tag = Tag.GetTagFromSqlReader(dr); } metaInfo.Add("Tag", tag); } } finally { myConnection.Close(); } return(metaInfo); }