async public Task LikeOrDislikeLO(int lo_id, int user_id) { var list = await _repositoryService.SearchForAsync <UserLO>(usr => usr.User_id == user_id && usr.LearningObject_id == lo_id, usr => usr.updated_at, usr => usr.id, false); if (list.Count > 0) { UserLO first = list.FirstOrDefault(); first.like = !first.like; await _repositoryService.UpdateAsync <UserLO>(first); } }
public ActionResult Login(string email, string password, string view) { try { UserLogic _UserLogic = new UserLogic(); DynamicResponse <UserLO> response = new DynamicResponse <UserLO>(); UserLO user = new UserLO(); response = _HomeServices.Auth(email, password); if (response.HttpStatusCode != HttpStatusCode.OK) { return(RedirectToAction("LoginForm", "Home")); } user = response.Data; if (user != null) { Session["userId"] = user.Id; //check roles Session["isAuthor"] = _UserLogic.CheckRole(user.Id, Roles.author, 1); Session["isReviewer"] = _UserLogic.CheckRole(user.Id, Roles.reviewer, 1); Session["isEditor"] = _UserLogic.CheckRole(user.Id, Roles.editor, 1); Session["isCopyediting"] = _UserLogic.CheckRole(user.Id, Roles.copyediting, 1); Session["isProofreading"] = _UserLogic.CheckRole(user.Id, Roles.proofreading, 1); //the action maybe the home page or the dashboard page if (view == "true") { return(RedirectToAction("Index", "Management", user.Id)); } else { return(RedirectToAction("Index", "Home", user.Id)); } } return(RedirectToAction("LoginForm", "Home", user.Id)); } catch (Exception ex) { return(RedirectToAction("Index", "Oops")); } }
public DynamicResponse <DiscussionLO> GetWholeDiscussion(long discussionId) { DynamicResponse <DiscussionLO> response = new DynamicResponse <DiscussionLO>(); #region Accessor DiscussionAccessor _DiscussionAccessor = new DiscussionAccessor(); UserAccessor _UserAccessor = new UserAccessor(); #endregion try { User user = new User(); DiscussionLO data = new DiscussionLO(); //get list of discussion Discussion main = _DiscussionAccessor.Get(discussionId); if (main == null) { response.HttpStatusCode = HttpStatusCode.InternalServerError; response.Message = "Please try again later."; response.ServerMessage = "no discussion"; return(response); } data.Subject = main.Subject; data.DiscussionDate = (DateTime)main.SysDate; data.isClosed = main.isClosed; data.Message = main.Message; user = _UserAccessor.Get(main.SenderId); UserLO mainSender = new UserLO(); mainSender.Email = user.Email; mainSender.FirstName = user.FirstName; mainSender.LastName = user.LastName; data.MainSender = mainSender; DynamicResponse <List <DiscussionFileLO> > mainfiles = new DynamicResponse <List <DiscussionFileLO> >(); //get files mainfiles = GetDiscussionFile(main.Id); if (mainfiles.HttpStatusCode != HttpStatusCode.OK) { response.HttpStatusCode = mainfiles.HttpStatusCode; response.Message = mainfiles.Message; response.ServerMessage = mainfiles.ServerMessage; return(response); } data.Files = mainfiles.Data; //get replies for the discussion #region Replies List <Discussion> replies = new List <Discussion>(); replies = _DiscussionAccessor.GetReplies(discussionId); List <DiscussionContentLO> contentOfDiscussion = new List <DiscussionContentLO>(); DynamicResponse <List <DiscussionFileLO> > files = new DynamicResponse <List <DiscussionFileLO> >(); foreach (Discussion item in replies) { //get files files = GetDiscussionFile(item.Id); if (files.HttpStatusCode != HttpStatusCode.OK) { response.HttpStatusCode = files.HttpStatusCode; response.Message = files.Message; response.ServerMessage = files.ServerMessage; return(response); } user = _UserAccessor.Get(item.SenderId); UserLO Sender = new UserLO(); Sender.Email = user.Email; Sender.FirstName = user.FirstName; Sender.LastName = user.LastName; contentOfDiscussion.Add(new DiscussionContentLO { Body = item.Message, SentDate = (DateTime)item.SysDate, Sender = Sender, Files = files.Data }); } data.Discussions = contentOfDiscussion; #endregion //get participants #region Participants DynamicResponse <List <DiscussionParticipantsLO> > participants = GetDiscussionParticipants(discussionId); if (participants.HttpStatusCode != HttpStatusCode.OK) { response.HttpStatusCode = participants.HttpStatusCode; response.Message = participants.Message; response.ServerMessage = participants.ServerMessage; return(response); } data.Participants = participants.Data; #endregion response.HttpStatusCode = HttpStatusCode.OK; response.Data = data; return(response); } catch (Exception ex) { response.HttpStatusCode = HttpStatusCode.InternalServerError; response.Message = "Please try again later"; response.ServerMessage = ex.Message; return(response); } }
private DynamicResponse <DiscussionLO> GetBasicInfo(long discussionId) { DynamicResponse <DiscussionLO> response = new DynamicResponse <DiscussionLO>(); #region Accessors DiscussionAccessor _DiscussionAccessor = new DiscussionAccessor(); UserAccessor _UserAccessor = new UserAccessor(); #endregion try { DiscussionLO data = new DiscussionLO(); //get the discussion Discussion discussionModel = _DiscussionAccessor.Get(discussionId); //subject and id data.Subject = discussionModel.Subject; data.Id = discussionModel.Id; //original sender #region Original Sender User sender = _UserAccessor.Get(discussionModel.SenderId); if (sender == null) { response.HttpStatusCode = HttpStatusCode.InternalServerError; response.Message = "Please try again later."; response.ServerMessage = "no sender"; return(response); } UserLO originalSender = new UserLO(); originalSender.Email = sender.Email; originalSender.FirstName = sender.FirstName; originalSender.LastName = sender.LastName; data.MainSender = originalSender; #endregion //isclosed data.isClosed = discussionModel.isClosed; //number of replies List <Discussion> replies = new List <Discussion>(); replies = _DiscussionAccessor.GetReplies(discussionId); data.NumberOfReplies = replies.Count; //last replier #region last repkier if (replies.Count != 0) { User lastreplier = _UserAccessor.Get(replies[replies.Count - 1].SenderId); if (lastreplier == null) { response.HttpStatusCode = HttpStatusCode.InternalServerError; response.Message = "Please try again later."; response.ServerMessage = "no sender"; return(response); } UserLO lastReplier = new UserLO(); lastReplier.Email = sender.Email; lastReplier.FirstName = sender.FirstName; lastReplier.LastName = sender.LastName; data.LastSender = lastReplier; } #endregion response.HttpStatusCode = HttpStatusCode.OK; response.Data = data; return(response); } catch (Exception ex) { response.HttpStatusCode = HttpStatusCode.InternalServerError; response.Message = "Please try again later"; response.ServerMessage = ex.Message; return(response); } }