コード例 #1
0
        public IActionResult Post([FromBody] Feedback feedback)
        {
            var validate = new ValidateFeedback(feedback);

            if (validate.getInValidInputs().Length > 0)
            {
                var invalidInputs = validate.getInValidInputs();
                return(BadRequest(new { message = "Поля формы не прошли проверку", invalidInputs }));
            }

            var contact = new Contact
            {
                ContactName  = feedback.name,
                ContactEmail = feedback.email,
                ContactTel   = feedback.tel,
            };

            if (isNewContact(contact))
            {
                _dbContext.Contacts.Add(contact);
                _dbContext.SaveChanges();
            }
            Message mes    = addMessage(feedback);
            var     resMes = new
            {
                contactName = mes.Contact.ContactName,
                theme       = mes.Theme.ThemeName,
                content     = mes.content
            };

            return(Ok(new { message = "Сохранено", resMes }));
        }
コード例 #2
0
        public async Task <ActionResult <Feedback> > PostFeedback(Feedback feedback)
        {
            // _context.Feedback.Add(feedback);
            // Customer ID
            int IdC = 0;

            _context.SaveChanges();
            if (null != _context.Customers.FirstOrDefault(x => x.PhoneNumber == feedback.PhoneNumber &&
                                                          x.Mail == feedback.Mail && 0 < x.ID))
            {
                IdC = _context.Customers.FirstOrDefault(x => x.PhoneNumber == feedback.PhoneNumber &&
                                                        x.Mail == feedback.Mail && 0 < x.ID).ID;
            }
            else
            {
                _context.Customers.Add(new Customer(feedback.Surname, feedback.Mail, feedback.PhoneNumber));

                _context.SaveChanges();
                var Cont = _context.Customers.FirstOrDefault(x => x.ID == _context.Customers.Max(p => p.ID));
                IdC = Cont.ID;
            }
            // Theme ID
            int IdT = _context.ThemeList.FirstOrDefault(x => x.ThemeName == feedback.Theme).ID;

            _context.Messages.Add(new Message(feedback.Message, IdC, IdT));
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetFeedback", new { id = feedback.ID }, feedback));
        }
コード例 #3
0
        public ActionResult Index(FeedbackEntry entry)
        {
            var mostRecentEntries =
                (from entries in _db.Entries
                 orderby entries.DateAdded descending, entries.Username
                 select entries).Take(20);

            if (string.IsNullOrEmpty(entry.Message) || entry.Message.Length < 4)
            {
                ModelState.AddModelError("Message", "Comment is below 4 characters!");
            }

            if (ModelState.IsValid)
            {
                if (User.Identity.IsAuthenticated)
                {
                    entry.Username = User.Identity.Name;
                }
                entry.DateAdded = DateTime.Now;
                _db.Entries.Add(entry);
                _db.SaveChanges();
                return(PartialView("_AllComments", mostRecentEntries.ToList()));
            }
            else
            {
                return(View(mostRecentEntries.ToList()));
            }
        }
コード例 #4
0
        public void Post([FromBody] FeedbackMod feedback)
        {
            if (feedback is null)
            {
                return;
            }

            _ctx.Add(feedback);
            _ctx.SaveChanges();
        }
コード例 #5
0
        public IEnumerable <FeedbackModel> SaveFed(string dat)
        {
            var info = dat.Split('/');

            int cnt = 0;

            FeedbackModel fm = new FeedbackModel();

            foreach (string s in info)
            {
                if (cnt == 0)
                {
                    fm.Author = s;

                    cnt++;

                    continue;
                }

                fm.Content = s;
            }
            db.Feedbacks.Add(fm);

            db.SaveChanges();

            return(db.Feedbacks.ToList());
        }
コード例 #6
0
ファイル: TaskController.cs プロジェクト: jalakhras/Feedback
        public ActionResult CreateEdit(Task task)
        {
            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.Category              = task.Category;
                    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
                {
                    //New Task
                    _context.Tasks.Add(task);
                    task.Created = DateTime.Now;
                }
                _context.SaveChanges();
                return(RedirectToAction("ViewAll"));
            }

            ViewBag.Categories = _context.Categories
                                 .Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.Id.ToString()
            }).ToList();
            return(View(task));
        }
コード例 #7
0
 public ActionResult AddFed(FeedbackMod fm)
 {
     if (fm.Author != null)
     {
         fc.Feedbacks.Add(fm);
         fc.SaveChanges();
         return(RedirectToAction("Guest"));
     }
     return(RedirectToAction("Error"));
 }
コード例 #8
0
        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();
                }
            }
        }
コード例 #9
0
        public IActionResult Post([FromBody] Models.Feedback feedback)
        {
            var sub = WhoAmI();

            feedback.UserId = sub;

            _context.Feedbacks.Add(feedback);
            var id = _context.SaveChanges();

            return(Ok(id));
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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();
            }
        }
