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); }
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)); }
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); }
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); }