private Entry EntryView_TryParse(EntryView entry)
        {
            Project project = null;

            var task = _context.Tasks
                       .Include(t => t.ProjectGroup)
                       .Single(t => t.Name.Equals(entry.task, StringComparison.CurrentCultureIgnoreCase));

            if (entry.project != null)
            {
                project = _context.Projects
                          .Include(g => g.Group)
                          .Single(p => p.Name.Equals(entry.project, StringComparison.CurrentCultureIgnoreCase));
            }

            if ((task.ProjectGroup == null && project == null) || task.ProjectGroup.Id == project.Group.Id)
            {
                return(new Entry()
                {
                    Seconds = timesheet_api.Utils.Converter.TimeStringToSeconds(entry.hours),
                    Task = task,
                    Project = project,
                });
            }

            return(null);
        }
        public IHttpActionResult Get(int id)
        {
            var item = _db.Entries.Include(x => x.Votes).Include(x => x.Comments).SingleOrDefault(x => x.Id == id && x.Status != EntryStatus.Trash && x.Visibility != EntryVisibility.Hidden);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new EntryView
            {
                Id         = item.Id,
                Author     = _userContext.GetUser(UserHelper.GetUserNameFromComplexUsername(item.Author)).Name,
                Title      = item.Title,
                Message    = item.Message,
                Vote       = EntryHelper.GetVotes(item.Votes),
                VoteResult = EntryHelper.UserVoteResult(User.Identity, item.Votes),
                Comments   = item.Comments != null ? item.Comments.Count : 0,
                Status     = item.Status.GetEnumDescription(),
                CreateDate = item.CreateDate.ToString("yyyy-MM-dd HH:mm"),
                UpdateDate = item.UpdateDate.HasValue ? item.UpdateDate.Value.ToString("yyyy-MM-dd HH:mm") : ""
            };

            return(Ok(result));
        }
        public void RecordWebViewFromSameReferrerDomainDoesNotRecordsReferrer()
        {
            //arrange
            var       subtextContext = new Mock <ISubtextContext>();
            EntryView recordedView   = null;

            subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny <EntryView>())).Callback <EntryView>(
                view => recordedView = view);
            subtextContext.Setup(c => c.UrlHelper.BlogUrl()).Returns("/");
            subtextContext.Setup(c => c.Blog).Returns(new Blog {
                Host = "haacked.com"
            });
            subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET");
            subtextContext.Setup(c => c.HttpContext.Request.UrlReferrer).Returns(new Uri("http://www.haacked.com/"));
            var settings = new global::Subtext.Framework.Configuration.Tracking {
                EnableWebStats = true
            };
            var statisticsService = new StatisticsService(subtextContext.Object, settings);

            //act
            statisticsService.RecordWebView(new EntryView {
                EntryId = 66
            });

            //assert
            Assert.IsNull(recordedView.ReferralUrl);
        }
        public void RequestForEntryRecordedAsAnAggregatorVisit()
        {
            // arrange
            EntryView entryView = null;
            var       service   = new Mock <IStatisticsService>();

            service.Setup(s => s.RecordAggregatorView(It.IsAny <EntryView>())).Callback <EntryView>(
                view => entryView = view);
            var headers        = new NameValueCollection();
            var subtextContext = new Mock <ISubtextContext>();

            subtextContext.Setup(c => c.Blog).Returns(new Blog {
                Id = 99
            });
            subtextContext.Setup(c => c.HttpContext.Request.Headers).Returns(headers);
            var controller = new StatisticsController(subtextContext.Object, service.Object);

            // act
            controller.RecordAggregatorView(123);

            // assert
            Assert.IsNotNull(entryView);
            Assert.AreEqual(PageViewType.AggView, entryView.PageViewType);
            Assert.AreEqual(99, entryView.BlogId);
            Assert.AreEqual(123, entryView.EntryId);
        }
Esempio n. 5
0
        public void CtorInitializesIdsToNullValue()
        {
            var view = new EntryView();

            Assert.AreEqual(NullValue.NullInt32, view.EntryId);
            Assert.AreEqual(NullValue.NullInt32, view.BlogId);
        }
        public IActionResult Post(string username, int year, int month, int day, [FromBody] EntryView entry)
        {
            try
            {
                var to   = _context.Entries.Single(e => e.Id == entry.id);
                var from = EntryView_TryParse(entry);

                if (to.User.Name.Equals(username, StringComparison.CurrentCultureIgnoreCase))
                {
                    to.Task    = from.Task;
                    to.Project = from.Project;
                    to.Seconds = from.Seconds;

                    _context.Entries.Update(to);
                    _context.SaveChanges();

                    return(Ok(Json(EntryView.FromEntry(to))));
                }
                else
                {
                    return(Forbid());
                }
            }
            catch (System.InvalidOperationException) {}
            catch (System.ArgumentException) {}

            return(BadRequest());
        }
 public IEnumerable <EntryView> Get(string user, int year, int month, int day)
 {
     return(_context.Entries
            .Where(e => e.Date.Year == year && e.Date.Month == month && e.Date.Day == day &&
                   e.User.Name.Equals(user, StringComparison.CurrentCultureIgnoreCase))
            .Include(e => e.Task)
            .Include(e => e.Project)
            .Select(e => EntryView.FromEntry(e)));
 }
