예제 #1
0
        public static void Update(Event obj)
        {
            if (obj == null)
                throw new Exception("Object is null");

            if (obj.FromDate > obj.ToDate)
                throw new Exception("ErrFromDateLessThanToDate");

            EventDataMapper objCaller = new EventDataMapper();

            objCaller.Update(obj);
        }
예제 #2
0
        public static int Add(Event obj)
        {
            if (obj == null)
                throw new Exception("Object is null");

            if (obj.FromDate > obj.ToDate)
                throw new Exception("ErrFromDateLessThanToDate");

            EventDataMapper objCaller = new EventDataMapper();

            return objCaller.Add(obj);
        }
예제 #3
0
        public void PopulateEvent(SqlDataReader _dtr, Event obj)
        {
            int columnIndex = 0;
            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_CATEGORY_ID);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.CategoryID = _dtr.GetInt32((columnIndex));
            }

            int TotalDays = 0, TotalSeconds = 0;
            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_CREATED_TOT_DAY);
            if (!_dtr.IsDBNull(columnIndex))
            {
                TotalDays = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_CREATED_TOT_SECOND);
            if (!_dtr.IsDBNull(columnIndex))
            {
                TotalSeconds = _dtr.GetInt32((columnIndex));
            }
            obj.CreationDate = Helper.HelperMethods.ConvertToDateTime(TotalDays, TotalSeconds);

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_CREATED_BY);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.CreatedBy = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_DETAILS);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.DetailsHtml = _dtr.GetString((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_DURATION);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.Duration = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_EVENT_LOCATION_ID);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.LocationID = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_EVERY);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.Every = _dtr.GetInt32((columnIndex));
            }

            TotalDays = 0;
            TotalSeconds = 0;
            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_FROM_TOT_DAY);
            if (!_dtr.IsDBNull(columnIndex))
            {
                TotalDays = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_FROM_TOT_SECOND);
            if (!_dtr.IsDBNull(columnIndex))
            {
                TotalSeconds = _dtr.GetInt32((columnIndex));
            }
            obj.FromDate = Helper.HelperMethods.ConvertToDateTime(TotalDays, TotalSeconds);

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_ID);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.ID = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_IMAGE_URL);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.ImageURL = _dtr.GetString((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_IS_DELETED);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.IsDeleted = _dtr.GetBoolean((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_NAME);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.Name = _dtr.GetString((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_NOTIFY);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.Notify = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_PERIOD);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.Period = _dtr.GetString((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_REMINDER);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.Reminder = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_REPEAT_TYPE);
            if (!_dtr.IsDBNull(columnIndex))
            {
                obj.RepeatType = (RootEnums.EventRepeatType)_dtr.GetInt32((columnIndex));
            }

            TotalDays = 0;
            TotalSeconds = 0;
            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_TO_TOT_DAY);
            if (!_dtr.IsDBNull(columnIndex))
            {
                TotalDays = _dtr.GetInt32((columnIndex));
            }

            columnIndex = _dtr.GetOrdinal(EventDataMapper.CN_EVENT_TO_TOT_SECOND);
            if (!_dtr.IsDBNull(columnIndex))
            {
                TotalSeconds = _dtr.GetInt32((columnIndex));
            }
            obj.ToDate = Helper.HelperMethods.ConvertToDateTime(TotalDays, TotalSeconds);
        }
예제 #4
0
 public static bool ValidAddEvent(Event obj, DateTime dateTime)
 {
     DateTime FromDateTime = obj.FromDate;
     DateTime ToDateTime = obj.ToDate;
     FromDateTime = new DateTime(FromDateTime.Year, FromDateTime.Month, FromDateTime.Day);
     ToDateTime = new DateTime(ToDateTime.Year, ToDateTime.Month, ToDateTime.Day);
     if (FromDateTime <= dateTime && ToDateTime >= dateTime)
     {
         int dayDifference = 0;
         switch (obj.RepeatType)
         {
             case Enums.RootEnums.EventRepeatType.DoNotRepeat:
                 return FromDateTime.Year == dateTime.Year && FromDateTime.Month == dateTime.Month && FromDateTime.Day == dateTime.Day;
             case Enums.RootEnums.EventRepeatType.Daily:
                 //every days
                 dayDifference = (dateTime - FromDateTime).Days % obj.Every;
                 return dayDifference == 0;
             case Enums.RootEnums.EventRepeatType.Weekly:
                 dayDifference = (dateTime - FromDateTime).Days % (obj.Every * 7);
                 if (dayDifference < 7)
                 {
                     List<int> daysOnWeek = new List<int>();
                     if (!string.IsNullOrEmpty(obj.Period))
                         daysOnWeek = obj.Period.Split(';').Select(p => Convert.ToInt32(p)).ToList();
                     return daysOnWeek.Contains((int)dateTime.DayOfWeek);
                 }
                 break;
             case Enums.RootEnums.EventRepeatType.Monthly:
                 int monthDiff = (dateTime.Year - FromDateTime.Year) * 12 + dateTime.Month - FromDateTime.Month;
                 if (monthDiff % obj.Every == 0)
                 {
                     int dayInMonth = 0;
                     int.TryParse(obj.Period, out dayInMonth);
                     if (RootEnums.EventMonthlyType.Last == (RootEnums.EventMonthlyType)dayInMonth)
                         return DateTime.DaysInMonth(dateTime.Year, dateTime.Month) == dateTime.Day;
                     return dateTime.Day == dayInMonth;
                 }
                 break;
             case Enums.RootEnums.EventRepeatType.Yearly:
                 int yearDiff = (dateTime.Year - FromDateTime.Year) % obj.Every;
                 return yearDiff == 0 && dateTime.Month == FromDateTime.Month && dateTime.Day == FromDateTime.Day;
         }
     }
     return false;
 }
