Пример #1
0
        public override IDataValidationResult <TKey> Deleting(TKey id, object arg, IDataValidationResults <TKey> validationResults)
        {
            IDataValidationResult <TKey> result = null;
            TXPORole role = arg as TXPORole;

            if (role != null)
            {
                int userCount = (int)role.Session.Evaluate(typeof(XpoDxUser),
                                                           CriteriaOperator.Parse("Count"),
                                                           CriteriaOperator.Parse("Roles[Id == ?]", role.ID));
                if (userCount > 0)
                {
                    result = new DataValidationResult <TKey>
                    {
                        ResultType = DataValidationResultType.Error,
                        ID         = role.ID,
                        Message    = String.Format("Role '{0}' cannot be deleted because there are users in this Role", role.Name)
                    }
                }
                ;
            }

            if (result == null)
            {
                result = base.Deleting(id, arg, validationResults);
            }
            validationResults.Add(result);
            return(result);
        }
    }
Пример #2
0
        public override IDataValidationResult <TKey> Deleting(TKey id, IDataValidationResults <TKey> validationResults, params object[] args)
        {
            if (args == null || args.Length == 0)
            {
                throw new ArgumentNullException("args[0] should contain reference to XPO entity");
            }
            IDataValidationResult <TKey> result = null;
            TXPORole role = args[0] as TXPORole;

            if (role != null)
            {
                int userCount = (int)role.Session.Evaluate(typeof(XpoDxUser),
                                                           CriteriaOperator.Parse("Count"),
                                                           CriteriaOperator.Parse("Roles[Id == ?]", role.ID));
                if (userCount > 0)
                {
                    result = new DataValidationResult <TKey>
                    {
                        ResultType = DataValidationResultType.Error,
                        ID         = role.ID,
                        Message    = String.Format("Role '{0}' cannot be deleted because there are users in this Role", role.Name)
                    }
                }
                ;
            }

            if (result == null)
            {
                result = base.Deleting(id, validationResults, args);
            }
            validationResults.Add(result);
            return(result);
        }
    }
Пример #3
0
        public void ValidateTransferTo()
        {
            PAATransferToInfo paatransferToInfo = (PAATransferToInfo)base.GetParameter("XfrTo");
            string            text = null;

            using (IPAAStore ipaastore = PAAStore.Create(base.UserContext.ExchangePrincipal))
            {
                if (!string.IsNullOrEmpty(paatransferToInfo.Ph))
                {
                    text = UnifiedMessagingUtilities.ValidatePhoneNumbers(new UnifiedMessagingUtilities.ValidatePhoneNumber(ipaastore.ValidatePhoneNumberForOutdialing), new string[]
                    {
                        paatransferToInfo.Ph
                    });
                }
                else
                {
                    IDataValidationResult dataValidationResult = null;
                    if (paatransferToInfo.VM)
                    {
                        ipaastore.ValidateADContactForTransferToMailbox(paatransferToInfo.Contact, out dataValidationResult);
                    }
                    else
                    {
                        ipaastore.ValidateADContactForOutdialing(paatransferToInfo.Contact, out dataValidationResult);
                    }
                    if (dataValidationResult.PAAValidationResult != PAAValidationResult.Valid)
                    {
                        text = UnifiedMessagingUtilities.GetErrorResourceId(dataValidationResult.PAAValidationResult, paatransferToInfo.Contact);
                    }
                }
            }
            if (!string.IsNullOrEmpty(text))
            {
                this.RenderErrorInfobar(text);
            }
        }
Пример #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DataValidationException"/> class.
 /// </summary>
 /// <param name="validatedEntity">The validated entity.</param>
 /// <param name="validationResult">The validation result.</param>
 public DataValidationException(object validatedEntity, IDataValidationResult validationResult)
   : base(string.Format(Strings.DataValidationException_Message, validatedEntity, string.Join(Environment.NewLine, validationResult.Select(e => e.Message))))
 {
     this.ValidatedEntity = validatedEntity;
     this.ValidationResult = validationResult;
 }
Пример #5
0
 public InsertHelper(TModel model, IDataValidationResult <TKey> insertingResult, IDataValidationResult <TKey> insertedResult)
 {
     Model           = model;
     InsertingResult = insertingResult;
     InsertedResult  = insertedResult;
 }
Пример #6
0
        public void ValidateCallerId()
        {
            PAACallerIdInfo paacallerIdInfo = (PAACallerIdInfo)base.GetParameter("CllrId");
            string          text            = null;

            using (IPAAStore ipaastore = PAAStore.Create(base.UserContext.ExchangePrincipal))
            {
                if (paacallerIdInfo.HasPhoneNumbers)
                {
                    string[] array = (string[])base.GetParameter("CPh");
                    if (array.Length > 50)
                    {
                        text = Utilities.HtmlEncode(string.Format(CultureInfo.CurrentCulture, LocalizedStrings.GetNonEncoded(1755659442), new object[]
                        {
                            50
                        }));
                    }
                    if (text == null)
                    {
                        text = UnifiedMessagingUtilities.ValidatePhoneNumbers(new UnifiedMessagingUtilities.ValidatePhoneNumber(ipaastore.ValidatePhoneNumberCallerId), array);
                    }
                }
                IDataValidationResult dataValidationResult = null;
                if (text == null && paacallerIdInfo.HasContacts)
                {
                    RecipientInfo[] array2 = (RecipientInfo[])base.GetParameter("CRcps");
                    if (array2.Length > 50)
                    {
                        text = Utilities.HtmlEncode(string.Format(CultureInfo.CurrentCulture, LocalizedStrings.GetNonEncoded(2034140420), new object[]
                        {
                            50
                        }));
                    }
                    if (text == null)
                    {
                        foreach (RecipientInfo recipientInfo in array2)
                        {
                            if (recipientInfo.AddressOrigin == AddressOrigin.Store)
                            {
                                ipaastore.ValidateContactItemCallerId(recipientInfo.StoreObjectId, out dataValidationResult);
                            }
                            else if (recipientInfo.AddressOrigin == AddressOrigin.Directory)
                            {
                                ipaastore.ValidateADContactCallerId(recipientInfo.RoutingAddress, out dataValidationResult);
                            }
                            if (dataValidationResult.PAAValidationResult != PAAValidationResult.Valid)
                            {
                                text = UnifiedMessagingUtilities.GetErrorResourceId(dataValidationResult.PAAValidationResult, recipientInfo.DisplayName);
                                break;
                            }
                        }
                    }
                }
                if (text == null && paacallerIdInfo.IsInContactFolder)
                {
                    ipaastore.ValidateContactFolderCallerId(out dataValidationResult);
                    if (dataValidationResult.PAAValidationResult != PAAValidationResult.Valid)
                    {
                        text = UnifiedMessagingUtilities.GetErrorResourceId(dataValidationResult.PAAValidationResult, null);
                    }
                }
            }
            if (!string.IsNullOrEmpty(text))
            {
                this.RenderErrorInfobar(text);
            }
        }