예제 #1
0
        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)));
            }
        }
예제 #2
0
        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);
        }