Ejemplo n.º 1
0
        public IHttpActionResult FeedBack(UserFeedbackModel Model)
        {
            var feedback = new UserFeedback();

            feedback.Date        = DateTime.Now.ToUniversalTime();
            feedback.Description = Model.Description;
            feedback.Rating      = 0;
            feedback.UserId      = Model.UserId;

            try
            {
                using (AppDBContext context = new AppDBContext())
                {
                    try
                    {
                        var repo = new UserFeedbackRepository(context);
                        repo.Add(feedback);
                    }
                    catch (Exception ex)
                    {
                        return(InternalServerError(ex));
                    }
                }
                return(Ok());
            }
            catch (Exception ex)
            {
                Logger.Log(typeof(UserController), ex.Message + ex.StackTrace, LogType.ERROR);
                return(InternalServerError());
            }
        }
Ejemplo n.º 2
0
 public HttpResponseMessage GetOneFeedback(int id)
 {
     try
     {
         UserFeedbackModel feedback = logic.GetOneFeedback(id);
         feedback.username = userlogic.GetUserName(feedback.userid);
         return(Request.CreateResponse(HttpStatusCode.OK, feedback));
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
     }
 }
Ejemplo n.º 3
0
        public HttpResponseMessage AddFeedback(UserFeedbackModel feedbackmodel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    List <PropErrors> errorList = ErrorExtractor.ExtractErrors(ModelState);
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, errorList));
                }
                UserFeedbackModel feedback = logic.AddFeedback(feedbackmodel);
                feedback.username = userlogic.GetUserName(feedback.userid);

                return(Request.CreateResponse(HttpStatusCode.Created, feedback));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Ejemplo n.º 4
0
        public void AddUserFeedback(UserFeedbackModel model)
        {
            SemantriaHelper.AddUserFeedbackScore(model);

            using (ipl_userprofilerEntities entity = new ipl_userprofilerEntities())
            {
                var homeAwayProperty = entity.HomeAwayProperties.First(res => res.Id == model.PropertyId);


                var request = new HomeAwayFeedback
                {
                    PropertyId = model.PropertyId,
                    UserEmail  = model.UserEmail,
                    UserName   = model.UserName,
                    Text       = model.Text,
                    AddedAt    = DateTime.Now
                };

                entity.HomeAwayFeedbacks.Add(request);


                //Map feedbackto to claim property

                var requestId     = entity.CliqueClaimRequests.First(res => res.Name == homeAwayProperty.Name && res.Zip == homeAwayProperty.Zip).Id;
                var claimFeedback = new CliqueClaimRequestFeedback
                {
                    RequestId = requestId,
                    UserEmail = model.UserEmail,
                    UserName  = model.UserName,
                    Text      = model.Text,
                    Score     = model.Score,
                    AddedAt   = DateTime.Now
                };

                entity.CliqueClaimRequestFeedbacks.Add(claimFeedback);
                entity.SaveChanges();
            }
        }
