示例#1
0
        public AttributesList GetUpdatedAttributeList(ObservableCollection <Helpers.Attribute> contactList)
        {
            AttributesList attributeList = new AttributesList();

            Settings.ContactDataContext contactContext = Settings.ContactDataContext.GetInstance();
            foreach (Helpers.Attribute contact in contactList.Where(x => x.IsAltered == true && !string.IsNullOrEmpty(x.AttributeId) && ((!string.IsNullOrEmpty(x.AttributeValue.Trim()) && x.Type == Settings.ContactDataContext.AttributeType.Multiple) || (x.Type == Settings.ContactDataContext.AttributeType.Single))))
            {
                string attributeName = contactContext.ContactValidAttribute.Where(x => x.Value.Equals(contact.AttributeName)).Single().Key;
                if (attributeList.Cast <AttributesHeader>().Where(y => y.AttrName.Equals(attributeName)).ToList().Count == 0)
                // if(!attributeList.Contains(contact.AttributeName))
                {
                    AttributesHeader attributeHeader = new AttributesHeader();
                    //  attributeHeader.AttrName = contact.AttributeName;
                    attributeHeader.AttrName = attributeName;
                    AttributesInfoList attributeInfoList = new AttributesInfoList();
                    List <Pointel.Interactions.Contact.Helpers.Attribute> lst = contactList.Where(x => x.IsAltered == true && !string.IsNullOrEmpty(x.AttributeId) && x.AttributeName.Equals(contact.AttributeName) && !string.IsNullOrEmpty(x.AttributeValue.Trim())).ToList <Pointel.Interactions.Contact.Helpers.Attribute>();
                    int i = 1;
                    foreach (Helpers.Attribute contactGroup in lst)
                    {
                        AttributesInfo attributeInfo = new AttributesInfo();
                        attributeInfo.AttrValue   = contactGroup.AttributeValue;
                        attributeInfo.AttrId      = contactGroup.AttributeId;
                        attributeInfo.Description = contactGroup.Description;
                        if (contactGroup.Type == Settings.ContactDataContext.AttributeType.Single)
                        {
                            attributeInfo.AttrIndex = 0;
                        }
                        else
                        {
                            if (contactGroup.Isprimary)
                            {
                                attributeInfo.AttrIndex = 0;
                            }
                            else
                            {
                                attributeInfo.AttrIndex = i++;
                            }
                        }
                        attributeInfoList.Add(attributeInfo);
                    }
                    attributeHeader.AttributesInfoList = attributeInfoList;
                    attributeList.Add(attributeHeader);
                }
            }
            if (attributeList.Count == 0)
            {
                attributeList = null;
            }
            return(attributeList);
        }
        public static OutputValues RequestInsertContact(int tenantId, AttributesList attribute)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();

            try
            {
                RequestInsert reqInsertContact = new RequestInsert();
                reqInsertContact.TenantId   = tenantId;
                reqInsertContact.Attributes = attribute;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("------------RequestInsertContact-------------");
                    logger.Info("Tenant ID  : " + tenantId);
                    logger.Info("---------------------------------------------------");
                    IMessage message = Settings.UCSProtocol.Request(reqInsertContact);
                    if (message != null)
                    {
                        logger.Trace(message.ToString());
                        output.IContactMessage = message;
                        output.MessageCode     = "200";
                        output.Message         = "Contact Inserted Successfully";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Can't Insert Contact Successfully";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("RequestDeleteContact() : Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Insert Contact " + generalException.ToString());
                output.MessageCode = "2001";
                output.Message     = generalException.Message;
            }

            return(output);
        }