コード例 #12
0
        public IActionResult Post([FromBody] FeedbackMod feedback)
        {
            if (feedback is null)
            {
                return(BadRequest());
            }

            _ctx.Feeds.Add(feedback);
            _ctx.SaveChanges();

            return(CreatedAtRoute("GetCount", new { key = feedback.Key }, feedback));
        }
コード例 #13
0
 public int AddFeedBack(Feedback feedback)
 {
     feedback.authUserId = _context.AuthUsers.FirstOrDefault(x => x.first_name == feedback.username).id;
     _context.Feedbacks.Add(feedback);
     _context.SaveChanges();
     return(feedback.id);
 }
コード例 #14
0
 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();
 }
コード例 #15
0
        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));
        }
コード例 #16
0
        public ActionResult Survey(int adminId)
        {
            _context.Votes.Add(new Vote()
            {
                AdminId = adminId
            });
            _context.SaveChanges();

            var admins = _context.Admins.OrderByDescending(x => x.Votes.Count).ToList();

            Session["HasVoted"] = true;
            return(PartialView("SurveyResults", admins));
        }
コード例 #17
0
        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));
        }
コード例 #18
0
ファイル: FeedbackController.cs プロジェクト: s-matic/f-app
        public IActionResult Create([FromBody] Feedback feedback)
        {
            if (feedback == null)
            {
                return(BadRequest());
            }
            int lastetId = _context.Feedbacks.ToList().Count;

            feedback.Id   = lastetId + 1;
            feedback.Date = DateTime.Now;

            _context.Feedbacks.Add(feedback);
            _context.SaveChanges();

            return(Ok());
        }
        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);
                }
            }
        }
コード例 #20
0
        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");
            }
        }
コード例 #21
0
        public IActionResult SetResolved(int id)
        {
            var _issue = _context.Issues.FirstOrDefault(i => i.ID == id);

            _issue.Done = true;
            _context.SaveChanges();

            var model = new ViewModel()
            {
                issue = _issue
            };

            return(new JsonResult(model));
        }
コード例 #22
0
        public ActionResult Reply(int id, string content)
        {
            var thread = _context.Threads.FirstOrDefault(x => x.MessageThreadId == id);

            if (thread != null)
            {
                var newMsg = new Message();
                newMsg.Subject         = thread.Messages.First().Subject;
                newMsg.Created         = DateTime.Now;
                newMsg.Content         = content;
                newMsg.MessageThreadId = id;
                var index = HttpContext.User.Identity.Name.IndexOf("\\") + 1;
                newMsg.Author = HttpContext.User.Identity.Name.Substring(index);

                _context.Messages.Add(newMsg);
                _context.SaveChanges();
            }

            return(RedirectToAction("ViewAll"));
        }
コード例 #23
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new FeedbackContext(
                       serviceProvider.GetRequiredService <DbContextOptions <FeedbackContext> >()))
            {
                var feedbacks = context.Feedbacks.ToList();

                context.RemoveRange(feedbacks);

                context.SaveChanges();

                context.Feedbacks.AddRange(
                    new Models.Feedback
                {
                    UserId    = "1",
                    FirstName = "Jane",
                    LastName  = "Doe",
                    Subject   = "Good job!",
                    Content   = "Your service is great. Check my new service <a href='https://localhost:44361/'>here</a>"
                },
                    new Models.Feedback
                {
                    UserId    = "2",
                    FirstName = "John",
                    LastName  = "Doe",
                    Subject   = "A question",
                    Content   = "When your service is open? I didn't find any information from your web site."
                },
                    new Models.Feedback
                {
                    UserId    = "2",
                    FirstName = "John",
                    LastName  = "Doe",
                    Subject   = "Feedback",
                    Content   = "Nice and useful app!"
                },
                    new Models.Feedback
                {
                    UserId    = "2",
                    FirstName = "John",
                    LastName  = "Doe",
                    Subject   = "Security issues",
                    Content   = "I have found some security holes from the feedback app. When can I call you?"
                },
                    new Models.Feedback
                {
                    UserId    = "1",
                    FirstName = "Jane",
                    LastName  = "Doe",
                    Subject   = "Lorem Ipsum",
                    Content   = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s"
                },
                    new Models.Feedback
                {
                    UserId    = "1",
                    FirstName = "Jane",
                    LastName  = "Doe",
                    Subject   = "Hi",
                    Content   = "There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable"
                }
                    );

                context.SaveChanges();
            }
        }
コード例 #24
0
 public void Save()
 {
     context.SaveChanges();
 }
コード例 #25
0
        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);
        }
コード例 #26
0
        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);
        }