Esempio n. 8
0
    private void SetEntryValues(GameObject entry, int i)
    {
        EntryView entryView = entry.GetComponent <EntryView>();

        entryView.SetDetailsPanel(detailsEntryPanel);
        entryView.SetCastInfo(CSVController.moviesDict[i].directorName, CSVController.moviesDict[i].actor1Name, CSVController.moviesDict[i].actor2Name);
        entryView.SetDuration(CSVController.moviesDict[i].duration);
        entryView.SetGenres(CSVController.moviesDict[i].genres);
        entryView.SetMovieTitle(CSVController.moviesDict[i].movieTitle);
        entryView.SetTitleYear(CSVController.moviesDict[i].titleYear);
    }
        private static void ItemSelected(object sender, SelectedItemChangedEventArgs args)
        {
            if (args.SelectedItem != null)
            {
                EntryData selecteditem = args.SelectedItem as EntryData;
                DataOperation.WorkingItem.DecryptEntry(args.SelectedItem as EntryData);
                PageContain.Children.Clear();

                EntryView entryview = new EntryView();
                entryview.leftbutton.Clicked  += OnEditClick;
                entryview.rightbutton.Clicked += (sender, args) => { RetrunListView(); };
                PageContain.Children.Add(entryview.viewcontain);
            }
        }
Esempio n. 10
0
        public void RecordAggregatorViewRecordsEntry()
        {
            //arrange
            var subtextContext = new Mock<ISubtextContext>();
            EntryView entryView = null;
            subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny<EntryView>())).Callback<EntryView>(
                e => entryView = e);
            subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET");
            var settings = new global::Subtext.Framework.Configuration.Tracking {EnableAggBugs = true};
            var statisticsService = new StatisticsService(subtextContext.Object, settings);

            //act
            statisticsService.RecordAggregatorView(new EntryView {EntryId = 66});

            //assert
            Assert.AreEqual(66, entryView.EntryId);
        }
        private async Task FocusNameInput()
        {
            if (Device.RuntimePlatform == Device.iOS)
            {
                await Task.WhenAll(ContentStackLayout.TranslateTo(0, -50, easing: Easing.CubicInOut));
            }
            else
            {
                var keyboardHeight = App.ScreenHeight * 0.45f;
                var target         = Height - keyboardHeight;

                var yOffset = target - Math.Min(EntryView.GetPosition().Y + EntryContainer.Height, Height);

                await Task.WhenAll(TextContainer.FadeTo(0),
                                   EntryContainer.TranslateTo(0, yOffset, easing: Easing.CubicInOut));
            }
        }
Esempio n. 12
0
        public void RecordAggregatorView(EntryView entryView)
        {
            if (!Settings.EnableAggBugs || SubtextContext.HttpContext.Request.HttpMethod == "POST")
            {
                return;
            }

            entryView.PageViewType = PageViewType.AggView;

            try
            {
                SubtextContext.Repository.TrackEntry(entryView);
            }
            catch (SqlException e)
            {
                Log.Error("Could not record Aggregator view", e);
            }
        }
Esempio n. 13
0
        public void RecordWebViewWithBadReferrerIgnoresReferer()
        {
            //arrange
            var subtextContext = new Mock<ISubtextContext>();
            EntryView recordedView = null;
            subtextContext.Setup(c => c.Repository.TrackEntry(It.IsAny<EntryView>())).Callback<EntryView>(
                view => recordedView = view);
            subtextContext.Setup(c => c.HttpContext.Request.HttpMethod).Returns("GET");
            subtextContext.Setup(c => c.HttpContext.Request.UrlReferrer).Throws(new UriFormatException());
            var settings = new global::Subtext.Framework.Configuration.Tracking {EnableWebStats = true};
            var statisticsService = new StatisticsService(subtextContext.Object, settings);

            //act
            statisticsService.RecordWebView(new EntryView {EntryId = 66});

            //assert
            Assert.IsNull(recordedView.ReferralUrl);
        }