示例#3
0
        public IViewComponentResult Invoke(string type = "", int minPrice = 0, int maxPrice = 0, int id = 0)
        {
            IEnumerable <Attribute> attribute = null;

            if (id == 0)
            {
                if (type == "Advertisement")
                {
                    attribute = (
                        from ad in _context.AdvertisementsAttributes
                        join at in _context.Attributes on ad.AttributeId equals at.Id into aaa
                        from a in aaa
                        select new Attribute
                    {
                        Id = a.Id,
                        Name = a.Name,
                        Slug = a.Slug,
                        Description = a.Description,
                        Parent = a.Parent,
                        ParentId = a.ParentId
                    }
                        ).GroupBy(x => x.Id).Select(x => x.First()).OrderBy(a => a.Name);
                }
                else
                {
                    attribute = (
                        from ad in _context.ProductsAttributes
                        join at in _context.Attributes on ad.AttributeId equals at.Id into aaa
                        from a in aaa
                        select new Attribute
                    {
                        Id = a.Id,
                        Name = a.Name,
                        Slug = a.Slug,
                        Description = a.Description,
                        Parent = a.Parent,
                        ParentId = a.ParentId
                    }
                        ).GroupBy(x => x.Id).Select(x => x.First()).OrderBy(a => a.Name);
                }
            }
            else
            {
                if (type == "Advertisement")
                {
                    attribute = (
                        from ac in _context.AdvertisementsCategories
                        join a in _context.Advertisements on ac.AdvertisementId equals a.Id into AdvertisementsCategoriesAdvertisements
                        where ac.CategoryId == id
                        from aca in AdvertisementsCategoriesAdvertisements.DefaultIfEmpty()
                        join aa in _context.AdvertisementsAttributes on aca.Id equals aa.AdvertisementId into AdvertisementsAttributesAdvertisements
                        from aaa in AdvertisementsAttributesAdvertisements.DefaultIfEmpty()
                        join a in _context.Attributes on aaa.AttributeId equals a.Id into AttributesList
                        from al in AttributesList.DefaultIfEmpty()
                        select new Attribute
                    {
                        Id = al.Id,
                        Name = al.Name,
                        Slug = al.Slug,
                        Description = al.Description,
                        Parent = al.Parent,
                        ParentId = al.ParentId
                    }
                        ).GroupBy(x => x.Id).Select(x => x.First()).OrderBy(a => a.Name);
                }
                else
                {
                    attribute = (
                        from pc in _context.ProductsCatalogs
                        join p in _context.Products on pc.ProductId equals p.Id into CatalogProducts
                        where pc.CatalogId == id
                        from cp in CatalogProducts
                        join pa in _context.ProductsAttributes on cp.Id equals pa.ProductId into PAttribures
                        from psa in PAttribures
                        join at in _context.Attributes on psa.AttributeId equals at.Id into aaa
                        from a in aaa
                        select new Attribute
                    {
                        Id = a.Id,
                        Name = a.Name,
                        Slug = a.Slug,
                        Description = a.Description,
                        Parent = a.Parent,
                        ParentId = a.ParentId
                    }
                        ).GroupBy(x => x.Id).Select(x => x.First()).ToList();
                }
            }

            ViewData["type"]     = type;
            ViewData["minPrice"] = minPrice;
            ViewData["maxPrice"] = maxPrice;
            ViewData["id"]       = id;

            return(View("Default", attribute));
        }
