예제 #1
0
        public PromotionCodeDTO GetPromotionCodes(int campaignId, string codes)
        {
            if (string.IsNullOrEmpty(codes) || campaignId == 0)
            {
                return(new PromotionCodeDTO
                {
                    Success = true,
                    Message = ""
                });
            }

            var campaign = new UmbracoHelper(UmbracoContext.Current).TypedContent(campaignId);

            string messages = string.Empty;
            bool   success  = true;
            var    lstCodes = string.Empty;

            if (campaign != null)
            {
                lstCodes = campaign.CoaleseField(WellknownProperties.PromotionCodes);
                if (!string.IsNullOrEmpty(lstCodes))
                {
                    var arrCodes = lstCodes.SplitIntoCollection();
                    foreach (var code in codes.SplitIntoCollection())
                    {
                        if (arrCodes.Any(code.Contains))
                        {
                            continue;
                        }
                        messages += code + ", ";
                    }
                }
                else
                {
                    success  = false;
                    messages = string.Format("Code(s) {0} are invalid", codes.Replace(";", ", "));
                }
            }

            if (!string.IsNullOrEmpty(messages))
            {
                success  = false;
                messages = string.Format("Code(s) {0} are invalid", messages.Substring(0, messages.Length - 2));
            }
            return(new PromotionCodeDTO
            {
                Success = success,
                Message = messages
            });
        }