Exemple #1
0
        /// <summary>
        /// Get a particular field option by passing its FieldValueOptionId.
        /// </summary>
        /// <param name="fieldValueOptionId"></param>
        /// <returns></returns>
        public FieldValueOption GetFieldValueOption(int fieldValueOptionId)
        {
            var db = ObjectContextFactory.Create();
            CustomFieldValueOptionsDb customFieldsValueOptionDb = db.CustomFieldValueOptions.Where(c => c.CustomFieldValueOptionID == fieldValueOptionId).FirstOrDefault();
            FieldValueOption          fieldValueOption          = new FieldValueOption();

            if (customFieldsValueOptionDb != null)
            {
                fieldValueOption = Mapper.Map <CustomFieldValueOptionsDb, FieldValueOption>(customFieldsValueOptionDb);
            }
            return(fieldValueOption);
        }
Exemple #2
0
        /// <summary>
        /// Persists the custom field value options.
        /// </summary>
        /// <param name="customField">The custom field.</param>
        /// <param name="customFieldDb">The custom field database.</param>
        /// <param name="db">The database.</param>
        private void PersistCustomFieldValueOptions(CustomField customField, FieldsDb customFieldDb, CRMDb db)
        {
            foreach (FieldValueOption customFieldValueOption in customField.ValueOptions.Where(v => v.Id == 0))
            {
                //valueOptionDb = customFieldDb.CustomFieldValueOptions.Where(c => c.CustomFieldValueOptionID == customFieldValueOption.Id).FirstOrDefault();
                CustomFieldValueOptionsDb valueOptionDb = Mapper.Map <FieldValueOption, CustomFieldValueOptionsDb>(customFieldValueOption);
            }

            IList <int> customFieldValueOptionIds = customField.ValueOptions.Where(c => c.Id > 0).Select(c => c.Id).ToList();
            var         unMapCustomValueOptions   = db.CustomFieldValueOptions.Where(cc => !customFieldValueOptionIds.Contains(cc.CustomFieldValueOptionID) &&
                                                                                     cc.CustomFieldID == customField.Id && cc.IsDeleted == false)
                                                    .Select(cc => cc).Distinct().ToList();

            foreach (CustomFieldValueOptionsDb customFieldValueOptionMapDb in unMapCustomValueOptions)
            {
                customFieldValueOptionMapDb.IsDeleted = true;
            }
        }