Ejemplo n.º 5
0
        private async void Start()
        {
            var aggregator = new MessageAggregator();

            _relay = aggregator;
            IConfigStore       configStore  = new AppDataConfigStore();
            IPreviewImageStore previewStore = new AppDataPreviewImageStore();

            _library = new Library(configStore, _previewBuilder, previewStore, _relay);
            var factory = new ImportFolderFactory(_library);

            // Main View
            var progressModel    = new ProgressModel();
            var applicationModel = new ApplicationModel(_relay);
            var searchViewModel  = new SearchModel(_library, _relay);
            var itemsViewModel   = new ItemsModel(_library, _relay);

            // Main Menu
            var importFoldersViewModel = new ImportFoldersModel(configStore, factory, _relay);
            var savedSearchesViewModel = new SavedSearchesModel(configStore, _relay);
            var collectionsViewModel   = new CollectionsModel(configStore, _relay);

            // Detail Menu
            var detailMenuModel = new DetailMenuModel(_library, _relay);

            // Dialogs
            var addSavedSearchViewModel  = new AddSavedSearchModel(_relay);
            var addImportFolderViewModel = new AddImportFolderModel(_relay);
            var applicationSettingsModel = new ApplicationSettingsModel(configStore);
            var userFeedbackModel        = new UserFeedbackModel();
            var exitingModel             = new ExitingModel(_library, OnShutdownComplete);
            var editScreenModel          = new EditScreenModel(_library);

            BindViewModels();
            BindSettings();

            // Wire up misc items
            _disposables.Add(importFoldersViewModel);
            _editScreen.MainView = _mainGroup;

            // Also restores app settings for import etc.
            await applicationSettingsModel.InitializeAsync();

            await _library.InitializeAsync();

            InitializeViewModelsAsync();

            aggregator.Subscribe(
                // Main View
                progressModel,
                searchViewModel,
                itemsViewModel,

                // Main Menu
                importFoldersViewModel,
                savedSearchesViewModel,
                collectionsViewModel,

                // DetailMenu
                detailMenuModel,

                // Dialogs
                addSavedSearchViewModel,
                addImportFolderViewModel,
                applicationSettingsModel,
                userFeedbackModel,
                exitingModel,
                editScreenModel);

            void BindViewModels()
            {
                // Main View
                _progressView.BindTo(progressModel);
                _applicationView.BindTo(applicationModel);
                _searchView.BindTo(searchViewModel);
                _libraryView.BindTo(itemsViewModel);

                // Main Menu
                _importFoldersView.BindTo(importFoldersViewModel);
                _savedSearchesView.BindTo(savedSearchesViewModel);
                _collectionsView.BindTo(collectionsViewModel);

                // Detail Menu
                _detailMenu.BindTo(detailMenuModel);

                // Dialogs
                _addImportFolderDialog.BindTo(addImportFolderViewModel);
                _addSavedSearchDialog.BindTo(addSavedSearchViewModel);
                _applicationSettingsDialog.BindTo(applicationSettingsModel);
                _userFeedbackDialog.BindTo(userFeedbackModel);
                _exitingDialog.BindTo(exitingModel);
                _editScreen.BindTo(editScreenModel);
            }

            void BindSettings()
            {
                var rt = applicationSettingsModel.RuntimeSettings;

                rt.ImportParallelism.ValueChanged += factor => _library.Parallelism = factor;
                rt.LogLevel.ValueChanged          += logLevel => UnityLogger.LogLevel = logLevel;

                rt.UiScalePercent.ValueChanged += factor =>
                {
                    foreach (var canvas in FindObjectsOfType <Canvas>())
                    {
                        canvas.scaleFactor = applicationSettingsModel.UiScalePercent / 125f;
                    }
                };

                rt.ScrollSensitivity.ValueChanged += sensitivity =>
                {
                    foreach (var area in FindObjectsOfType <ScrollRect>())
                    {
                        area.scrollSensitivity = sensitivity;
                    }
                };

                rt.PreviewResolution.ValueChanged  += res => _previewBuilder.PreviewResolution.Value = Mathf.RoundToInt(Mathf.Pow(2f, res));
                rt.PreviewJpegQuality.ValueChanged += quality => _previewBuilder.Quality = quality;
            }

            async void InitializeViewModelsAsync()
            {
                await savedSearchesViewModel.InitializeAsync();

                await importFoldersViewModel.InitializeAsync();

                await collectionsViewModel.InitializeAsync();
            }
        }
Ejemplo n.º 6
0
        public static void AddUserFeedbackScore(UserFeedbackModel model)
        {
            // Creates JSON serializer instance
            ISerializer serializer = new JsonSerializer();

            // Initializes new session with the serializer object and the keys.
            using (Session session = Session.CreateSession(consumerKey, consumerSecret, serializer))
            {
                // Error callback handler. This event will occur in case of server-side error
                session.Error += new Session.ErrorHandler(delegate(object sender, ResponseErrorEventArgs ea)
                {
                    //Console.WriteLine(string.Format("{0}: {1}", (int)ea.Status, ea.Message));
                });

                //Obtaining subscription object to get user limits applicable on server side
                Subscription subscription = session.GetSubscription();
                Dictionary <string, Semantria.Com.TaskStatus> docsTracker = new Dictionary <string, Semantria.Com.TaskStatus>();

                List <Document> outgoingBatch = new List <Document>(subscription.BasicSettings.BatchLimit);

                string docId = Guid.NewGuid().ToString();

                Document doc = new Document()
                {
                    Id   = docId,
                    Text = model.Text
                };

                outgoingBatch.Add(doc);
                docsTracker.Add(docId, Semantria.Com.TaskStatus.QUEUED);



                if (outgoingBatch.Count > 0)
                {
                    // Queues batch of documents for processing on Semantria service
                    if (session.QueueBatchOfDocuments(outgoingBatch) != -1)
                    {
                        Console.WriteLine(string.Format("{0} documents queued successfully.", outgoingBatch.Count));
                    }
                }

                List <DocAnalyticData> results = new List <DocAnalyticData>();
                while (docsTracker.Any(item => item.Value == Semantria.Com.TaskStatus.QUEUED))
                {
                    System.Threading.Thread.Sleep(500);

                    // Requests processed results from Semantria service
                    Console.WriteLine("Retrieving your processed results...");
                    IList <DocAnalyticData> incomingBatch = session.GetProcessedDocuments();

                    foreach (DocAnalyticData item in incomingBatch)
                    {
                        if (docsTracker.ContainsKey(item.Id))
                        {
                            docsTracker[item.Id] = item.Status;
                            results.Add(item);
                        }
                    }
                }


                foreach (DocAnalyticData data in results)
                {
                    float score = 0;
                    // Printing of document entities
                    if (data.Phrases != null && data.Phrases.Count > 0)
                    {
                        foreach (var entity in data.Phrases)
                        {
                            score += entity.SentimentScore;
                        }
                        score = score / data.Phrases.Count();
                    }

                    model.Score = score;
                }
            }
        }
Ejemplo n.º 7
0
        public void AddFeedback(UserFeedbackModel model)
        {
            RequestService service = new RequestService();

            service.AddUserFeedback(model);
        }