예제 #5
0
        public int Add(Event obj)
        {
            _connection.ConnectionString = _ConnectionString;
            _command.Connection = _connection;
            _command.CommandType = CommandType.StoredProcedure;
            _command.CommandText = SP_ADD_EVENT;

            #region [Parameters]
            SqlParameter parameter = new SqlParameter(PN_EVENT_ID, System.Data.SqlDbType.Int);
            parameter.Direction = System.Data.ParameterDirection.Output;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_CATEGORY_ID, System.Data.SqlDbType.Int);
            parameter.Value = obj.CategoryID;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_CREATED_BY, System.Data.SqlDbType.Int);
            parameter.Value = obj.CreatedBy;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_CREATED_TOT_DAY, System.Data.SqlDbType.Int);
            parameter.Value = Helper.HelperMethods.GetTotalDays(obj.CreationDate);
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_CREATED_TOT_SECOND, System.Data.SqlDbType.Int);
            parameter.Value = Helper.HelperMethods.GetTotalSeconds(obj.CreationDate);
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_DETAILS, System.Data.SqlDbType.NText);
            parameter.Value = obj.DetailsHtml;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_DURATION, System.Data.SqlDbType.Int);
            parameter.Value = obj.Duration;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_EVENT_LOCATION_ID, System.Data.SqlDbType.Int);
            parameter.Value = obj.LocationID;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_EVERY, System.Data.SqlDbType.Int);
            parameter.Value = obj.Every;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_FROM_TOT_DAY, System.Data.SqlDbType.Int);
            parameter.Value = Helper.HelperMethods.GetTotalDays(obj.FromDate);
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_FROM_TOT_SECOND, System.Data.SqlDbType.Int);
            parameter.Value = Helper.HelperMethods.GetTotalSeconds(obj.FromDate);
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_IMAGE_URL, System.Data.SqlDbType.NVarChar);
            parameter.Value = obj.ImageURL;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_IS_DELETED, System.Data.SqlDbType.Bit);
            parameter.Value = obj.IsDeleted;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_NAME, System.Data.SqlDbType.NVarChar);
            parameter.Value = obj.Name;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_NOTIFY, System.Data.SqlDbType.Int);
            parameter.Value = obj.Notify;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_PERIOD, System.Data.SqlDbType.NVarChar);
            parameter.Value = obj.Period;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_REMINDER, System.Data.SqlDbType.Int);
            parameter.Value = obj.Reminder;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_REPEAT_TYPE, System.Data.SqlDbType.Int);
            parameter.Value = obj.RepeatType;
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_TO_TOT_DAY, System.Data.SqlDbType.Int);
            parameter.Value = Helper.HelperMethods.GetTotalDays(obj.ToDate);
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            parameter = new SqlParameter(PN_EVENT_TO_TOT_SECOND, System.Data.SqlDbType.Int);
            parameter.Value = Helper.HelperMethods.GetTotalSeconds(obj.ToDate);
            parameter.Direction = System.Data.ParameterDirection.Input;
            _command.Parameters.Add(parameter);

            #endregion

            _connection.Open();
            _command.ExecuteNonQuery();
            _connection.Close();
            obj.ID = Convert.ToInt32(_command.Parameters[PN_EVENT_ID].Value);
            return obj.ID;
        }
예제 #6
0
 private void GetEntityFromReader(SqlDataReader _dtr, Event obj)
 {
     PopulateEvent(_dtr, obj);
 }
예제 #7
0
 public Event GetEvent(SqlDataReader _dtr, IList<Event> colobj)
 {
     Event obj = colobj.Where(t => t.ID == Convert.ToInt32(_dtr[CN_EVENT_ID].ToString())).FirstOrDefault();
     if (null == obj)
     {
         obj = new Event();
         colobj.Add(obj);
     }
     return obj;
 }
예제 #8
0
        public Event GetByID(int ID)
        {
            Event obj = null;
            _connection.ConnectionString = _ConnectionString;
            _command.Connection = _connection;
            _command.CommandType = CommandType.StoredProcedure;
            _command.CommandText = SP_GET_EVENT_BY_ID;

            #region [Parameters]
            SqlParameter parameterID = new SqlParameter(PN_EVENT_ID, SqlDbType.Int);
            parameterID.Value = ID;
            parameterID.Direction = ParameterDirection.Input;
            _command.Parameters.Add(parameterID);
            #endregion

            _connection.Open();
            try
            {
                using (_dtreader = _command.ExecuteReader())
                {
                    if (_dtreader != null && _dtreader.HasRows)
                    {
                        while (_dtreader.Read())
                        {
                            if (obj == null)
                                obj = new Event();
                            GetEntityFromReader(_dtreader, obj);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                _dtreader.Close();
                _connection.Close();
            }

            return obj;
        }