/// <summary> /// Возвращает список активных категорий /// </summary> /// <returns></returns> public async Task <IEnumerable <Category> > GetActive() { using (var db = new FeedbackContext()) { return(await db.Categories.Where(t => t.IsActive).ToListAsync()); } }
protected void Page_Load(object sender, EventArgs e) { var context = new FeedbackContext(); ViewTasksRepeater.DataSource = context.Tasks.ToList(); ViewTasksRepeater.DataBind(); }
/// <summary> /// Возвращает первую категорию, содержащую переданный параментр в имени /// </summary> /// <param name="name">Имя или часть имени категории</param> /// <returns></returns> public async Task <Category> Get(string name) { using (var db = new FeedbackContext()) { return(await db.Categories.FirstOrDefaultAsync(t => t.Name.Contains(name))); } }
/// <summary> /// Возвращает список всех категорий /// </summary> /// <returns></returns> public async Task <IEnumerable <Category> > GetList() { using (var db = new FeedbackContext()) { return(await db.Categories.ToListAsync()); } }
/// <summary> /// Возвращает из базы категорию с указанным id /// </summary> /// <param name="id">id категории</param> /// <returns></returns> public async Task <Category> Get(Guid id) { using (var db = new FeedbackContext()) { return(await db.Categories.FindAsync(id)); } }
public ActionResult ViewAll() { var context = new FeedbackContext(); var tasks = context.Tasks.OrderByDescending(x => x.Created).ToList(); return(View(tasks)); }
public ActionResult CreateEdit(int Id = 0) { var context = new FeedbackContext(); ViewBag.Categories = context.Categories.Select( x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }).ToList(); if (Id != 0) { var task = context.Tasks.FirstOrDefault(x => x.Id == Id); var mappedTask = Mapper.Map <TaskVM>(task); //TaskVM mappedTask = new TaskVM(); //mappedTask.AssignedToId = task.AssignedToId; //mappedTask.AssociatedMessageId = task.AssociatedMessageId; //mappedTask.CategoryId = task.CategoryId; //mappedTask.Completed = task.Completed; //mappedTask.Description = task.Description; //mappedTask.DueDate = task.DueDate; //mappedTask.Id = task.Id; //mappedTask.Notes = task.Notes; //mappedTask.Title = task.Title; mappedTask.AssociatedMessageDisplay = task.AssociatedMessage.Subject; return(View(mappedTask)); } return(View()); }
public UsersController(FeedbackContext context, IAuthService authService, IImageUploadService imageUploadService, IConfiguration config, IMapper mapper) { _context = context; _authService = authService; _imageUploadService = imageUploadService; _config = config; _mapper = mapper; }
public ActionResult MessageSuggestions(string term) { var context = new FeedbackContext(); var messages = context.Messages.Where(x => x.Subject.Contains(term)) .Select(x => new { Label = x.Subject, Id = x.Id }).ToList(); return(Json(messages, JsonRequestBehavior.AllowGet)); }
protected void Page_Load(object sender, EventArgs e) { var context = new FeedbackContext(); var latestMessages = context.Threads .SelectMany(x => x.Messages).OrderByDescending(c => c.Created).ToList() .GroupBy(y => y.MessageThreadId).Select(grp => grp.FirstOrDefault()).ToList(); ViewMessagesRepeater.DataSource = latestMessages; ViewMessagesRepeater.DataBind(); }
/// <summary> /// Удаляет отзыв с заданным id /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task Delete(Guid id) { using (var db = new FeedbackContext()) { var feedback = await db.Feedbacks.FindAsync(id); db.Feedbacks.Remove(feedback); await db.SaveChangesAsync(); } }
/// <summary> /// Возвращает из базы отзыв с соответствующим id /// </summary> /// <param name="id">id отзыва</param> /// <returns></returns> public async Task <Feedback> Get(Guid id) { using (var db = new FeedbackContext()) { return (await db.Feedbacks.Include(t => t.AttachedFiles) .Include(t => t.Category) .FirstOrDefaultAsync(t => t.Id == id)); } }
protected void Page_Load(object sender, EventArgs e) { var context = new FeedbackContext(); Category.DataSource = context.Categories.Select(x => new ListItem() { Text = x.Name, Value = x.Id.ToString() }).ToList(); Category.DataBind(); AssignedTo.DataSource = context.Admins.Select(x => new ListItem() { Text = x.Username, Value = x.Id.ToString() }).ToList(); AssignedTo.DataBind(); //Is this a create or update? if (!string.IsNullOrEmpty(Request.Params["TaskId"])) { var id = int.Parse(Request.Params["TaskId"]); var item = context.Tasks.FirstOrDefault(x => x.Id == id); Subject.Text = item.Title; Description.Text = item.Description; Category.SelectedIndex = item.Id; DueDate.Text = item.DueDate.ToShortDateString(); AssociatedMessage.Text = item.AssociatedMessageId.ToString(); Notes.Text = item.Notes; IsComplete.Checked = item.Completed; } if (Page.IsPostBack) { Page.Validate(); if (Page.IsValid) { var task = new Task(); task.Title = Subject.Text; task.CategoryId = int.Parse(Category.SelectedValue); task.Description = Description.Text; task.DueDate = DateTime.Parse(DueDate.Text); task.AssignedToId = int.Parse(AssignedTo.Text); task.AssociatedMessageId = int.Parse(AssociatedMessage.Text); task.Notes = Notes.Text; task.Completed = IsComplete.Checked; context.Tasks.Add(task); context.SaveChanges(); } } }
public ActionResult Survey() { var context = new FeedbackContext(); var admins = context.Admins.OrderByDescending(a => a.Votes.Count).ToList(); if (Session["HasVoted"] != null) { return(PartialView("SurveyResults", admins)); } return(PartialView(admins)); }
public JsonResult EventFeedback(FeedbackEvent model) { try { if (model != null && ModelState.IsValid) { using (var context = new FeedbackContext()) { context.Configuration.LazyLoadingEnabled = true; var userId = User.Id(); var ev = context.Events.FirstOrDefault(e => e.Id == model.EventId); if (ev == null) ModelState.AddModelError("Validation", "Invalid event!"); else if (!ev.Active) ModelState.AddModelError("Validation", "Event has been closed! Feedback is no more allowed!"); if (ModelState.IsValid) { var data = context.FeedbackEvents.FirstOrDefault(f => f.EventId == model.EventId && f.FeedbackUserId == userId); if (data == null) { data = new FeedbackEvent { FeedbackUserId = userId, EventId = model.EventId }; context.FeedbackEvents.Add(data); } var user = context.FeedbackUsers.FirstOrDefault(u => u.Id == userId); if (user == null) { user = new FeedbackUser { Id = userId }; context.FeedbackUsers.Add(user); } if (model.FeedbackUser != null) { user.Name = model.FeedbackUser.Name ?? user.Name; user.Email = model.FeedbackUser.Email ?? user.Email; } data.FeedbackUser = user; data.LikedMost = model.LikedMost ?? data.LikedMost; data.PrimaryTechnology = model.PrimaryTechnology ?? data.PrimaryTechnology; data.PrimaryTechnologyOther = model.PrimaryTechnologyOther ?? data.PrimaryTechnologyOther; data.Suggestions = model.Suggestions ?? data.Suggestions; data.WantedTechnologies = model.WantedTechnologies ?? data.WantedTechnologies; context.SaveChanges(); } } } } catch (Exception ex) { ModelState.AddModelError("Exception", ex); } if (!ModelState.IsValid) return Json(new { Success = false, Message = "There was an error while posting your feedback!", Errors = ModelState.ToJson() }, JsonRequestBehavior.AllowGet); else return Json(new { Success = true, Message = "Thanks for your feedback!" }, JsonRequestBehavior.AllowGet); }
public void AddFeedback(string message) { using (var context = new FeedbackContext()) { var newFeedback = new DAL.Entities.Feedback(); newFeedback.Message = message; newFeedback.Date = DateTime.Now; context.Feedbacks.Add(newFeedback); context.SaveChanges(); } }
/// <summary> /// Асинхронно изменяет текст заданного отзыва /// </summary> /// <param name="id">id отзыва</param> /// <param name="text">Новый текст</param> /// <returns></returns> public async Task Update(Guid id, string text) { using (var db = new FeedbackContext()) { var feedback = await db.Feedbacks.FindAsync(id); feedback.Text = text; db.Entry(feedback).State = EntityState.Modified; await db.SaveChangesAsync(); } }
public static ISubjectRepository GetInMemoryRepository(string name) { //Arrange var options = new DbContextOptionsBuilder <FeedbackContext>() .UseInMemoryDatabase(name) .Options; // Run the test against one instance of the context var context = new FeedbackContext(options); return(new SubjectRepository(context)); }
public ActionResult Index() { ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; //using (var ts = new TransactionScope()) { using (var context = new FeedbackContext()) { ViewBag.Message += context.Events.ToArray().Length; context.SaveChanges(); } } return View(); }
public ActionResult Survey(int adminId) { var context = new FeedbackContext(); context.Votes.Add(new Vote { AdminId = adminId }); context.SaveChanges(); var admins = context.Admins.OrderByDescending(a => a.Votes.Count).ToList(); Session["HasVoted"] = true; return(PartialView("SurveyResults", admins)); }
public ActionResult CreateEdit(TaskVM task) { var context = new FeedbackContext(); if (ModelState.IsValid) { var editTask = context.Tasks.FirstOrDefault(x => x.Id == task.Id); if (editTask != null) { //Updating Task editTask.Title = task.Title; editTask.Description = task.Description; editTask.CategoryId = task.CategoryId; editTask.AssignedToId = task.AssignedToId; editTask.DueDate = task.DueDate; editTask.AssociatedMessageId = task.AssociatedMessageId; editTask.Completed = task.Completed; editTask.Notes = task.Notes; context.Entry(editTask).State = System.Data.Entity.EntityState.Modified; } else { var newTask = Mapper.Map <Task>(task); //Task mappedTask = new Task(); //mappedTask.AssignedToId = task.AssignedToId; //mappedTask.AssociatedMessageId = task.AssociatedMessageId; //mappedTask.CategoryId = task.CategoryId; //mappedTask.Completed = task.Completed; //mappedTask.Description = task.Description; //mappedTask.DueDate = task.DueDate; //mappedTask.Id = task.Id; //mappedTask.Notes = task.Notes; //mappedTask.Title = task.Title; //mappedTask.Created = DateTime.Now; //newTask = mappedTask; newTask.Created = DateTime.Now; context.Tasks.Add(newTask); context.Tasks.Add(newTask); } context.SaveChanges(); return(RedirectToAction("ViewAll")); } ViewBag.Categories = context.Categories.Select( x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }).ToList(); return(View(task)); }
/// <summary> /// Добавляет в базу новую категорию с указанными данными /// </summary> /// <param name="name">Имя категории</param> /// <param name="isActive">Активность категории</param> /// <returns></returns> public async Task Insert(string name, bool isActive) { using (var db = new FeedbackContext()) { var category = new Category { Name = name, IsActive = isActive }; db.Categories.Add(category); await db.SaveChangesAsync(); } }
public ActionResult Index() { var context = new FeedbackContext(); var dash = new DashBoardVM() { Messages = context.Threads .SelectMany(x => x.Messages).OrderByDescending(c => c.Created).ToList() .GroupBy(y => y.MessageThreadId).Select(grp => grp.FirstOrDefault()).ToList().Take(5), Tasks = context.Tasks.OrderByDescending(x => x.Created).Take(5) }; return(View(dash)); }
public JsonResult FeedbackResults(int id) { using (var context = new FeedbackContext()) { context.Configuration.LazyLoadingEnabled = false; var events = context.FeedbackEvents.Where(e => e.EventId == id).ToArray(); return Json(new { Rating = Rating(events), Events = context.FeedbackEvents.Where(e => e.EventId == id).ToArray(), Sessions = context.FeedbackSessions.Where(e => e.Session.EventId == id).ToArray(), }, JsonRequestBehavior.AllowGet); } }
/// <summary> /// Добавляет в базу новый отзыв с указанными данными /// </summary> /// <param name="id">id нового отзыва</param> /// <param name="categoryId">id категории отзыва</param> /// <param name="text">Текст отзыва</param> /// <param name="userName">Имя автора</param> /// <param name="files">Список путей к прикрепленным файлам</param> /// <returns></returns> public async Task Insert(Guid id, Guid categoryId, string text, string userName = "", IEnumerable <string> files = null) { using (var db = new FeedbackContext()) { var feedback = new Feedback(id, categoryId, text, DateTime.Now, userName); if (files != null) { feedback.AttachedFiles = files.Select(file => new FeedbackFile(file)).ToList(); } db.Feedbacks.Add(feedback); await db.SaveChangesAsync(); } }
/// <summary> /// Удалить категорию, имеющую указанное имя /// </summary> /// <param name="name">Имя категории</param> /// <returns></returns> public async Task Delete(string name) { using (var db = new FeedbackContext()) { var category = await db.Categories.FirstOrDefaultAsync(t => t.Name == name); if (category == null) { return; } category.Name = name; await db.SaveChangesAsync(); } }
/// <summary> /// Устанавливает значение активности категории /// </summary> /// <param name="id">id категории</param> /// <param name="active">Активность</param> /// <returns></returns> public async Task SetActive(Guid id, bool active) { using (var db = new FeedbackContext()) { var category = await db.Categories.FindAsync(id); if (category == null) { return; } category.IsActive = active; await db.SaveChangesAsync(); } }
/// <summary> /// Удаляет категорию с указанным id /// </summary> /// <param name="id">id категории</param> /// <returns></returns> public async Task Delete(Guid id) { using (var db = new FeedbackContext()) { var category = await db.Categories.FindAsync(id); if (category == null) { return; } db.Categories.Remove(category); await db.SaveChangesAsync(); } }
public List <ServerFeedbackDto> GetFeedbacks() { using (var context = new FeedbackContext()) { var feedbacks = context.Feedbacks.ToList(); //TODO: automapper return(feedbacks.Select(x => new ServerFeedbackDto { Id = x.Id, Message = x.Message, Date = x.Date }).ToList()); } }
/// <summary> /// Возвращает запрос на список отзывов, соответствующих указанным фильтрам /// </summary> /// <param name="author">Фильтр по автору отзыва</param> /// <param name="category">Фильтр по категории</param> /// <param name="order">Порядок сортировки</param> /// <param name="page">Текущая страница выдачи</param> /// <param name="pageSize">Количество элементов на страницу</param> /// <returns></returns> public async Task <IPagedList <Feedback> > GetPagedList(string author, string category, FeedbackOrderBy order, int page, int pageSize) { using (var db = new FeedbackContext()) { var feedbacks = db.Feedbacks.Include(t => t.AttachedFiles).Include(x => x.Category); if (!string.IsNullOrWhiteSpace(author)) { feedbacks = feedbacks.Where(t => t.UserName.Contains(author)); } if (!string.IsNullOrWhiteSpace(category)) { feedbacks = feedbacks.Where(t => t.Category.Name == category); } switch (order) { case FeedbackOrderBy.Author: feedbacks = feedbacks.OrderBy(t => t.UserName); break; case FeedbackOrderBy.Category: feedbacks = feedbacks.OrderBy(t => t.Category.Name); break; case FeedbackOrderBy.AuthorDesc: feedbacks = feedbacks.OrderByDescending(t => t.UserName); break; case FeedbackOrderBy.CategoryDesc: feedbacks = feedbacks.OrderByDescending(t => t.Category.Name); break; case FeedbackOrderBy.DateDesc: feedbacks = feedbacks.OrderByDescending(t => t.PostDate); break; default: feedbacks = feedbacks.OrderBy(t => t.PostDate); break; } var result = await feedbacks.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync(); return(new PagedList <Feedback>(result, page, pageSize, feedbacks.Count())); } }
protected void Page_Load(object sender, EventArgs e) { var context = new FeedbackContext(); var admins = context.Admins.ToList(); if (Page.IsPostBack) { foreach (var radio in RadioVotes.Items) { var item = (ListItem)radio; if (item.Selected) { var admin = admins.FirstOrDefault(x => x.Username == item.Text); admin.Votes.Add(new Vote() { AdminId = admin.Id }); var success = context.SaveChanges(); Session["HasVoted"] = true; } } } if (Session["HasVoted"] != null) { SurveyPanel.Visible = false; ResultPanel.Visible = true; SurveyRepeater.DataSource = admins.OrderByDescending(x => x.Votes.Count).Select(x => new { Username = x.Username, VoteCount = x.Votes.Count }); SurveyRepeater.DataBind(); } else { RadioVotes.CssClass = "table table-striped"; RadioVotes.Items.Clear(); foreach (var admin in admins) { RadioVotes.Items.Add(admin.Username); } } }
protected void Page_Load(object sender, EventArgs e) { var context = new FeedbackContext(); int id; if (int.TryParse(Request.Params["MessageThreadId"], out id)) { if (Page.IsPostBack) { Page.Validate(); if (Page.IsValid) { var newMessage = new Message(); newMessage.Content = Reply.Text; newMessage.Created = DateTime.Now; newMessage.Author = HttpContext.Current.User.Identity.Name; newMessage.MessageThreadId = int.Parse(Thread.Value); newMessage.Subject = Subject.Value; context.Messages.Add(newMessage); context.SaveChanges(); Response.Redirect("ViewMessages.aspx"); } } var messages = context.Threads .FirstOrDefault(x => x.MessageThreadId == id) .Messages.OrderBy(x => x.Created).ToList(); HeadingSubject.Text = messages.First().Subject; Thread.Value = messages.First().MessageThreadId.ToString(); Subject.Value = messages.First().Subject; ReplyRepeater.DataSource = messages; ReplyRepeater.DataBind(); } else { Response.Redirect("ViewMessages.aspx"); } }
public ActionResult CreateEdit(int Id = 0) { var context = new FeedbackContext(); ViewBag.Categories = context.Categories.Select( x => new SelectListItem() { Text = x.Name, Value = x.Id.ToString() }).ToList(); if (Id != 0) { var task = context.Tasks.FirstOrDefault(x => x.Id == Id); var mapperTask = Mapper.Map <TaskVM>(task); mapperTask.AssociatedMessageDisplay = task.AssociatedMessage.Subject; return(View(mapperTask)); } return(View()); }
public JsonResult SessionFeedback(FeedbackSession model) { try { if (model != null && ModelState.IsValid) { using (var context = new FeedbackContext()) { context.Configuration.LazyLoadingEnabled = true; var userId = User.Id(); var session = context.Sessions.Include("Event").FirstOrDefault(s => s.Id == model.SessionId); if (session == null || session.Event == null) ModelState.AddModelError("Validation", "Invalid session!"); else if (!session.Event.Active) ModelState.AddModelError("Validation", "Event has been closed! Feedback is no more allowed!"); if (ModelState.IsValid) { var data = context.FeedbackSessions.FirstOrDefault(f => f.SessionId == model.SessionId && f.FeedbackUserId == userId); if (data == null) { data = new FeedbackSession { FeedbackUserId = userId, SessionId = model.SessionId }; context.FeedbackSessions.Add(data); } var user = context.FeedbackUsers.FirstOrDefault(u => u.Id == userId); if (user == null) { user = new FeedbackUser { Id = userId }; context.FeedbackUsers.Add(user); } data.FeedbackUser = user; data.Notes = model.Notes; data.PresentationRating = model.PresentationRating; data.ContentRating = model.ContentRating; context.SaveChanges(); } } } } catch (Exception ex) { ModelState.AddModelError("Exception", ex); } if (!ModelState.IsValid) return Json(new { Success = false, Message = "There was an error while posting your feedback!", Errors = ModelState.ToJson() }, JsonRequestBehavior.AllowGet); else return Json(new { Success = true, Message = "Thanks for your feedback!" }, JsonRequestBehavior.AllowGet); }
public JsonResult VoteEvent(int eventId, int vote) { int? rating = null; try { if (ModelState.IsValid) { using (var context = new FeedbackContext()) { context.Configuration.LazyLoadingEnabled = true; var userId = User.Id(); var ev = context.Events.FirstOrDefault(e => e.Id == eventId); if (ev == null) ModelState.AddModelError("Validation", "Invalid event!"); else if (!ev.Active) ModelState.AddModelError("Validation", "Event has been closed! Rating is no more allowed!"); if (ModelState.IsValid) { var data = context.FeedbackEvents.FirstOrDefault(f => f.EventId == eventId && f.FeedbackUserId == userId); if (data == null) { data = new FeedbackEvent { FeedbackUserId = userId, EventId = eventId }; context.FeedbackEvents.Add(data); } var user = context.FeedbackUsers.FirstOrDefault(u => u.Id == userId); if (user == null) { user = new FeedbackUser { Id = userId }; context.FeedbackUsers.Add(user); } data.FeedbackUser = user; data.Rating = vote; context.SaveChanges(); rating = vote; } } } } catch (Exception ex) { ModelState.AddModelError("Exception", ex); } if (!ModelState.IsValid) return Json(new { Success = false, Message = "There was an error while posting your vote!", Errors = ModelState.ToJson() }, JsonRequestBehavior.AllowGet); else return Json(new { Success = true, Message = "Thanks for your vote!", Rating = rating }, JsonRequestBehavior.AllowGet); }
public SuggestionsRepository() { _db = new FeedbackContext(); }
public JsonResult Mine(int id) { using (var context = new FeedbackContext()) { context.Configuration.LazyLoadingEnabled = false; var userId = User.Id(); var ev = context.FeedbackEvents.Include("FeedbackUser").FirstOrDefault(e => e.FeedbackUserId == userId && e.EventId == id); ev.Rating = FixRating(ev.Rating); return Json(new { Event = ev, Sessions = context.FeedbackSessions.Where(e => e.FeedbackUserId == userId && e.Session.EventId == id).ToArray(), }, JsonRequestBehavior.AllowGet); } }