Esempio n. 1
0
 public JsonResult <object> PostsDataHandler(PostDTViewModel param)
 {
     try
     {
         return(Json((object)PostingService.PostsDataHandler(param, User.Identity.GetUserId())));
     }
     catch (Exception ex)
     {
         return(Json((object)(new { error = ex.Message })));
     }
 }
Esempio n. 2
0
        public DTResult <PostViewModel> PostsDataHandler(PostDTViewModel param, string userId)
        {
            try
            {
                var dtsource = PostRepository.FindAll(w => w.UserId == userId && w.SocialNetworkId == param.SocialNetworkId && w.Status != EntityStatus.Disabled)
                               .Select(t => new PostViewModel
                {
                    Id              = t.Id,
                    Name            = t.Name,
                    DateOfCreation  = t.DateOfCreation,
                    DateOfPublish   = t.DateOfPublish,
                    Status          = t.Status.ToString(),
                    StatusOfSending = t.SendingStatus.ToString()
                });



                List <String> columnFilters = new List <string>();

                foreach (var col in param.Columns)
                {
                    columnFilters.Add(col.Search.Value);
                }

                var search = param.Search.Value.ToLower();

                var col0 = columnFilters[0];
                var col1 = columnFilters[1];
                var col2 = columnFilters[2];
                var col3 = columnFilters[3];
                var col4 = columnFilters[4];
                var col5 = columnFilters[5];

                Expression <Func <PostViewModel, bool> > predicate = p => (search == null || ((p.Name != null && p.Name.ToLower().Contains(search)) ||
                                                                                              (p.DateOfCreation != null && p.DateOfCreation.ToString().ToLower().Contains(search)) ||
                                                                                              (p.DateOfPublish != null && p.DateOfPublish.ToString().ToLower().Contains(search)) ||
                                                                                              (p.StatusOfSending != null && p.StatusOfSending.ToString().ToLower().Contains(search)) ||
                                                                                              (p.Status != null && p.Status.ToString().ToLower().Contains(search))) &&
                                                                           (col1 == null || (p.Name != null && p.Name.ToLower().Contains(col1))) &&
                                                                           (col2 == null || (p.DateOfCreation != null && p.DateOfCreation.ToString().ToLower().Contains(col2))) &&
                                                                           (col3 == null || (p.DateOfPublish != null && p.DateOfPublish.ToString().ToLower().Contains(col3))) &&
                                                                           (col4 == null || (p.StatusOfSending != null && p.StatusOfSending.ToString().ToLower().Contains(col4))) &&
                                                                           (col5 == null || (p.Status != null && p.Status.ToString().ToLower().Contains(col5))));

                List <PostViewModel> data = new ResultSet <PostViewModel>().GetResult(param.Search.Value, param.SortOrder, param.Start, param.Length, dtsource, predicate);
                int count = new ResultSet <PostViewModel>().Count(param.Search.Value, dtsource, predicate);
                DTResult <PostViewModel> result = new DTResult <PostViewModel>
                {
                    draw = param.Draw,
                    data = data.Select(p => new PostViewModel
                    {
                        Id              = p.Id,
                        Name            = p.Name,
                        DateOfCreation  = p.DateOfCreation,
                        DateOfPublish   = p.DateOfPublish,
                        StatusOfSending = p.StatusOfSending,
                        Status          = p.Status
                    }).ToList(),
                    recordsFiltered = count,
                    recordsTotal    = count
                };
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }