예제 #1
0
        public IList <Feedback> SelectByRatingPaging(int Rating, int PageIndex = 1, int PageSize = 15)
        {
            IList <Feedback> feedbacks = new List <Feedback>();
            int skipRows = (PageIndex - 1) * PageSize;

            using (FeedbackManagerDataContext dataContext = new FeedbackManagerDataContext(this.appConfig.ConnectionString))
            {
                try
                {
                    var dataItems = dataContext.FM_Feedbacks
                                    .Where(x => x.rating >= Rating)
                                    .OrderByDescending(x => x.create_date)
                                    .Skip(skipRows)
                                    .Take(PageSize);
                    if (dataItems != null)
                    {
                        foreach (var item in dataItems)
                        {
                            Feedback model = EntityMapper.MapToModel <Feedback, FM_Feedback>(item);
                            feedbacks.Add(model);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new LinqToSqlDataAccessException("Unable to SelectByRating.", ex);
                }
            }
            return(feedbacks);
        }
예제 #2
0
        private IList <Feedback> SelectMany(Expression <Func <FM_Feedback, bool> > Criteria)
        {
            IList <Feedback> feedbacks = new List <Feedback>();

            using (FeedbackManagerDataContext dataContext = new FeedbackManagerDataContext(this.appConfig.ConnectionString))
            {
                try
                {
                    // If criteria is Null select all.
                    IEnumerable <FM_Feedback> dataItems = Criteria == null ?
                                                          dataContext.FM_Feedbacks :
                                                          dataContext.FM_Feedbacks.Where(Criteria);


                    if (dataItems != null)
                    {
                        foreach (var item in dataItems)
                        {
                            Feedback model = EntityMapper.MapToModel <Feedback, FM_Feedback>(item);
                            feedbacks.Add(model);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new LinqToSqlDataAccessException("Unable to Select Many.", ex);
                }
            }

            return(feedbacks);
        }
예제 #3
0
        private IList <User> SelectMany(Expression <Func <FM_User, bool> > criteria)
        {
            IList <User> users = new List <User>();

            using (FeedbackManagerDataContext dataContext = new FeedbackManagerDataContext(this.appConfig.ConnectionString))
            {
                try
                {
                    // If criteria is Null select all Users.
                    var allUsers = criteria == null ? dataContext.FM_Users : dataContext.FM_Users.Where(criteria);
                    if (allUsers != null)
                    {
                        foreach (var fmUser in allUsers)
                        {
                            User user = EntityMapper.MapToModel <User, FM_User>(fmUser);
                            users.Add(user);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new LinqToSqlDataAccessException("Unable to Select Users.", ex);
                }
            }

            return(users);
        }
예제 #4
0
        public Feedback Insert(Feedback item)
        {
            using (FeedbackManagerDataContext dataContext = new FeedbackManagerDataContext(this.appConfig.ConnectionString))
            {
                try
                {
                    FM_Feedback fmFeedback = dataContext.sp_insert_feedback(item.Rating, item.UserLogin, item.SessionIdentifier, item.Comment)
                                             .ToList().FirstOrDefault <FM_Feedback>();

                    return(EntityMapper.MapToModel <Feedback, FM_Feedback>(fmFeedback));
                }
                catch (Exception ex)
                {
                    throw new LinqToSqlDataAccessException("Unable to Insert Feedback", ex);
                }
            }
        }