public async Task <object> GetPostData(vmCommonParam cmnParam) { object result = null; string listPost = string.Empty; try { Generic_vmPost = new GenericFactory <vmPost>(); ht = new Hashtable { { "pageNumber", cmnParam.pageNumber }, { "pageSize", cmnParam.pageSize }, { "search", cmnParam.search }, { "LogedUserId", cmnParam.UserId }, }; listPost = await Generic_vmPost.ExecuteCommandString(dataUtilities.SpGetPostData, ht, dataUtilities.conString.ToString()); } catch (Exception ex) { //Logs.WriteBug(ex); } return(result = new { listPost }); }
/// <summary> /// This method returns an object from database as object with pagination using asynchronous operation by vmCmnParameters class as parameter. /// </summary> /// <param name="cmnParam"></param> /// <returns></returns> public async Task <object> GetPostDataWithLinq(vmCommonParam cmnParam) { List <vmPostList> listPost = null; object result = null; int recordsTotal = 0; try { using (_ctx = new FeedBackContext()) { recordsTotal = _ctx.Post.Where(x => !string.IsNullOrEmpty(cmnParam.search) ? x.PostText.Contains(cmnParam.search) : true ).Count(); listPost = await(from p in _ctx.Post where ( !string.IsNullOrEmpty(cmnParam.search) ? p.PostText.Contains(cmnParam.search) : true ) select new vmPostList { PostId = p.PostId, PostText = p.PostText, UserId = p.UserId, UserType = (_ctx.User.Where(x => x.UserId == p.UserId).FirstOrDefault().UserType), UserName = (_ctx.User.Where(x => x.UserId == p.UserId).FirstOrDefault().UserName), FullName = (_ctx.User.Where(x => x.UserId == p.UserId).FirstOrDefault().FirstName + " " + _ctx.User.Where(x => x.UserId == p.UserId).FirstOrDefault().LastName), CreationTime = p.CreationTime, TimeDiff = getTime(DateTime.Now, Convert.ToDateTime(p.CreationTime)) + " ago", RecordsTotal = recordsTotal, CommentList = ( from c in _ctx.Comment join c_u in _ctx.User on c.UserId equals c_u.UserId where c.PostId == p.PostId select new CommentList { PostId = c.PostId, CommentId = c.CommentId, CommentText = c.CommentText, CreationTime = c.CreationTime, CLike = c.CLike == null ? 0 : c.CLike, CDislike = c.CDislike == null ? 0 : c.CDislike, UserId = c.UserId, UserName = c_u.UserName, UserType = c_u.UserType, FullName = c_u.FirstName + " " + c_u.LastName, IsLikedByLoggedUser = (_ctx.OpinionLog.Where(x => x.UserId == cmnParam.UserId && x.CommentId == c.CommentId).FirstOrDefault() != null) ? (_ctx.OpinionLog.Where(x => x.UserId == cmnParam.UserId && x.CommentId == c.CommentId).FirstOrDefault().IsLike) : null } ).ToList() } ).OrderByDescending(x => x.PostId).Skip(CommonMethod.Skip(cmnParam)).Take((int)cmnParam.pageSize).ToListAsync(); } } catch (Exception ex) { } return(result = new { listPost, recordsTotal }); }
public static int Skip(vmCommonParam cmncls) { int skipnumber = 0; if (cmncls.pageNumber > 0) { skipnumber = ((int)cmncls.pageNumber - 1) * (int)cmncls.pageSize; } return(skipnumber); }
public async Task <object> setOpinion([FromBody] object[] data) { object result = null; object resdata = null; try { vmCommonParam _param = JsonConvert.DeserializeObject <vmCommonParam>(data[0].ToString()); if (_param != null) { resdata = await _manager.setOpinion(_param); } } catch (Exception) { } return(result = new { resdata }); }
public async Task <object> getPostDataUsingLinq([FromQuery] string param)//string pageNumber,string pageSize,string search)//[FromQuery] string param { object result = null; object resdata = null; try { dynamic data = JsonConvert.DeserializeObject(param); vmCommonParam cmnParam = JsonConvert.DeserializeObject <vmCommonParam>(data[0].ToString()); resdata = await _manager.GetPostDataWithLinq(cmnParam); } catch (Exception ex) { ex.ToString(); } return(result = new { resdata }); }
public async Task <object> setOpinion(vmCommonParam model) { object result = null; string message = string.Empty; bool resstate = false; using (_ctx = new FeedBackContext()) { using (var _ctxTransaction = _ctx.Database.BeginTransaction()) { try { if (model.id > 0) { var objComment = await _ctx.Comment.FirstOrDefaultAsync(x => x.CommentId == model.id); var objOpinionLog = await _ctx.OpinionLog.FirstOrDefaultAsync(x => x.CommentId == model.id && x.UserId == model.UserId); if (objOpinionLog != null) { if (objOpinionLog.IsLike != model.opinion) { objComment.CDislike = !model.opinion ? (Convert.ToInt32(objComment.CDislike) + 1) : (objComment.CDislike > 0 ? (Convert.ToInt32(objComment.CDislike) - 1) : 0); objComment.CLike = model.opinion ? (Convert.ToInt32(objComment.CLike) + 1) : (objComment.CLike > 0 ? (Convert.ToInt32(objComment.CLike) - 1) : 0); } objOpinionLog.IsLike = model.opinion; } else { var opinionLog = new OpinionLog(); opinionLog.CommentId = model.id; opinionLog.UserId = model.UserId; opinionLog.IsLike = model.opinion; if (opinionLog != null) { await _ctx.OpinionLog.AddAsync(opinionLog); } objComment.CDislike = !model.opinion ? (Convert.ToInt32(objComment.CDislike) + 1) : Convert.ToInt32(objComment.CDislike); objComment.CLike = model.opinion ? (Convert.ToInt32(objComment.CLike) + 1) : Convert.ToInt32(objComment.CLike); } } await _ctx.SaveChangesAsync(); _ctxTransaction.Commit(); message = "Saved Successfully"; resstate = true; } catch (Exception ex) { _ctxTransaction.Rollback(); // Logs.WriteBug(ex); message = "Failed to save."; resstate = false; } } } return(result = new { message, resstate }); }