/// <summary>
        /// Used to save a timeZone Entry
        /// </summary>
        /// <returns></returns>
        public int SaveTimeZone(TimeZoneEntryModel entry)
        {
            var timeDifferenceSpan = new TimeSpan(entry.HourDifference, entry.MinuteDifference, 0).Ticks;

            if (entry.TimeZoneEntryId != 0)
                return new Data.TimeZoneEntryMethods().ModifyTimeZoneEntry(new TimeZoneEntry
                {
                    City = entry.City,
                    EntryName = entry.EntryName,
                    UserId = entry.UserId,
                    Id = entry.TimeZoneEntryId,
                    Difference = timeDifferenceSpan
                });

            return new Data.TimeZoneEntryMethods().SaveNewTimeZoneEntry(new TimeZoneEntry
            {
                City = entry.City,
                EntryName = entry.EntryName,
                UserId = entry.UserId,
                Difference = timeDifferenceSpan,
                IsActive = true
            });
        }
        public int SaveTimeZone(TimeZoneEntryModel entry)
        {
            try
            {
                if (Math.Abs(entry.HourDifference) > 14 || Math.Abs(entry.MinuteDifference) > 60)
                    throw new HttpResponseException(HttpStatusCode.BadRequest);

                TimeZoneEntryModel entryData = null;

                if (entry.TimeZoneEntryId != 0)
                    entryData = new TimeZoneEntryMethods().GetTimeZoneInformation(entry.TimeZoneEntryId);

                if (entry.TimeZoneEntryId != 0 && entryData == null)
                    throw new EntryNotFound();

                entry.UserId = new UserInformation().GetCurrentUserInformation().UserId;

                if (entry.TimeZoneEntryId != 0 && entryData.UserId != entry.UserId)
                    throw new UnAuthorize("User Not Authorize");

                return new Business.TimeZoneEntryMethods().SaveTimeZone(entry);
            }
            catch (EntryNotFound ex)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound)
                {
                    Content = new StringContent(string.Format("No Entry with ID = {0}", entry.TimeZoneEntryId)),
                    ReasonPhrase = "Entry Not Found"
                });

            }
            catch (HttpResponseException ex)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest)
                {
                    Content = new StringContent(string.Format("HourDifference or Minute Difference not valid.")),
                    ReasonPhrase = "Bad Request"
                });
            }
            catch (UnAuthorize ex)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Unauthorized)
                {
                    Content = new StringContent(string.Format("You are not authorize.")),
                    ReasonPhrase = "UnAuthorize"
                });
            }
            catch (Exception ex)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.ServiceUnavailable)
                {
                    Content = new StringContent(string.Format("Service is currently unavailable.")),
                    ReasonPhrase = "Service Unavailable "
                });
            }
        }