public EditTitleViewModelPanel Get(int id) { try { using (ApplicationDbContext db = new ApplicationDbContext()) { Data data = db.Datas.Find(id); if (data == null) { Result = new Result(ResultType.NotFound, "Başlık bulunamadı."); return(null); } Title title = (Title)data; var evaluations = title.Evaluations.ToList(); int dislikeCount = evaluations.Where(e => e.EvaluationType == EvaluationType.Dislike).Count(); int likeCount = evaluations.Where(e => e.EvaluationType == EvaluationType.Like).Count(); List <ListAdviseViewModelPanel> advices = new Advise().List(title.Id); return(new EditTitleViewModelPanel { Id = title.Id, Name = title.Name, Description = title.Descripton, Point = title.Point, DisLikeCount = dislikeCount, LikeCount = likeCount, ViewCount = title.ViewCount, State = title.State, Advices = advices, MediaURL = title.MediaUrl, UserName = title.ApplicationUser.UserName }); } } catch (Exception) { Result = new Result(ResultType.Error, "Veritabanı ile bağlantı sağlanamadı."); return(null); } }
public EditUserViewModelPanel Get(string username) { try { using (ApplicationDbContext db = new ApplicationDbContext()) { ApplicationUser user = db.Users.Where(u => u.UserName == username).FirstOrDefault(); if (user == null) { Result = new Result(ResultType.NotFound, "Kullanıcı bulunamadı."); return(null); } List <ListTitleViewModelPanel> titles = new Title().List(user.Id); List <ListAdviseViewModelPanel> advices = new Advise().List(user.Id); return(new EditUserViewModelPanel { Id = user.Id, UserName = user.UserName, BirthDate = user.BirthDate, Email = user.Email, Gender = user.Gender, Image = user.Image, State = user.State, RankName = user.Rank.Name, Titles = titles, Advices = advices, Point = user.Point }); } } catch (Exception) { Result = new Result(ResultType.Error, "Veritabanı ile bağlantı sağlanamadı."); return(null); } }
public void FillAdviseList(Advise advices, List <ListAdviseViewModelPanel> list) { var counts = advices.Evaluations.ToList(); int likecount = counts.Where(i => i.EvaluationType == EvaluationType.Like).Count(); int dislikecount = counts.Where(i => i.EvaluationType == EvaluationType.Dislike).Count(); list.Add(new ListAdviseViewModelPanel { Id = advices.Id, Description = advices.Descripton, Point = advices.Point, LikeCount = likecount, DisLikeCount = dislikecount, State = advices.State, TitleId = advices.TitleId, CreatedDate = advices.CreatedDate }); }
//PANEL public List <ListAdviseViewModelPanel> List(string userId) { List <ListAdviseViewModelPanel> list = new List <ListAdviseViewModelPanel>(); using (ApplicationDbContext db = new ApplicationDbContext()) { List <Data> advises = db.Datas.Where(d => d.ApplicationUserId == userId).ToList(); foreach (Data data in advises) { if (data is Advise) { Advise a = (Advise)data; FillAdviseList(a, list); } } } return(list); }
//WEB public IPagedList <ListAdviseViewModelWeb> List(int?page, int titleId, string currentUserId) { List <ListAdviseViewModelWeb> list = new List <ListAdviseViewModelWeb>(); using (ApplicationDbContext db = new ApplicationDbContext()) { List <Data> advises = db.Datas.Where(i => i.State == true).OrderBy(a => a.CreatedDate).ToList(); foreach (Data data in advises) { if (data is Advise && (data as Advise).TitleId == titleId) { Advise advices = (Advise)data; var evaluations = advices.Evaluations.ToList(); int likecount = evaluations.Where(i => i.EvaluationType == EvaluationType.Like).Count(); int dislikecount = evaluations.Where(i => i.EvaluationType == EvaluationType.Dislike).Count(); EvaluationType currentUserEvaluationForAdvise = EvaluationType.NoEvaluation; bool isComplainted = false; if (!string.IsNullOrEmpty(currentUserId)) { var evaluation = evaluations.Where(e => e.ApplicationUserId == currentUserId && e.EvaluationType != EvaluationType.Complaint).FirstOrDefault(); if (evaluation != null) { currentUserEvaluationForAdvise = evaluation.EvaluationType; } var complaint = evaluations.Where(e => e.ApplicationUserId == currentUserId && e.EvaluationType == EvaluationType.Complaint).FirstOrDefault(); if (complaint != null) { isComplainted = true; } } list.Add(new ListAdviseViewModelWeb { Id = advices.Id, Description = advices.Descripton, CreatedDate = advices.CreatedDate, LikeCount = likecount, DisLikeCount = dislikecount, UserName = advices.ApplicationUser.UserName, UserImage = advices.ApplicationUser.Image, UserId = advices.ApplicationUserId, isEvaluated = currentUserEvaluationForAdvise, isComplainted = isComplainted }); } } } int pageSize = 10; int pageNumber = (page ?? 1); return(list.ToPagedList(pageNumber, pageSize)); }