public JsonResult Edit(string name, DateTime?startDate, DateTime?endDate)
        {
            var apiResult = new APIResult();

            try
            {
                var model = new HolidaySet()
                {
                    Name      = name,
                    StartDate = startDate == null?0:TypeConvert.DateTimeToInt(DateTime.Parse((startDate.Value.ToShortDateString()))),
                    EndDate   = endDate == null?0:TypeConvert.DateTimeToInt(DateTime.Parse((endDate.Value.ToShortDateString() + " 23:59:59")))
                };
                HolidaySetBll.AddOrUpdate(model, UserContext.CurrentUser.HotelId);
            }
            catch (Exception ex)
            {
                apiResult.Ret = -1;
                apiResult.Msg = ex.Message;
                if (!(ex is OperationExceptionFacade))
                {
                    LogFactory.GetLogger().Log(LogLevel.Error, ex);
                }
            }

            return(Json(apiResult));
        }
        public void TestSerialization()
        {
            var easterMonday = new Holiday(){Name = "Easter Monday", Inner = new DaysAfter() {Days = 1, Inner = new EasterSunday()}};
            var boxingDay = new Holiday()
            {
                Name = "Boxing Day", Inner = new WeekdayOnOrAfter()
                {
                    Inner = new DaysAfter()
                    {
                        Days = 1,
                        Inner = new WeekdayOnOrAfter()
                        {
                            Inner = new FixedDate() { Day = 25, Month = 12 }
                        }
                    }

                }
            };

            var dateSet = new HolidaySet() {easterMonday, boxingDay};

            StringBuilder builder = new StringBuilder();
            XmlSerializer s = new XmlSerializer(dateSet.GetType());
            using (StringWriter writer = new StringWriter(builder))
            {
                s.Serialize(writer, dateSet);
            }
            string myXml = builder.ToString();
        }