/// <summary> /// Get All Thread in Thread table /// </summary> /// <returns>list</returns> public List <ThreadBasicInfo> GetAllThread() { var listThread = new List <ThreadBasicInfo>(); try { List <int> userIdThread; using (var db = new Ws_DataContext()) { userIdThread = db.Threads.OrderBy(x => x.ThreadId).Select(x => x.ThreadId).ToList(); } using (var db = new ThreadDAL()) { foreach (int threadId in userIdThread) { ThreadBasicInfo threadBasic = db.GetFullThreadBasicInformation(threadId); listThread.Add(threadBasic); } } } catch (Exception) { //throw; } return(listThread); }
/// <summary> /// Get list newest thread /// </summary> /// <returns></returns> public List <ThreadBasicInfo> GetNewestNumberThread(int top) { List <ThreadBasicInfo> topNewestThread = new List <ThreadBasicInfo>(); try { var threadListBasic = new List <ThreadBasicInfo>(); using (var db = new ThreadDAL()) { List <Thread> threadList = db.GetNewThread(); if (threadList != null) { foreach (Thread thread in threadList) { //Get Creator of Thread Ws_User creatorThread; using (var dbUser = new UserDAL()) { creatorThread = dbUser.GetUserById(thread.UserId); } threadListBasic.Add(new ThreadBasicInfo { ThreadID = thread.ThreadId, ThreadName = thread.Title, Creator = creatorThread.UserName, CreatedDate = thread.CreatedDate.ToString("H:mm:ss dd/MM/yy"), Status = thread.Status, }); } } } // Get top newest Thread topNewestThread = threadListBasic.OrderByDescending(x => x.CreatedDate).Take(top).ToList(); } catch (Exception) { //throw; } return(topNewestThread); }
public ReportBasicInfoDTO GetReportBasicInformation(int reportId) { try { var reportBasic = new ReportBasicInfoDTO(); Report report; string reportorName = ""; using (var db = new Ws_DataContext()) { report = db.Reports.FirstOrDefault(x => x.ReportId == reportId); if (report != null) { reportBasic.ReportId = report.ReportId; reportBasic.UserId = report.UserId; var userMakeReport = db.Ws_User.FirstOrDefault(x => x.UserID == reportBasic.UserId); var userInformationMakeReport = db.User_Information.FirstOrDefault(x => x.UserID == reportBasic.UserId); if (userMakeReport != null) { reportBasic.ReportorUserName = userMakeReport.UserName; } if (userInformationMakeReport != null) { reportBasic.ReportorImage = userInformationMakeReport.ProfileImage; } else { reportBasic.ReportorImage = "~/Content/Images/Slider/avatar_default.png"; } reportBasic.Reason = report.Reason; reportBasic.ReportTime = report.ReportTime.ToString("HH:mm:ss dd/MM/yyyy"); reportBasic.Type = report.Type; reportBasic.ReportTo = report.ReportTo; reportBasic.Status = report.Status; reportBasic.UpdatedTime = report.UpdatedTime.ToString("HH:mm:ss dd/MM/yyyy"); if (reportBasic.Type.Equals(WsConstant.ReportType.REPORT_USER)) { var userIsReported = db.Ws_User.FirstOrDefault(x => x.UserID == reportBasic.ReportTo); if (userIsReported != null) { reportBasic.ReportToName = userIsReported.UserName; } var userIsReportedInformation = db.User_Information.FirstOrDefault(x => x.UserID == reportBasic.ReportTo); if (userIsReportedInformation != null) { reportBasic.ReportToImage = userIsReportedInformation.ProfileImage; } } else if (reportBasic.Type.Equals(WsConstant.ReportType.REPORT_EVENT)) { var eventIsReported = db.Events.FirstOrDefault(x => x.EventID == reportBasic.ReportTo); if (eventIsReported != null) { reportBasic.ReportToName = eventIsReported.EventName; } using (var eventDal = new EventDAL()) { reportBasic.ReportToImage = eventDal.GetMainImageEventById(reportBasic.ReportTo).ImageUrl; } } else if (reportBasic.Type.Equals(WsConstant.ReportType.REPORT_THREAD)) { var threadIsReported = db.Threads.FirstOrDefault(x => x.ThreadId == reportBasic.ReportTo); if (threadIsReported != null) { reportBasic.ReportToName = threadIsReported.Title; } using (var threadDal = new ThreadDAL()) { reportBasic.ReportToImage = threadDal.GetAllImageThreadById(reportBasic.ReportTo).First(); } } else if (reportBasic.Type.Equals(WsConstant.ReportType.REPORT_ORGANAZATION)) { var orgIsReported = db.Organizations.FirstOrDefault(x => x.OrganizationId == reportBasic.ReportTo); if (orgIsReported != null) { reportBasic.ReportToName = orgIsReported.OrganizationName; reportBasic.ReportToImage = orgIsReported.LogoUrl; } } } } return(reportBasic); } catch (Exception) { return(null); //throw; } }
/// <summary> /// get report statistic data /// </summary> /// <param name="typeReport"></param> /// <returns></returns> public List <ReportStatisticDTO> GetListReportByType(string typeReport) { List <ReportStatisticDTO> listReport = new List <ReportStatisticDTO>(); List <int> isReportedIdList; try { var db = new Ws_DataContext(); var eventDal = new EventDAL(); var threadDal = new ThreadDAL(); // lấy ra danh sách id bị report theo type isReportedIdList = db.Reports.Where(x => x.Type.Equals(typeReport)).Select(x => x.ReportTo).Distinct().ToList(); foreach (var id in isReportedIdList) { var reportStatistic = new ReportStatisticDTO(); reportStatistic.IsReportedId = id; if (typeReport.Equals(WsConstant.ReportType.REPORT_USER)) { var userIsReported = db.Ws_User.FirstOrDefault(x => x.UserID == id); if (userIsReported != null) { reportStatistic.IsreportedUserName = userIsReported.UserName; reportStatistic.IsreportedUserStatus = userIsReported.IsActive; } var userIsReportedInformation = db.User_Information.FirstOrDefault(x => x.UserID == id); if (userIsReportedInformation != null) { reportStatistic.IsreportedImage = userIsReportedInformation.ProfileImage; } } else if (typeReport.Equals(WsConstant.ReportType.REPORT_EVENT)) { var eventIsReported = db.Events.FirstOrDefault(x => x.EventID == id); if (eventIsReported != null) { reportStatistic.IsreportedUserName = eventIsReported.EventName; reportStatistic.IsreportedUserStatus = eventIsReported.Status; } reportStatistic.IsreportedImage = eventDal.GetMainImageEventById(id).ImageUrl; } else if (typeReport.Equals(WsConstant.ReportType.REPORT_THREAD)) { var threadIsReported = db.Threads.FirstOrDefault(x => x.ThreadId == id); if (threadIsReported != null) { reportStatistic.IsreportedUserName = threadIsReported.Title; reportStatistic.IsreportedUserStatus = threadIsReported.Status; } reportStatistic.IsreportedImage = threadDal.GetAllImageThreadById(id).First(); } else if (typeReport.Equals(WsConstant.ReportType.REPORT_ORGANAZATION)) { var orgIsReported = db.Organizations.FirstOrDefault(x => x.OrganizationId == id); if (orgIsReported != null) { reportStatistic.IsreportedUserName = orgIsReported.OrganizationName; reportStatistic.IsreportedImage = orgIsReported.LogoUrl; reportStatistic.IsreportedUserStatus = orgIsReported.IsActive; } } reportStatistic.TotalReportedTimes = CountIsReportedTime(id, typeReport); reportStatistic.NewReportedTimes = CountNewReportedTime(id, typeReport); listReport.Add(reportStatistic); } } catch (Exception) { //throw; } return(listReport); }
/// <summary> /// Get full information of User /// #Note: If you add new field to UserBasicInfoDTO model - /// Please write code to set that information in this function /// </summary> /// <param name="userId"></param> /// <returns>UserBasicInfoDTO</returns> public UserBasicInfoDTO GetFullInforOfUserAsBasicUser(int userId) { UserBasicInfoDTO currentUser = new UserBasicInfoDTO(); int numberEventDonatedIn = 0; decimal totalMoneyDonatedIn = 0; decimal lastDonateMoney = 0; string lastDonateDate = ""; int numberOfPost = 0; try { Ws_User wsUser = GetUserById(userId); User_Information userInformation = GetUserInformation(userId); //Get infomation about donation of this user using (var db = new DonationDAL()) { numberEventDonatedIn = db.GetNumberEventDonatedInByUsingUserId(userId); totalMoneyDonatedIn = db.GetTotalMoneyDonatedInByUsingUserId(userId); Donation lastDonation = db.GetLastDonateInformation(userId); if (lastDonation != null) { lastDonateMoney = lastDonation.DonatedMoney; lastDonateDate = lastDonation.DonatedDate.ToString("H:mm:ss dd/MM/yy"); } } //Get number of post for current user using (var db = new ThreadDAL()) { numberOfPost = db.GetNumberOfPostPerUser(userId); } using (var db = new OrganizationDAL()) { Organization org = db.GetOrganizationById(userId); if (org != null) { currentUser.OrganazationName = org.OrganizationName; } if (currentUser.OrganazationName == "") { currentUser.OrganazationName = "Chưa có"; } } using (var db = new Ws_DataContext()) { currentUser.JoinedDate = db.Ws_User.Where(x => x.UserID == userId).SingleOrDefault().CreatedDate.ToString("dd/mm/yyyy"); } //get ranking information WsRanking ranking = new WsRanking(); RankingDTO rank = new RankingDTO(); //Set information for user which want to get currentUser.UserId = userId; currentUser.UserName = wsUser.UserName; currentUser.AccountType = wsUser.AccountType; currentUser.IsActive = wsUser.IsActive; currentUser.IsVerify = wsUser.IsVerify; currentUser.Email = wsUser.Email; if (userInformation != null) { rank = ranking.RankingWithPoint(userInformation.Point); currentUser.FacebookUri = userInformation.FacebookUrl; currentUser.FullName = userInformation.FullName; currentUser.ProfileImage = userInformation.ProfileImage; currentUser.Gender = userInformation.Gender; currentUser.Phone = userInformation.Phone; currentUser.Address = userInformation.UserAddress; currentUser.UserSignature = userInformation.UserSignature; if (userInformation.DoB != null) { currentUser.DOB = userInformation.DoB.Value.ToString("dd/MM/yyyy"); } currentUser.Country = userInformation.Country; currentUser.FacebookUri = userInformation.FacebookUrl; currentUser.CreateDate = wsUser.CreatedDate.ToString("dd/MM/yyyy"); currentUser.Point = userInformation.Point; } currentUser.NumberOfPost = numberOfPost; if (rank.CurrentRank == 0) { currentUser.CurrentRank = "Mới"; } else if (rank.CurrentRank == 200) { currentUser.CurrentRank = "Đồng"; } else if (rank.CurrentRank == 500) { currentUser.CurrentRank = "Bạc"; } else if (rank.CurrentRank == 2000) { currentUser.CurrentRank = "Vàng"; } else if (rank.CurrentRank == 5000) { currentUser.CurrentRank = "Bạch Kim"; } else if (rank.CurrentRank == 10000) { currentUser.CurrentRank = "Kim Cương"; } currentUser.RankPercent = rank.RankPercent; currentUser.NumberEventDonatedIn = numberEventDonatedIn; currentUser.TotalMoneyDonatedIn = totalMoneyDonatedIn; currentUser.LastDonateMoney = lastDonateMoney; currentUser.LastDonateDate = lastDonateDate; } catch (Exception) { //throw; } return(currentUser); }