/// <summary>
        /// Validate Event Entity
        /// </summary>
        /// <param name="item">Entity to validate</param>
        /// <param name="errorMessage">error message if vlidation failed</param>
        /// <returns>return true if entity passes validation logic, else return false</returns>
        public static bool Validate(Event item, out string errorMessage)
        {
            StringBuilder builder = new StringBuilder();

            if (!item.EndDate.IsValidWithSqlDateStandards())
            {
                builder.AppendHtmlLine("*End date is required");
            }

            if (!item.StartDate.IsValidWithSqlDateStandards())
            {
                builder.AppendHtmlLine("*Start date is required");
            }

            if (item.EndDate.OnOrBefore(item.StartDate))
            {
                builder.AppendHtmlLine("*End date must be after start date");
            }

            if (item.ConferenceId == default(int))
            {
                builder.AppendHtmlLine("*Conference is required");
            }

            if (!IsEventValidForConference(item))
            {
                builder.AppendHtmlLine("*Event is not valid for the selected conference");
            }

            if (item.FoodPreference == EnumFoodPreference.None)
            {
                builder.AppendHtmlLine("*Food preference is required");
            }

            if (item.PaperId == default(int))
            {
                builder.AppendHtmlLine("*Paper is required");
            }

            if (!IsEventPaperValidForConference(item))
            {
                builder.AppendHtmlLine("*A paper of this topic is already registered for this conference");
            }

            errorMessage = builder.ToString();

            return errorMessage.IsNullOrWhiteSpace();
        }
        /// <summary>
        /// Validate Conference Entity
        /// </summary>
        /// <param name="item">Entity to validate</param>
        /// <param name="errorMessage">error message if vlidation failed</param>
        /// <returns>return true if entity passes validation logic, else return false</returns>
        public static bool Validate(Conference item, out string errorMessage)
        {
            StringBuilder builder = new StringBuilder();

            if (item.ActivityType == EnumActivityType.None)
            {
                builder.AppendHtmlLine("*Activity type is required");
            }

            if (item.BaseFee == default(decimal))
            {
                builder.AppendHtmlLine("*Base fee is required");
            }

            if (item.Description.IsNullOrWhiteSpace())
            {
                builder.AppendHtmlLine("*Description is required");
            }

            if (!item.EndDate.IsValidWithSqlDateStandards())
            {
                builder.AppendHtmlLine("*End date is required");
            }

            if (!item.StartDate.IsValidWithSqlDateStandards())
            {
                builder.AppendHtmlLine("*Start date is required");
            }

            if (item.Name.IsNullOrWhiteSpace())
            {
                builder.AppendHtmlLine("*Name is required");
            }

            errorMessage = builder.ToString();

            return errorMessage.IsNullOrWhiteSpace();
        }