Esempio n. 14
0
        static void Main(string[] args)
        {
            Engine.Initialize("Meme Meets Me!", 1280, 720, new EngineOption()
            {
                IsFullScreen = false
            });
            Engine.File.AddRootDirectory("Resources");

            var entryView = new EntryView();
            var entryFlow = new Model.Entry.EntryFlow(entryView);
            var _         = entryFlow.RunAsync();

            while (Engine.DoEvents())
            {
                Engine.Update();
            }

            Engine.Terminate();
        }
Esempio n. 15
0
        public ActionResult RecordAggregatorView(int id)
        {
            if (CachedVersionIsOkay(SubtextContext.HttpContext.Request))
            {
                return(new NotModifiedResult());
            }

            if (id > 0)
            {
                var entryView = new EntryView
                {
                    BlogId       = SubtextContext.Blog.Id,
                    EntryId      = id,
                    PageViewType = PageViewType.AggView
                };
                StatisticsService.RecordAggregatorView(entryView);
            }

            return(new CacheableFileContentResult(AggregatorOnePixelBlankGif, "image/gif", DateTime.UtcNow, HttpCacheability.Public));
        }
Esempio n. 16
0
        public void RecordWebView(EntryView entryView)
        {
            if (!Settings.EnableWebStats || SubtextContext.HttpContext.Request.HttpMethod == "POST")
            {
                return;
            }

            entryView.ReferralUrl = GetReferral(SubtextContext);

            entryView.PageViewType = PageViewType.WebView;
            try
            {
                SubtextContext.Repository.TrackEntry(entryView);
            }
            catch (Exception e)
            {
                // extra precautions for web view because it's not done via image bug.
                Log.Error("Could not record Web view", e);
            }
        }
Esempio n. 17
0
 protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.View> e)
 {
     base.OnElementChanged(e);
     if (e.NewElement != null)
     {
         entryView = e.NewElement as EntryView;
     }
     if (e.OldElement != null || Element == null)
     {
         return;
     }
     try
     {
         SetupUserInterface();
         SetupEventHandlers();
         AddView(view);
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine(@"ERROR: ", ex.Message);
     }
 }
Esempio n. 18
0
        public void IndexingEntries()
        {
            var db         = new NewsObjectContext();
            var indexingDb = new CachedDatabaseContainer();

            var formatter = new BinaryFormatter();

            var controller = new NouvelleController();
            var counter    = 0;

            foreach (var id in db.Entries.Select(en => en.Id))
            {
                counter++;
                if (counter % 5 == 0)
                {
                    Debug.WriteLine(">> Indexed: " + counter);
                }
                var chk = indexingDb.EntryViews.SingleOrDefault(e => e.Id == id);
                if (chk != null)
                {
                    continue;
                }

                chk = new EntryView {
                    Id = id
                };
                var stream = new MemoryStream();
                formatter.Serialize(stream, controller.GetEntryViewModel(id));
                chk.Data = stream.ToArray();
                indexingDb.EntryViews.AddObject(chk);
                stream.Close();


                indexingDb.SaveChanges();
            }
        }
Esempio n. 19
0
        public IActionResult Put(string username, int year, int month, int day, [FromBody] EntryView entry)
        {
            try
            {
                var newEntry = EntryView_TryParse(entry);

                if (newEntry != null)
                {
                    newEntry.Date = new DateTime(year, month, day);
                    newEntry.User = _context.Users.Single(u => u.Name.Equals(username, StringComparison.CurrentCultureIgnoreCase));

                    _context.Entries.Add(newEntry);
                    _context.SaveChanges();

                    entry.id = newEntry.Id;

                    return(Created(nameof(Get), entry));
                }
            }
            catch (System.InvalidOperationException) {}
            catch (System.ArgumentException) {}

            return(BadRequest());
        }
 public override bool TrackEntry(EntryView entryView)
 {
     return(ThreadHelper.FireAndForget(o =>
                                       _procedures.TrackEntry(entryView.EntryId, entryView.BlogId, entryView.ReferralUrl,
                                                              entryView.PageViewType == PageViewType.WebView), "Exception while tracking an entry"));
 }
Esempio n. 21
0
 public abstract bool TrackEntry(EntryView ev);
Esempio n. 22
0
        public void CanSetAndGetSimpleProperties()
        {
            var view = new EntryView();

            UnitTestHelper.AssertSimpleProperties(view);
        }
 private void EntryLabel_OnTapped(object sender, EventArgs e)
 {
     EntryView.Focus();
 }