//edit
        public IActionResult ValueEditPopup(string id, string contactAttributeId)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }
            var contactAttribute = _contactAttributeService.GetContactAttributeById(contactAttributeId);
            var cav = contactAttribute.ContactAttributeValues.Where(x => x.Id == id).FirstOrDefault();

            if (cav == null)
            {
                //No contact attribute value found with the specified id
                return(RedirectToAction("List"));
            }

            var model = new ContactAttributeValueModel
            {
                ContactAttributeId = cav.ContactAttributeId,
                Name                   = cav.Name,
                ColorSquaresRgb        = cav.ColorSquaresRgb,
                DisplayColorSquaresRgb = contactAttribute.AttributeControlType == AttributeControlType.ColorSquares,
                IsPreSelected          = cav.IsPreSelected,
                DisplayOrder           = cav.DisplayOrder,
            };

            //locales
            AddLocales(_languageService, model.Locales, (locale, languageId) =>
            {
                locale.Name = cav.GetLocalized(x => x.Name, languageId, false, false);
            });

            return(View(model));
        }
        public async Task <IActionResult> ValueEditPopup(ContactAttributeValueModel model)
        {
            var contactAttribute = await _contactAttributeService.GetContactAttributeById(model.ContactAttributeId);

            var cav = contactAttribute.ContactAttributeValues.Where(x => x.Id == model.Id).FirstOrDefault();

            if (cav == null)
            {
                //No contact attribute value found with the specified id
                return(RedirectToAction("List"));
            }

            if (contactAttribute.AttributeControlType == AttributeControlType.ColorSquares)
            {
                //ensure valid color is chosen/entered
                if (String.IsNullOrEmpty(model.ColorSquaresRgb))
                {
                    ModelState.AddModelError("", "Color is required");
                }
            }

            if (ModelState.IsValid)
            {
                await _contactAttributeViewModelService.UpdateContactAttributeValueModel(contactAttribute, cav, model);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public IActionResult ValueCreatePopup(ContactAttributeValueModel model)
        {
            var contactAttribute = _contactAttributeService.GetContactAttributeById(model.ContactAttributeId);

            if (contactAttribute == null)
            {
                //No contact attribute found with the specified id
                return(RedirectToAction("List"));
            }

            if (contactAttribute.AttributeControlType == AttributeControlType.ColorSquares)
            {
                //ensure valid color is chosen/entered
                if (String.IsNullOrEmpty(model.ColorSquaresRgb))
                {
                    ModelState.AddModelError("", "Color is required");
                }
            }

            if (ModelState.IsValid)
            {
                _contactAttributeViewModelService.InsertContactAttributeValueModel(contactAttribute, model);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public IActionResult ValueCreatePopup(ContactAttributeValueModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var contactAttribute = _contactAttributeService.GetContactAttributeById(model.ContactAttributeId);

            if (contactAttribute == null)
            {
                //No contact attribute found with the specified id
                return(RedirectToAction("List"));
            }

            if (contactAttribute.AttributeControlType == AttributeControlType.ColorSquares)
            {
                //ensure valid color is chosen/entered
                if (String.IsNullOrEmpty(model.ColorSquaresRgb))
                {
                    ModelState.AddModelError("", "Color is required");
                }
                //TO DO
                //try
                //{
                //    //ensure color is valid (can be instanciated)
                //    System.Drawing.ColorTranslator.FromHtml(model.ColorSquaresRgb);
                //}
                //catch (Exception exc)
                //{
                //    ModelState.AddModelError("", exc.Message);
                //}
            }

            if (ModelState.IsValid)
            {
                var cav = new ContactAttributeValue
                {
                    ContactAttributeId = model.ContactAttributeId,
                    Name            = model.Name,
                    ColorSquaresRgb = model.ColorSquaresRgb,
                    IsPreSelected   = model.IsPreSelected,
                    DisplayOrder    = model.DisplayOrder,
                };
                cav.Locales = UpdateValueLocales(cav, model);
                contactAttribute.ContactAttributeValues.Add(cav);
                _contactAttributeService.UpdateContactAttribute(contactAttribute);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
Ejemplo n.º 5
0
        public virtual ContactAttributeValueModel PrepareContactAttributeValueModel(ContactAttribute contactAttribute)
        {
            var model = new ContactAttributeValueModel();

            model.ContactAttributeId = contactAttribute.Id;

            //color squares
            model.DisplayColorSquaresRgb = contactAttribute.AttributeControlType == AttributeControlType.ColorSquares;
            model.ColorSquaresRgb        = "#000000";
            return(model);
        }
        public IActionResult ValueEditPopup(ContactAttributeValueModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var contactAttribute = _contactAttributeService.GetContactAttributeById(model.ContactAttributeId);

            var cav = contactAttribute.ContactAttributeValues.Where(x => x.Id == model.Id).FirstOrDefault();

            if (cav == null)
            {
                //No contact attribute value found with the specified id
                return(RedirectToAction("List"));
            }

            if (contactAttribute.AttributeControlType == AttributeControlType.ColorSquares)
            {
                //ensure valid color is chosen/entered
                if (String.IsNullOrEmpty(model.ColorSquaresRgb))
                {
                    ModelState.AddModelError("", "Color is required");
                }
            }

            if (ModelState.IsValid)
            {
                cav.Name            = model.Name;
                cav.ColorSquaresRgb = model.ColorSquaresRgb;
                cav.IsPreSelected   = model.IsPreSelected;
                cav.DisplayOrder    = model.DisplayOrder;
                cav.Locales         = UpdateValueLocales(cav, model);
                _contactAttributeService.UpdateContactAttribute(contactAttribute);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        //create
        public IActionResult ValueCreatePopup(string contactAttributeId)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var contactAttribute = _contactAttributeService.GetContactAttributeById(contactAttributeId);
            var model            = new ContactAttributeValueModel();

            model.ContactAttributeId = contactAttributeId;

            //color squares
            model.DisplayColorSquaresRgb = contactAttribute.AttributeControlType == AttributeControlType.ColorSquares;
            model.ColorSquaresRgb        = "#000000";

            //locales
            AddLocales(_languageService, model.Locales);
            return(View(model));
        }
Ejemplo n.º 8
0
        public virtual async Task <ContactAttributeValue> UpdateContactAttributeValueModel(ContactAttribute contactAttribute, ContactAttributeValue contactAttributeValue, ContactAttributeValueModel model)
        {
            contactAttributeValue = model.ToEntity(contactAttributeValue);
            await _contactAttributeService.UpdateContactAttribute(contactAttribute);

            return(contactAttributeValue);
        }
Ejemplo n.º 9
0
        public virtual async Task <ContactAttributeValue> InsertContactAttributeValueModel(ContactAttribute contactAttribute, ContactAttributeValueModel model)
        {
            var cav = model.ToEntity();

            contactAttribute.ContactAttributeValues.Add(cav);
            await _contactAttributeService.UpdateContactAttribute(contactAttribute);

            return(cav);
        }
Ejemplo n.º 10
0
 public virtual ContactAttributeValue UpdateContactAttributeValueModel(ContactAttribute contactAttribute, ContactAttributeValue contactAttributeValue, ContactAttributeValueModel model)
 {
     contactAttributeValue = model.ToEntity(contactAttributeValue);
     _contactAttributeService.UpdateContactAttribute(contactAttribute);
     return(contactAttributeValue);
 }
        protected virtual List <LocalizedProperty> UpdateValueLocales(ContactAttributeValue contactAttributeValue, ContactAttributeValueModel model)
        {
            List <LocalizedProperty> localized = new List <LocalizedProperty>();

            foreach (var local in model.Locales)
            {
                if (!(String.IsNullOrEmpty(local.Name)))
                {
                    localized.Add(new LocalizedProperty()
                    {
                        LanguageId  = local.LanguageId,
                        LocaleKey   = "Name",
                        LocaleValue = local.Name,
                    });
                }
            }
            return(localized);
        }
Ejemplo n.º 12
0
 public static ContactAttributeValue ToEntity(this ContactAttributeValueModel model, ContactAttributeValue destination)
 {
     return(model.MapTo(destination));
 }
Ejemplo n.º 13
0
 public static ContactAttributeValue ToEntity(this ContactAttributeValueModel model)
 {
     return(model.MapTo <ContactAttributeValueModel, ContactAttributeValue>());
 }