示例#4
0
        public static OutputValues RequestUpdateAllAttribute(string contactId, int tenantId, AttributesList insertedAttributes, AttributesList updatedAttributes, DeleteAttributesList deletedAttributes)
        {
            Pointel.Logger.Core.ILog logger = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output = OutputValues.GetInstance();
            RequestUpdateAttributes  reqUpdateAttributes = new RequestUpdateAttributes();

            StringList stringList = new StringList();

            try
            {
                reqUpdateAttributes.ContactId = contactId;
                reqUpdateAttributes.TenantId  = tenantId;
                if (insertedAttributes != null)
                {
                    reqUpdateAttributes.InsertAttributes = insertedAttributes;
                }
                if (updatedAttributes != null)
                {
                    reqUpdateAttributes.UpdateAttributes = updatedAttributes;
                }
                if (deletedAttributes != null)
                {
                    reqUpdateAttributes.DeleteAttributes = deletedAttributes;
                }
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("------------RequestUpdateAllAttribute-------------");
                    logger.Info("TenantId  :" + tenantId);
                    logger.Info("ContactId  : " + contactId);
                    logger.Info("---------------------------------------------------");
                    IMessage message = Settings.UCSProtocol.Request(reqUpdateAttributes);
                    if (message != null)
                    {
                        logger.Trace(message.ToString());
                        output.IContactMessage = message;
                        output.MessageCode     = "200";
                        output.Message         = "Updated Attributes Successfully";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Don't Update Attribute Successfully";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("RequestDeleteAttribute() : Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Request To Update Attribute " + generalException.ToString());
                output.MessageCode = "2001";
                output.Message     = generalException.Message;
            }

            return(output);
        }
示例#5
0
        public ObservableCollection <Helpers.Attribute> ConvertToObservableCollection(AttributesList attribute)
        {
            Settings.ContactDataContext contactContext = Settings.ContactDataContext.GetInstance();
            ObservableCollection <Pointel.Interactions.Contact.Helpers.Attribute> contactList = new ObservableCollection <Helpers.Attribute>();

            TempOldContact = new List <Helpers.Attribute>();
            foreach (string displaAttributeName in ContactDataContext.GetInstance().ContactDisplayedAttributes)
            {
                if (!contactContext.ContactValidAttribute.Keys.Contains(displaAttributeName))
                {
                    continue;
                }
                #region Attribute not null
                if (attribute != null)
                {
                    List <AttributesHeader> displayAttributeList = attribute.Cast <AttributesHeader>().Where(x => x.AttrName == displaAttributeName).ToList <AttributesHeader>();
                    if (displayAttributeList.Count > 0)
                    {
                        //List<string> multipleitems = ((string)ConfigContainer.Instance().GetValue("contact.multiple-value-attributes")).Split(',').ToList();
                        foreach (AttributesHeader attr in displayAttributeList)
                        {
                            //for multivalue attribute
                            if (ContactDataContext.GetInstance().ContactMultipleValueAttributes.Contains(attr.AttrName))
                            {
                                for (int j = 0; j < attr.AttributesInfoList.Count; j++)
                                {
                                    Helpers.Attribute contactDetails = new Helpers.Attribute();

                                    contactDetails.AttributeId = attr.AttributesInfoList[j].AttrId;
                                    //contactDetails.AttributeName = attr.AttrName;
                                    contactDetails.AttributeName  = contactContext.ContactValidAttribute[attr.AttrName];
                                    contactDetails.AttributeValue = attr.AttributesInfoList[j].AttrValue.ToString();
                                    contactDetails.Description    = attr.AttributesInfoList[j].Description;
                                    contactDetails.Type           = Settings.ContactDataContext.AttributeType.Multiple;
                                    contactDetails.IsMandatory    = ContactDataContext.GetInstance().ContactMandatoryAttributes.Contains(attr.AttrName);
                                    //check whether the data is primary or not.
                                    contactDetails.Isprimary = attr.AttributesInfoList.Primary.AttrId == contactDetails.AttributeId;
                                    contactList.Add(contactDetails);
                                    AddToTempList(contactDetails);
                                }
                            }
                            //For single value attribute
                            else
                            {
                                Helpers.Attribute contactDetails = new Helpers.Attribute();
                                contactDetails.AttributeId = attr.AttributesInfoList[0].AttrId;
                                //contactDetails.AttributeName = attr.AttrName;
                                contactDetails.AttributeName  = contactContext.ContactValidAttribute[attr.AttrName];
                                contactDetails.AttributeValue = attr.AttributesInfoList[0].AttrValue.ToString();
                                contactDetails.Description    = attr.AttributesInfoList[0].Description;
                                contactDetails.Isprimary      = attr.AttributesInfoList.Primary.AttrId == contactDetails.AttributeId;
                                contactDetails.IsMandatory    = ContactDataContext.GetInstance().ContactMandatoryAttributes.Contains(attr.AttrName);
                                contactList.Add(contactDetails);
                                AddToTempList(contactDetails);
                            }
                        }
                    }
                    else
                    {
                        Helpers.Attribute contactDetails = new Helpers.Attribute();
                        // contactDetails.AttributeName = displaAttributeName;
                        contactDetails.AttributeName  = contactContext.ContactValidAttribute[displaAttributeName];
                        contactDetails.AttributeValue = string.Empty;
                        contactDetails.Description    = string.Empty;
                        //List<string> items = ((string)ConfigContainer.Instance().GetValue("contact.multiple-value-attributes")).Split(',').ToList();
                        if (ContactDataContext.GetInstance().ContactMultipleValueAttributes.Contains(displaAttributeName))
                        {
                            contactDetails.Type = Settings.ContactDataContext.AttributeType.Multiple;
                        }
                        contactList.Add(contactDetails);
                        AddToTempList(contactDetails);
                    }
                }
                #endregion Attribute not null
                else
                {
                    Helpers.Attribute contactDetails = new Helpers.Attribute();

                    //contactDetails.AttributeName = displaAttributeName;
                    contactDetails.AttributeName  = contactContext.ContactValidAttribute[displaAttributeName];
                    contactDetails.AttributeValue = string.Empty;
                    contactDetails.Description    = string.Empty;
                    contactDetails.IsMandatory    = ContactDataContext.GetInstance().ContactMandatoryAttributes.Contains(displaAttributeName);
                    // List<string> multipleItem = ((string)ConfigContainer.Instance().GetValue("contact.multiple-value-attributes")).Split(',').ToList();
                    if (ContactDataContext.GetInstance().ContactMultipleValueAttributes.Contains(displaAttributeName))
                    {
                        contactDetails.Type      = Settings.ContactDataContext.AttributeType.Multiple;
                        contactDetails.Isprimary = false;
                    }
                    else
                    {
                        contactDetails.Isprimary = true;
                    }

                    contactList.Add(contactDetails);
                    AddToTempList(contactDetails);
                }
            }
            return(contactList);
        }