public static int SaveWeiXinCard(WeixinCardModel model) { using (var dbhelper = new SqlDbHelper(ConnectionHelper.GetDecryptConn("ThirdParty"))) { var cmd = new SqlCommand(@"INSERT INTO [dbo].[WeiXinCard]([supplierId] ,[card_id] ,[card_type] ,[deal_detail] ,[least_cost] ,[reduce_cost] ,[discount] ,[gift] ,[default_detail] ,[color] ,[title] ,[notice] ,[description] ,[quantity] ,[type] ,[begin_time] ,[end_time] ,[begin_timestamp] ,[end_timestamp] ,[fixed_term] ,[fixed_begin_term] ,[center_title] ,[center_sub_title] ,[center_url] ,[custom_url_name] ,[custom_url_sub_title] ,[custom_url] ,[promotion_url_name] ,[promotion_url_sub_title] ,[promotion_url] ,[service_phone] ,[get_limit] ,[use_limit] ,[can_share] ,[can_give_friend] ,[use_all_locations] ,[location_id_list] ,[source] ,[use_custom_code] ,[get_custom_code_mode] ,[bind_openid] ,[LastUpdateDate], [accept_category], reject_category, object_use_for, use_condition_least_cost, can_use_with_other_discount, abstract, icon_url_list, text_image_list) VALUES(@supplierId,@card_id,@card_type,@deal_detail,@least_cost,@reduce_cost,@discount,@gift,@default_detail,@color,@title,@notice,@description,@quantity,@type,@begin_time,@end_time,@begin_timestamp,@end_timestamp,@fixed_term, @fixed_begin_term,@center_title,@center_sub_title,@center_url,@custom_url_name,@custom_url_sub_title,@custom_url,@promotion_url_name, @promotion_url_sub_title,@promotion_url,@service_phone,@get_limit,@use_limit,@can_share,@can_give_friend,@use_all_locations,@location_id_list,@source,@use_custom_code,@get_custom_code_mode,@bind_openid,@LastUpdateDate,@accept_category,@reject_category,@object_use_for,@use_condition_least_cost,@can_use_with_other_discount,@abstract,@icon_url_list,@text_image_list) "); cmd.CommandType = CommandType.Text; WeixinCardBaseInfo weixinCardbaseinfo = model.total_info.base_info; WeixinCardAdvancedInfo weixinCardadvancedinfo = model.total_info.advanced_info; cmd.Parameters.AddWithValue("@supplierId", weixinCardbaseinfo.supplierId); cmd.Parameters.AddWithValue("@card_id", model.card_id); cmd.Parameters.AddWithValue("@card_type", model.card_type); cmd.Parameters.AddWithValue("@deal_detail", model.total_info.deal_detail); cmd.Parameters.AddWithValue("@least_cost", model.total_info.least_cost); cmd.Parameters.AddWithValue("@reduce_cost", model.total_info.reduce_cost); cmd.Parameters.AddWithValue("@discount", model.total_info.discount); cmd.Parameters.AddWithValue("@gift", model.total_info.gift); //@default_detail,@color,@title,@notice,@description,@quantity,@type,@begin_timestamp,@end_timestamp,@fixed_term, cmd.Parameters.AddWithValue("@default_detail", model.total_info.default_detail); cmd.Parameters.AddWithValue("@color", weixinCardbaseinfo.color); cmd.Parameters.AddWithValue("@title", weixinCardbaseinfo.title); cmd.Parameters.AddWithValue("@notice", weixinCardbaseinfo.notice); cmd.Parameters.AddWithValue("@description", weixinCardbaseinfo.description); cmd.Parameters.AddWithValue("@quantity", 0); cmd.Parameters.AddWithValue("@type", weixinCardbaseinfo.date_info.type); cmd.Parameters.AddWithValue("@begin_time", weixinCardbaseinfo.date_info.begin_time); cmd.Parameters.AddWithValue("@end_time", weixinCardbaseinfo.date_info.end_time); cmd.Parameters.AddWithValue("@begin_timestamp", (int)weixinCardbaseinfo.date_info.begin_timestamp); cmd.Parameters.AddWithValue("@end_timestamp", (int)weixinCardbaseinfo.date_info.end_timestamp); cmd.Parameters.AddWithValue("@fixed_term", weixinCardbaseinfo.date_info.fixed_term); //@fixed_begin_term,@center_title,@center_sub_title,@center_url,@custom_url_name,@custom_url_sub_title,@custom_url,@promotion_url_name, //@promotion_url_sub_title,@promotion_url,@service_phone,@get_limit cmd.Parameters.AddWithValue("@fixed_begin_term", weixinCardbaseinfo.date_info.fixed_begin_term); cmd.Parameters.AddWithValue("@center_title", weixinCardbaseinfo.center_title); cmd.Parameters.AddWithValue("@center_sub_title", weixinCardbaseinfo.center_sub_title); cmd.Parameters.AddWithValue("@center_url", weixinCardbaseinfo.center_url); cmd.Parameters.AddWithValue("@custom_url_name", weixinCardbaseinfo.custom_url_name); cmd.Parameters.AddWithValue("@custom_url_sub_title", weixinCardbaseinfo.custom_url_sub_title); cmd.Parameters.AddWithValue("@custom_url", weixinCardbaseinfo.custom_url); cmd.Parameters.AddWithValue("@promotion_url_name", weixinCardbaseinfo.promotion_url_name); cmd.Parameters.AddWithValue("@promotion_url_sub_title", weixinCardbaseinfo.promotion_url_sub_title); cmd.Parameters.AddWithValue("@promotion_url", weixinCardbaseinfo.promotion_url); cmd.Parameters.AddWithValue("@service_phone", weixinCardbaseinfo.service_phone); //@use_limit,@can_share,@can_give_friend,@use_all_locations,@location_id_list,@source,@use_custom_code,@get_custom_code_mode,@bind_openid,@LastUpdateDate cmd.Parameters.AddWithValue("@get_limit", weixinCardbaseinfo.get_limit); cmd.Parameters.AddWithValue("@use_limit", weixinCardbaseinfo.use_limit); cmd.Parameters.AddWithValue("@can_share", weixinCardbaseinfo.can_share); cmd.Parameters.AddWithValue("@can_give_friend", weixinCardbaseinfo.can_give_friend); cmd.Parameters.AddWithValue("@use_all_locations", weixinCardbaseinfo.use_all_locations); cmd.Parameters.AddWithValue("@location_id_list", weixinCardbaseinfo.location_id_list); cmd.Parameters.AddWithValue("@source", weixinCardbaseinfo.source); cmd.Parameters.AddWithValue("@use_custom_code", weixinCardbaseinfo.use_custom_code); cmd.Parameters.AddWithValue("@get_custom_code_mode", weixinCardbaseinfo.get_custom_code_mode); cmd.Parameters.AddWithValue("@bind_openid", weixinCardbaseinfo.bind_openid); cmd.Parameters.AddWithValue("@LastUpdateDate", DateTime.Now); //cmd.Parameters.AddWithValue("@use_all_locations", weixinCardbaseinfo.use_all_locations); //cmd.Parameters.AddWithValue("@location_id_list", weixinCardbaseinfo.location_id_list); //cmd.Parameters.AddWithValue("@source", weixinCardbaseinfo.source); cmd.Parameters.AddWithValue("@accept_category", weixinCardadvancedinfo.use_condition.accept_category); cmd.Parameters.AddWithValue("@reject_category", weixinCardadvancedinfo.use_condition.reject_category); cmd.Parameters.AddWithValue("@object_use_for", weixinCardadvancedinfo.use_condition.object_use_for); cmd.Parameters.AddWithValue("@use_condition_least_cost", weixinCardadvancedinfo.use_condition.least_cost); cmd.Parameters.AddWithValue("@can_use_with_other_discount", weixinCardadvancedinfo.use_condition.can_use_with_other_discount); cmd.Parameters.AddWithValue("@abstract", weixinCardadvancedinfo.abstractinfo.abstractstr); cmd.Parameters.AddWithValue("@icon_url_list", weixinCardadvancedinfo.abstractinfo.icon_url_list?.Count() > 0?string.Join(";", weixinCardadvancedinfo.abstractinfo.icon_url_list):string.Empty); cmd.Parameters.AddWithValue("@text_image_list", weixinCardadvancedinfo.text_image_list?.Count() > 0?JsonConvert.SerializeObject(weixinCardadvancedinfo.text_image_list):string.Empty); return(Convert.ToInt32(dbhelper.ExecuteNonQuery(cmd))); } }
public static List <WeixinCardModel> GetWeixinCardModelList(int pkid = -1) { List <WeixinCardModel> list = new List <WeixinCardModel>(); var dt = DALWeiXinCard.GetWeiXinCardList(pkid); try { if (dt != null && dt.Rows != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { var dateinfo = new DateInfo() { begin_time = Convert.IsDBNull(row["begin_time"]) ? new DateTime(1970, 1, 1) : Convert.ToDateTime(row["begin_time"]), end_time = Convert.IsDBNull(row["end_time"]) ? new DateTime(1970, 1, 1) : Convert.ToDateTime(row["end_time"]), begin_timestamp = Convert.IsDBNull(row["begin_timestamp"]) ? null : (ulong?)Convert.ToUInt64(row["begin_timestamp"]), end_timestamp = Convert.IsDBNull(row["end_timestamp"]) ? null : (ulong?)Convert.ToUInt64(row["end_timestamp"]), fixed_begin_term = Convert.IsDBNull(row["fixed_begin_term"]) ? null : (Int32?)Convert.ToInt32(row["fixed_begin_term"]), fixed_term = Convert.IsDBNull(row["fixed_term"]) ? null : (Int32?)Convert.ToInt32(row["fixed_term"]), // type=(TimeType)Enum.Parse(typeof(TimeType),row["type"].ToString()) type = Convert.IsDBNull(row["type"]) ? null : row["type"].ToString() }; var skuobj = new SKUQuantity() { quantity = Convert.IsDBNull(row["quantity"]) ? null : (Int32?)Convert.ToInt32(row["quantity"]) }; var baseinfo = new WeixinCardBaseInfo() { title = Convert.IsDBNull(row["title"]) ? null : row["title"].ToString(), colorid = Convert.IsDBNull(row["color"]) ? 1 : Colors.Where(q => q.ColorValue == row["color"].ToString()).FirstOrDefault() != null?Colors.Where(q => q.ColorValue == row["color"].ToString()).First().ColorIndex : 2, notice = Convert.IsDBNull(row["notice"]) ? null : row["notice"].ToString(), description = Convert.IsDBNull(row["description"]) ? null : row["description"].ToString(), supplierId = Convert.IsDBNull(row["supplierId"]) ? 1 : (Int32?)Convert.ToInt32(row["supplierId"]), center_title = Convert.IsDBNull(row["center_title"]) ? null : row["center_title"].ToString(), center_sub_title = Convert.IsDBNull(row["center_sub_title"]) ? null : row["center_sub_title"].ToString(), center_url = Convert.IsDBNull(row["center_url"]) ? null : row["center_url"].ToString(), custom_url = Convert.IsDBNull(row["custom_url"]) ? null : row["custom_url"].ToString(), custom_url_name = Convert.IsDBNull(row["custom_url_name"]) ? null : row["custom_url_name"].ToString(), custom_url_sub_title = Convert.IsDBNull(row["custom_url_sub_title"]) ? null : row["custom_url_sub_title"].ToString(), promotion_url = Convert.IsDBNull(row["promotion_url"]) ? null : row["promotion_url"].ToString(), promotion_url_name = Convert.IsDBNull(row["promotion_url_name"]) ? null : row["promotion_url_name"].ToString(), promotion_url_sub_title = Convert.IsDBNull(row["promotion_url_sub_title"]) ? null : row["promotion_url_sub_title"].ToString(), service_phone = Convert.IsDBNull(row["service_phone"]) ? null : row["service_phone"].ToString(), get_limit = Convert.IsDBNull(row["get_limit"]) ? null : (Int32?)Convert.ToInt32(row["get_limit"]), use_limit = Convert.IsDBNull(row["use_limit"]) ? null : (Int32?)Convert.ToInt32(row["use_limit"]), can_share = Convert.IsDBNull(row["can_share"]) ? false : Convert.ToBoolean(row["can_share"]), can_give_friend = Convert.IsDBNull(row["can_give_friend"]) ? false : Convert.ToBoolean(row["can_give_friend"]), use_all_locations = Convert.IsDBNull(row["use_all_locations"]) ? false : Convert.ToBoolean(row["use_all_locations"]), // location_id_list= row["location_id_list"].ToString(), source = Convert.IsDBNull(row["source"]) ? null : row["source"].ToString(), use_custom_code = Convert.IsDBNull(row["use_custom_code"]) ? false : Convert.ToBoolean(row["use_custom_code"]), get_custom_code_mode = Convert.IsDBNull(row["get_custom_code_mode"]) ? null : row["get_custom_code_mode"].ToString(), bind_openid = Convert.IsDBNull(row["bind_openid"]) ? false : Convert.ToBoolean(row["bind_openid"]), sku = skuobj, date_info = dateinfo }; var usecondition = new ConditionalUse() { accept_category = Convert.IsDBNull(row["accept_category"]) ? null : row["accept_category"].ToString(), reject_category = Convert.IsDBNull(row["reject_category"]) ? null : row["accept_category"].ToString(), least_cost = Convert.IsDBNull(row["use_condition_least_cost"]) ? null : (Int32?)Convert.ToInt32(row["use_condition_least_cost"]), object_use_for = Convert.IsDBNull(row["object_use_for"]) ? null : row["object_use_for"].ToString(), can_use_with_other_discount = Convert.IsDBNull(row["can_use_with_other_discount"]) ? false : Convert.ToBoolean(row["can_use_with_other_discount"]) }; var icon_url_list = Convert.IsDBNull(row["icon_url_list"]) ? string.Empty : row["icon_url_list"].ToString(); List <string> icons = icon_url_list.Split(new char[] { ';' }).Where(q => q != null).ToList(); var imagetextstr = Convert.IsDBNull(row["text_image_list"]) ? string.Empty : row["text_image_list"].ToString(); List <ImageText> imageTextList = JsonConvert.DeserializeObject <List <ImageText> >(imagetextstr); var abstractinfo = new AbstractInfo(); abstractinfo.abstractstr = Convert.IsDBNull(row["abstract"]) ? null : row["abstract"].ToString(); if (icons != null && icons.Any()) { icons = icons.Where(q => !string.IsNullOrWhiteSpace(q)).ToList(); if (icons.Count() == 5) { abstractinfo.icon1 = icons[0]; abstractinfo.icon2 = icons[1]; abstractinfo.icon3 = icons[2]; abstractinfo.icon4 = icons[3]; abstractinfo.icon5 = icons[4]; } else if (icons.Count() == 4) { abstractinfo.icon1 = icons[0]; abstractinfo.icon2 = icons[1]; abstractinfo.icon3 = icons[2]; abstractinfo.icon4 = icons[3]; } else if (icons.Count() == 3) { abstractinfo.icon1 = icons[0]; abstractinfo.icon2 = icons[1]; abstractinfo.icon3 = icons[2]; } else if (icons.Count() == 2) { abstractinfo.icon1 = icons[0]; abstractinfo.icon2 = icons[1]; } else if (icons.Count() == 1) { abstractinfo.icon1 = icons[0]; } } if (imageTextList != null && imageTextList.Any()) { imageTextList = imageTextList.Where(q => q != null).ToList(); if (imageTextList.Count() == 5) { abstractinfo.imageText1 = imageTextList[0]; abstractinfo.imageText2 = imageTextList[1]; abstractinfo.imageText3 = imageTextList[2]; abstractinfo.imageText4 = imageTextList[3]; abstractinfo.imageText5 = imageTextList[4]; } else if (imageTextList.Count() == 4) { abstractinfo.imageText1 = imageTextList[0]; abstractinfo.imageText2 = imageTextList[1]; abstractinfo.imageText3 = imageTextList[2]; abstractinfo.imageText4 = imageTextList[3]; } else if (imageTextList.Count() == 3) { abstractinfo.imageText1 = imageTextList[0]; abstractinfo.imageText2 = imageTextList[1]; abstractinfo.imageText3 = imageTextList[2]; } else if (imageTextList.Count() == 2) { abstractinfo.imageText1 = imageTextList[0]; abstractinfo.imageText2 = imageTextList[1]; } else if (imageTextList.Count() == 1) { abstractinfo.imageText1 = imageTextList[0]; } } var advancedinfo = new WeixinCardAdvancedInfo() { abstractinfo = abstractinfo, use_condition = usecondition }; var totalinfo = new WeixinCardTotalModel() { deal_detail = Convert.IsDBNull(row["deal_detail"]) ? null : row["deal_detail"].ToString(), least_cost = Convert.IsDBNull(row["least_cost"]) ? null : (Int32?)Convert.ToInt32(row["least_cost"]), reduce_cost = Convert.IsDBNull(row["reduce_cost"]) ? null : (Int32?)Convert.ToInt32(row["reduce_cost"]), discount = Convert.IsDBNull(row["discount"]) ? null : (Int32?)Convert.ToInt32(row["discount"]), gift = Convert.IsDBNull(row["gift"]) ? null : row["gift"].ToString(), default_detail = Convert.IsDBNull(row["default_detail"]) ? null : row["default_detail"].ToString(), base_info = baseinfo, advanced_info = advancedinfo }; var model = new WeixinCardModel() { total_info = totalinfo, card_id = Convert.IsDBNull(row["card_id"]) ? null : row["card_id"].ToString(), PKID = Convert.IsDBNull(row["PKID"]) ? null : (Int32?)Convert.ToInt32(row["PKID"]), PushedCount = Convert.IsDBNull(row["PushedCount"]) ? null : (Int32?)Convert.ToInt32(row["PushedCount"]), card_type = (CardTypeEnum)Enum.Parse(typeof(CardTypeEnum), row["card_type"].ToString()) }; list.Add(model); } } } catch (Exception ex) { } return(list); }