public Exception HandleException(Exception exception, Guid handlingInstanceId)
        {
            ValidationException ex = exception as ValidationException;

            if (ex != null)
            {
                ValidationFault fault = new ValidationFault();
                fault.ParameterName = ex.PropertyName;
                fault.Message       = ex.Message;
                fault.Id            = new Guid();

                if (ex is NullValidationException)
                {
                    fault.ValidationError = ValidationError.NullValue;
                }
                else
                {
                    fault.ValidationError = ValidationError.InvalidValue;
                }

                return(new FaultException <ValidationFault>(fault, string.Format("Validation error. {0}", ex.Message)));
            }

            return(exception);
        }
        public void Ctor_WithMessageAndPropertyName_MessageAndPropertyNamePropIsSetCorrect()
        {
            var fault = new ValidationFault("TestProp", "Test");

            Assert.Equal("Test", fault.Message);
            Assert.Equal("TestProp", fault.PropertyName);
        }
示例#3
0
        public async Task<xcuda_Delivery_terms> Getxcuda_Delivery_termsByKey(string Delivery_terms_Id, List<string> includesLst = null, bool tracking = true)
        {
            try
            {
			   if(string.IsNullOrEmpty(Delivery_terms_Id))return null; 
              using ( var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
              {
                var i = Convert.ToInt32(Delivery_terms_Id);
				var set = AddIncludes(includesLst, dbContext);
                xcuda_Delivery_terms entity = await set.AsNoTracking().SingleOrDefaultAsync(x => x.Delivery_terms_Id == i).ConfigureAwait(continueOnCapturedContext: false);
                if(tracking && entity != null) entity.StartTracking();
                return entity;
              }
             }
            catch (Exception updateEx)
            {
                System.Diagnostics.Debugger.Break();
                //throw new FaultException(updateEx.Message);
                    var fault = new ValidationFault
                                {
                                    Result = false,
                                    Message = updateEx.Message,
                                    Description = updateEx.StackTrace
                                };
                    throw new FaultException<ValidationFault>(fault);
            }
        }
示例#4
0
		// Virtural list Implementation

         public async Task<int> CountByExpressionLst(List<string> expLst)
        {
            try
            {
                using (var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
                {
                    if (expLst.Count == 0 || expLst.FirstOrDefault() == "None") return 0;
                    var set = (IQueryable<xcuda_Delivery_terms>)dbContext.xcuda_Delivery_terms; 
                    if (expLst.FirstOrDefault() == "All")
                    {
                        return await set.AsNoTracking().CountAsync()
                                            .ConfigureAwait(continueOnCapturedContext: false);
                    }
                    else
                    {
                        set = AddWheres(expLst, set);
                        return await set.AsNoTracking().CountAsync()
                                        .ConfigureAwait(continueOnCapturedContext: false);
                    }
                    
                }
            }
            catch (Exception updateEx)
            {
                System.Diagnostics.Debugger.Break();
                //throw new FaultException(updateEx.Message);
                var fault = new ValidationFault
                {
                    Result = false,
                    Message = updateEx.Message,
                    Description = updateEx.StackTrace
                };
                throw new FaultException<ValidationFault>(fault);
            }
        }
        public void ShouldDefaultConstructToValid()
        {
            ValidationFault fault = new ValidationFault();

            Assert.IsTrue(fault.IsValid);
            Assert.AreEqual(0, fault.Details.Count);
        }
示例#6
0
 public async Task<xcuda_Delivery_terms> Createxcuda_Delivery_terms(xcuda_Delivery_terms entity)
 {
     try
     {
         var res = (xcuda_Delivery_terms) entity;
       using ( var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
       {
         dbContext.xcuda_Delivery_terms.Add(res);
         await dbContext.SaveChangesAsync().ConfigureAwait(continueOnCapturedContext: false);
         res.AcceptChanges();
         return res;
       }
     }
     catch (Exception updateEx)
     {
             System.Diagnostics.Debugger.Break();
         //throw new FaultException(updateEx.Message);
             var fault = new ValidationFault
                         {
                             Result = false,
                             Message = updateEx.Message,
                             Description = updateEx.StackTrace
                         };
             throw new FaultException<ValidationFault>(fault);
     }
 }
示例#7
0
        public bool ValidateInstallation()
        {
            try
            {
                return(WaterNut.DataSpace.BaseDataModel.Instance.ValidateInstallation());
            }
            catch (Exception e)
            {
                var ex = e;
                while (ex.InnerException != null)
                {
                    ex = ex.InnerException;
                }

                if (ex.Message.Contains("Login failed for user"))
                {
                    RunCmd("sqllocaldb stop mssqllocaldb");
                    RunCmd("sqllocaldb delete mssqllocaldb");
                    RunCmd("sqllocaldb start \"MSSQLLocalDB\"");
                }
                var fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = ex.StackTrace
                };
                throw new FaultException <ValidationFault>(fault, ex.Message);
            }
        }
示例#8
0
			        public async Task<IEnumerable<xcuda_Delivery_terms>> Getxcuda_Delivery_termsByTransport_Id(string Transport_Id, List<string> includesLst = null)
        {
            try
            {
                using ( var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
              {
                var i = Convert.ToInt32(Transport_Id);
                var set = AddIncludes(includesLst, dbContext);
                IEnumerable<xcuda_Delivery_terms> entities = await set//dbContext.xcuda_Delivery_terms
                                      .AsNoTracking()
                                        .Where(x => x.Transport_Id.ToString() == Transport_Id.ToString())
										.ToListAsync()
										.ConfigureAwait(continueOnCapturedContext: false);
                return entities;
              }
             }
            catch (Exception updateEx)
            {
                System.Diagnostics.Debugger.Break();
                //throw new FaultException(updateEx.Message);
                    var fault = new ValidationFault
                                {
                                    Result = false,
                                    Message = updateEx.Message,
                                    Description = updateEx.StackTrace
                                };
                    throw new FaultException<ValidationFault>(fault);
            }
        }
示例#9
0
        public async Task<IEnumerable<xcuda_Delivery_terms>> Getxcuda_Delivery_terms(List<string> includesLst = null, bool tracking = true)
        {
            try
            {
            //using (var scope = new TransactionScope(TransactionScopeOption.Required,
                                   //new TransactionOptions() {IsolationLevel = IsolationLevel.ReadUncommitted}))
               // {
                  using ( var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
                  {
				    var set = AddIncludes(includesLst, dbContext);
                    IEnumerable<xcuda_Delivery_terms> entities = await set.AsNoTracking().ToListAsync()
													       .ConfigureAwait(continueOnCapturedContext: false);
                           //scope.Complete();
                            if(tracking) entities.AsParallel(new ParallelLinqOptions() { MaxDegreeOfParallelism = Environment.ProcessorCount }).ForAll(x => x.StartTracking());
                            return entities;
                   }
                //}
             }
            catch (Exception updateEx)
            {
                    System.Diagnostics.Debugger.Break();
                //throw new FaultException(updateEx.Message);
                    var fault = new ValidationFault
                                {
                                    Result = false,
                                    Message = updateEx.Message,
                                    Description = updateEx.StackTrace
                                };
                    throw new FaultException<ValidationFault>(fault);
            }
        }
示例#10
0
		 public string MinField(string whereExp, string field)
         {
             try
             {
                 using (var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
                 {
					string res = "";
                     if (string.IsNullOrEmpty(whereExp) || whereExp == "None") return res;
                     if (whereExp == "All")
                     {
                          res = Convert.ToString(dbContext.xcuda_Delivery_terms.AsNoTracking().Min(field));
                     }
                     else
                     {
                         res = Convert.ToString(dbContext.xcuda_Delivery_terms.AsNoTracking().Where(whereExp).Min(field));
                     }
                     
                     return res;
                 }
             }
             catch (Exception updateEx)
             {
                    System.Diagnostics.Debugger.Break();
                //throw new FaultException(updateEx.Message);
                    var fault = new ValidationFault
                                {
                                    Result = false,
                                    Message = updateEx.Message,
                                    Description = updateEx.StackTrace
                                };
                    throw new FaultException<ValidationFault>(fault);
             }
         }
        public RequestResult InsertBoardDirectorsRemuneration(
            BoardDirectorsRemunerationInfo BoardDirectorsRemunerationInfo,
            List <Files> Files
            )
        {
            try
            {
                /// Data Validations
                DataValidation.IsEmptyOrDefault2(BoardDirectorsRemunerationInfo);
                DataValidation.IsEmptyOrDefault2(BoardDirectorsRemunerationInfo.CheckedData);
                DataValidation.IsEmptyOrDefault2(BoardDirectorsRemunerationInfo.ManagersInfo);
                DataValidation.IsEmptyOrDefault2(BoardDirectorsRemunerationInfo.MeetingInfo);
                DataValidation.IsEmptyOrDefaultList2(Files);

                //if (DataValidation.IsEmptyOrDefault(BoardDirectorsRemunerationInfo) ||
                //    DataValidation.IsEmptyOrDefault(BoardDirectorsRemunerationInfo.CheckedData) ||
                //    DataValidation.IsEmptyOrDefault(BoardDirectorsRemunerationInfo.ManagersInfo) ||
                //    DataValidation.IsEmptyOrDefault(BoardDirectorsRemunerationInfo.MeetingInfo) ||
                //    DataValidation.IsEmptyOrDefaultList(Files))
                //    throw new FaultException<ValidationFault>(new ValidationFault());


                /// Call Database
                using (CooperativeDAL dal = new CooperativeDAL(new ADO()))
                {
                    return(dal.InsertBoardDirectorsRemunerationDAL(
                               BoardDirectorsRemunerationInfo,
                               Files
                               ));
                }
            }
            catch (FaultException <ValidationFault> flex)
            {
                //ValidationFault fault = new ValidationFault
                //{
                //    Result = true,
                //    Message = "Parameter not correct",
                //    Description = "Invalid Parameters is Required but have null or empty or 0 value"
                //};

                //var flex = new FaultException<ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

                _log.Error(flex);

                throw flex;
            }
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
示例#12
0
        public async Task<bool> Deletexcuda_Delivery_terms(string Delivery_terms_Id)
        {
            try
            {
              using ( var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
              {
                var i = Convert.ToInt32(Delivery_terms_Id);
                xcuda_Delivery_terms entity = await dbContext.xcuda_Delivery_terms
													.SingleOrDefaultAsync(x => x.Delivery_terms_Id == i)
													.ConfigureAwait(continueOnCapturedContext: false);
                if (entity == null)
                    return false;

                    dbContext.xcuda_Delivery_terms.Attach(entity);
                    dbContext.xcuda_Delivery_terms.Remove(entity);
                    await dbContext.SaveChangesAsync().ConfigureAwait(continueOnCapturedContext: false);
                    return true;
              }
            }
            catch (Exception updateEx)
            {
                    System.Diagnostics.Debugger.Break();
                //throw new FaultException(updateEx.Message);
                    var fault = new ValidationFault
                                {
                                    Result = false,
                                    Message = updateEx.Message,
                                    Description = updateEx.StackTrace
                                };
                    throw new FaultException<ValidationFault>(fault);
            }
        }
        public void Ctor_WithMessage_MessagePropIsSetCorrect()
        {
            var fault = new ValidationFault("Test");

            Assert.Equal("Test", fault.Message);
            Assert.Equal(string.Empty, fault.PropertyName);
        }
 public void ShouldBeInvalidAfterAddingDetail()
 {
     ValidationFault fault = new ValidationFault();
     fault.Add(new ValidationDetail("message", "key", "tag"));
     Assert.IsFalse(fault.IsValid);
     Assert.AreEqual(1, fault.Details.Count);
 }
        public void ShouldBeInvalidAfterAddingDetail()
        {
            ValidationFault fault = new ValidationFault();

            fault.Add(new ValidationDetail("message", "key", "tag"));
            Assert.IsFalse(fault.IsValid);
            Assert.AreEqual(1, fault.Details.Count);
        }
        public VoidResult(string propertyName, string errorMessage)
        {
            Contract.Requires(!string.IsNullOrWhiteSpace(propertyName));
            Contract.Requires(!string.IsNullOrWhiteSpace(errorMessage));
            var fault = new ValidationFault();

            fault.AddError(propertyName, errorMessage);
            Fault = fault;
        }
        /// <summary>
        /// فحص هل هنالك طلب من نفس النوع لهذه الجهة تم قبوله و يكون على مستويين
        /// </summary>
        /// <param name="CheckType"></param>
        /// <param name="AgencyType"></param>
        /// <param name="AgencyLicenseNumber"></param>
        /// <param name="SubsidyCode"></param>
        /// <returns></returns>
        public RequestPreviousStatus CheckPreviousRequestsStatus(
            int CheckType,
            int AgencyType,
            long AgencyLicenseNumber,
            int SubsidyCode
            )
        {
            try
            {
                /// Data Validations
                if (CheckType <= 0 ||
                    AgencyType <= 0 ||
                    AgencyLicenseNumber <= 0 ||
                    SubsidyCode <= 0)
                {
                    throw new FaultException <ValidationFault>(new ValidationFault());
                }

                using (CommonDAL dal = new CommonDAL(new ADO()))
                {
                    return(dal.CheckPreviousRequestsStatusDAL(
                               CheckType,
                               AgencyType,
                               AgencyLicenseNumber,
                               SubsidyCode
                               ));
                }
            }
            catch (FaultException <ValidationFault> )
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = true,
                    Message     = "Parameter not correct",
                    Description = "Invalid Parameter Name or All Parameters are nullu"
                };

                var flex = new FaultException <ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

                _log.Error(flex);

                throw flex;
            }
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
        public IEnumerable <LookupTable> GetSubLookup(
            string ApplicationCode,
            int TabNumber,
            int SubTabNumber
            )
        {
            try
            {
                /// Data Validations
                if (String.IsNullOrEmpty(ApplicationCode) ||
                    TabNumber <= 0 ||
                    SubTabNumber <= 0)
                {
                    throw new FaultException <ValidationFault>(new ValidationFault());
                }


                /// Call Database
                using (CommonDAL dal = new CommonDAL(new ADO()))
                {
                    return(dal.GetSubLookupDAL(
                               ApplicationCode,
                               TabNumber,
                               SubTabNumber
                               ));
                }
            }
            catch (FaultException <ValidationFault> )
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = true,
                    Message     = "Parameter not correct",
                    Description = "Invalid Parameter Name or All Parameters are nullu"
                };

                var flex = new FaultException <ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

                _log.Error(flex);

                throw flex;
            }
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
        public static ValidationResults ToValidationResults(this ValidationFault fault)
        {
            ValidationResults result = new ValidationResults();

            foreach (ValidationDetail detail in fault.Details)
            {
                result.AddResult(new ValidationResult(detail.Message, null, detail.Key, detail.Tag, null));
            }
            return(result);
        }
示例#20
0
        public static IList <ValidationResult> ToValidationResults(this ValidationFault fault)
        {
            List <ValidationResult> result = new List <ValidationResult>();

            foreach (ValidationDetail detail in fault.Details)
            {
                result.Add(new ValidationResult(detail.Message, detail.Key, detail.Tag));
            }
            return(result);
        }
示例#21
0
        public RequestResult InsertFoundationAdditionalSubsidyCommittees(
            CommitteeRequestInfo CommitteeRequestInfo
            )
        {
            try
            {
                /// Data Validations
                DataValidation.IsEmptyOrDefault2(CommitteeRequestInfo);
                DataValidation.IsEmptyOrDefault2(CommitteeRequestInfo.CheckedData);
                DataValidation.IsEmptyOrDefaultList2(CommitteeRequestInfo.Projects);

                //if (DataValidation.IsEmptyOrDefault(CommitteeRequestInfo) ||
                //    DataValidation.IsEmptyOrDefault(CommitteeRequestInfo.CheckedData) ||
                //    DataValidation.IsEmptyOrDefaultList(CommitteeRequestInfo.Projects))
                //    throw new FaultException<ValidationFault>(new ValidationFault());


                /// Call Database
                using (CommitteesDAL dal = new CommitteesDAL(new ADO(true)))
                {
                    return(dal.InsertFoundationAdditionalSubsidyCommitteesDAL(
                               CommitteeRequestInfo
                               ));
                }
            }
            catch (FaultException <ValidationFault> flex)
            {
                //ValidationFault fault = new ValidationFault
                //{
                //    Result = true,
                //    Message = "Parameter not correct",
                //    Description = "Invalid Parameters is Required but have null or empty or 0 value"
                //};

                //var flex = new FaultException<ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

                _log.Error(flex);

                throw flex;
            }
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
示例#22
0
        public void ShouldHaveValidationErrorType()
        {
            // Arrange
            var fault = new ValidationFault();

            // Act
            var type = fault.Type;

            // Assert
            type.Should().Be(ErrorType.ValidationError);
        }
示例#23
0
		public async Task<IEnumerable<xcuda_Delivery_terms>> Getxcuda_Delivery_termsByExpressionNav(string exp,
																							  Dictionary<string, string> navExp,
																							  List<string> includesLst = null, bool tracking = true)
        {
            try
            {
                using (var dbContext = new DocumentDSContext(){StartTracking = StartTracking})
                {

                    if (string.IsNullOrEmpty(exp) || exp == "None") return new List<xcuda_Delivery_terms>();

                    if (exp == "All" && navExp.Count == 0)
                    {
                        var aentities = await AddIncludes(includesLst, dbContext)
												.ToListAsync()
												.ConfigureAwait(continueOnCapturedContext: false);
                        if(tracking) aentities.AsParallel(new ParallelLinqOptions() { MaxDegreeOfParallelism = Environment.ProcessorCount }).ForAll(x => x.StartTracking());
                        return aentities; 
                    }
                    foreach (var itm in navExp)
                    {
                        switch (itm.Key)
                        {
                            case "xcuda_Transport":
                                return
                                    await
                                        GetWhere<xcuda_Transport>(dbContext, exp, itm.Value, "xcuda_Delivery_terms", "SelectMany", includesLst)
										.ConfigureAwait(continueOnCapturedContext: false);

                        }

                    }
					var set = AddIncludes(includesLst, dbContext);
                    var entities = await set.AsNoTracking().Where(exp)
									.ToListAsync()
									.ConfigureAwait(continueOnCapturedContext: false);
                    if(tracking) entities.AsParallel(new ParallelLinqOptions() { MaxDegreeOfParallelism = Environment.ProcessorCount }).ForAll(x => x.StartTracking());
                        return entities; 

                }
            }
            catch (Exception updateEx)
            {
                    System.Diagnostics.Debugger.Break();
                //throw new FaultException(updateEx.Message);
                    var fault = new ValidationFault
                                {
                                    Result = false,
                                    Message = updateEx.Message,
                                    Description = updateEx.StackTrace
                                };
                    throw new FaultException<ValidationFault>(fault);
            }
        }
        public void ShouldBeInvalidWhenConstructedWithDetails()
        {
            ValidationDetail[] details = {
                                             new ValidationDetail("m1", "k1", "t1"),
                                             new ValidationDetail("m2", "k2", "t2")
                                         };

            ValidationFault fault = new ValidationFault(details);
            Assert.IsFalse(fault.IsValid);
            Assert.AreEqual(2, fault.Details.Count);
        }
        /// <summary>
        /// احضار بيانات الإعانات مع انواع الجمعيه
        /// </summary>
        /// <param name="AgencyType"></param>
        /// <param name="SubsidyCode"></param>
        /// <returns></returns>
        public IEnumerable <Subsidy> CheckSubsidyInfo(
            int?AgencyType,
            int?SubsidyCode
            )
        {
            try
            {
                /// Data Validations
                if (AgencyType <= 0 ||
                    SubsidyCode <= 0)
                {
                    throw new FaultException <ValidationFault>(new ValidationFault());
                }


                /// Call Database
                using (CommonDAL dal = new CommonDAL(new ADO()))
                {
                    return(dal.CheckSubsidyInfoDAL(
                               AgencyType,
                               SubsidyCode
                               ));
                }
            }
            catch (FaultException <ValidationFault> )
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = true,
                    Message     = "Parameter not correct",
                    Description = "Invalid Parameter Name or All Parameters are nullu"
                };

                var flex = new FaultException <ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

                _log.Error(flex);

                throw flex;
            }
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
            public void ThrowExceptionOnValidationFault()
            {
                // arrange
                var fault = new ValidationFault(new[] { new ValidationDetail {
                                                            Message = "test"
                                                        } });
                var exception = new FaultException <ValidationFault>(fault);

                wcf.Setup(w => w.GetRjcpTransitionJobseekerDetails(It.IsAny <TransitionJobseekerDetailsRequest>())).Throws(exception);
                // act
                TransitionService().GetParticipantInformation(jskrId);
                // assert
            }
        public void ShouldBeInvalidWhenConstructedWithDetails()
        {
            ValidationDetail[] details =
            {
                new ValidationDetail("m1", "k1", "t1"),
                new ValidationDetail("m2", "k2", "t2")
            };

            ValidationFault fault = new ValidationFault(details);

            Assert.IsFalse(fault.IsValid);
            Assert.AreEqual(2, fault.Details.Count);
        }
            public void ThrowExceptionOnValidationFault()
            {
                // arrange
                var fault = new ValidationFault(new[] { new ValidationDetail {
                                                            Message = "test"
                                                        } });
                var exception = new FaultException <ValidationFault>(fault);

                wcf.Setup(w => w.GetRjcpProviderInformation(searchRequest)).Throws(exception);
                // act
                TransitionService().GetProviderInformation(searchModel);
                // assert
            }
        /// <summary>
        /// تحويل رقم إلى نص
        /// </summary>
        /// <param name="Number"></param>
        /// <returns></returns>
        public string NumberToText(
            decimal Number
            )
        {
            try
            {
                /// Data Validations
                if (Number <= 0)
                {
                    throw new FaultException <ValidationFault>(new ValidationFault());
                }

                using (CommonDAL dal = new CommonDAL(new ADO()))
                {
                    return(dal.NumberToTextDAL(
                               Number
                               ));
                }
            }
            catch (FaultException <ValidationFault> )
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = true,
                    Message     = "Parameter not correct",
                    Description = "Invalid Parameter Name or All Parameters are nullu"
                };

                var flex = new FaultException <ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

                _log.Error(flex);

                throw flex;
            }
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
        /// <summary>
        /// المبادرات
        /// </summary>
        /// <returns></returns>
        public IEnumerable <LookupTable> GetInitiatives()
        {
            try
            {
                ///// Data Validations
                //if (String.IsNullOrEmpty(ApplicationCode) ||
                //    TabNumber <= 0 ||
                //    SubTabNumber <= 0)
                //    throw new FaultException<ValidationFault>(new ValidationFault());


                /// Call Database
                using (CommitteesDAL dal = new CommitteesDAL(new ADO()))
                {
                    return(dal.GetInitiativesDAL());
                }
            }
            //catch (FaultException<ValidationFault>)
            //{
            //    ValidationFault fault = new ValidationFault
            //    {
            //        Result = true,
            //        Message = "Parameter not correct",
            //        Description = "Invalid Parameter Name or All Parameters are nullu"
            //    };

            //    var flex = new FaultException<ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

            //    _log.Error(flex);

            //    throw flex;
            //}
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
示例#31
0
        public bool HandleException(Exception ex)
        {
            if (ex is FaultException <ServiceFault> )
            {
                ServiceFault fault = ((FaultException <ServiceFault>)ex).Detail;
                switch (fault.FaultType)
                {
                case FaultType.General:
                    FireEvent(ex.Message, "Error!");
                    break;

                case FaultType.Validation:
                    FireEvent(ex.Message, "Validierung auf dem Server fehlgeschlagen!");
                    break;

                case FaultType.Concurrency:
                    FireEvent("Eine andere Person hat diese Daten in der Zwischenzeit bearbeitet.", "Es ist ein Optimistic-Concurrency-Fehler aufgetreten!");
                    break;
                }
            }
            else if (ex is FaultException <ValidationFault> )
            {
                ValidationFault fault   = ((FaultException <ValidationFault>)ex).Detail;
                StringBuilder   builder = new StringBuilder();
                builder.AppendLine("Validierung auf dem Server fehlgeschlagen!");
                foreach (ValidationDetail result in fault.Details)
                {
                    builder.AppendLine(
                        string.Format(CultureInfo.CurrentCulture,
                                      "{0}: {1}",
                                      result.Key,
                                      result.Message));
                }
                FireEvent(builder.ToString(), "Error!");
            }
            else if (ex is UIException)
            {
                // Exception was already handled.
            }
            else
            {
                FireEvent(ex.Message, "Error!");
            }

            return(true);
        }
        /// <summary>
        /// هل المفوض له صلاحية على الخدمة
        /// </summary>
        /// <param name="DelegatorInfo"></param>
        /// <returns></returns>
        public IsDelegatorAuthorizedResult IsDelegatorAuthorized(
            DelegatorInfo DelegatorInfo
            )
        {
            try
            {
                /// Data Validations
                DataValidation.IsEmptyOrDefault2(DelegatorInfo);

                using (CommonDAL dal = new CommonDAL(new ADO()))
                {
                    return(dal.IsDelegatorAuthorizedDAL(
                               DelegatorInfo
                               ));
                }
            }
            catch (FaultException <ValidationFault> flex)
            {
                //ValidationFault fault = new ValidationFault
                //{
                //    Result = true,
                //    Message = "Parameter not correct",
                //    Description = "Invalid Parameter Name or All Parameters are nullu"
                //};

                //var flex = new FaultException<ValidationFault>(fault, new FaultReason("Invalid Parameters is Required but have null or empty or 0 value"));

                _log.Error(flex);

                throw flex;
            }
            catch (Exception ex)
            {
                ValidationFault fault = new ValidationFault
                {
                    Result      = false,
                    Message     = ex.Message,
                    Description = "Service have an internal error please contact service administartor [email protected]"
                };

                _log.Error(ex);

                throw new FaultException <ValidationFault>(fault);
            }
        }
 public void ShouldDefaultConstructToValid()
 {
     ValidationFault fault = new ValidationFault();
     Assert.IsTrue(fault.IsValid);
     Assert.AreEqual(0, fault.Details.Count);
 }