示例#1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Priority,StartTime,EndTime,AddressID")] Happening happening)
        {
            if (id != happening.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(happening);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HappeningExists(happening.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AddressID"] = new SelectList(_context.Addresses, "ID", "City", happening.AddressID);
            return(View(happening));
        }
示例#2
0
        public void HappeningDemo()
        {
            Happening happen = mediatek.Happenings.ElementAt(0);

            Console.WriteLine("================== Happening ======================");

            WriteMedia(happen.Videos);
            WriteMedia(happen.Images);
            WriteMedia(happen.ImageReferences);
            WriteMedia(happen.VideoReferences);
            Console.WriteLine();

            Console.WriteLine("Write videos sorted by title:");

            happen.Videos.OrderBy(x => x.Title).ForEach(x => Console.WriteLine(x.ToString()));

            happen.ImageReferences.Reset();
            happen.ImageReferences.MoveNext();
            happen.ImageReferences.MoveNext();
            happen.ImageReferences.MovePrevious();
            Console.WriteLine("ImageReferences MoveNext, MoveNext, MovePrevious, Current:");
            Console.WriteLine(happen.ImageReferences.Current);

            Console.WriteLine("===============================================");
        }
示例#3
0
        private static StandardTileData SetupTileData(Happening item)
        {
            var backContent = String.Empty;

            if (item.ShowMonthsAndDaysOnLiveTile)
            {
                if (item.NumberOfDaysLeft.ToString().StartsWith("-"))
                {
                    backContent = AppResources.HappeningOver;
                }
                else if (!String.IsNullOrEmpty(item.MonthsAndDaysLeftText))
                {
                    backContent = String.Format("{0} {1}", item.MonthsAndDaysLeftText, AppResources.Left);
                }
                else
                {
                    backContent = String.Format("{0} {1}", AppResources.Occurs, AppResources.Today);
                }
            }

            var tile = new StandardTileData
            {
                BackgroundImage = !String.IsNullOrEmpty(item.ImagePath)
                                                                                                            ? new Uri("isostore:" + item.ImagePath, UriKind.Absolute)
                                                                                                            : new Uri(Globals.DefaultImage, UriKind.Relative),
                Title     = item.Name,
                Count     = item.NumberOfDaysLeft <= 99 ? item.NumberOfDaysLeft : 0,
                BackTitle = item.ShowMonthsAndDaysOnLiveTile
                                                                                                    ? item.Name
                                                                                                    : String.Empty,
                BackContent = backContent
            };

            return(tile);
        }
        public async Task <IActionResult> Edit(int id, [Bind("City,Address,Suit,ID,Name,Priority,Date,Time,Description")] Happening happening)
        {
            if (id != happening.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(happening);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HappeningExists(happening.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(happening));
        }
        protected void GestureListener_Hold(object sender, GestureEventArgs e)
        {
            // sender is the StackPanel in this example
            var item = ((Grid)sender).DataContext;

            // item has the type of the model
            SelectedItem = item as Happening;
        }
示例#6
0
        public void RemoveTile(Happening item)
        {
            var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid));

            if (foundTile != null)
            {
                foundTile.Delete();
            }
        }
示例#7
0
        public ActionResult Show(int id)
        {
            var       users      = _unitOfWork.GetRepository <User, int>().GetAll();
            var       eventTypes = _unitOfWork.GetRepository <HappeningType, int>().GetAll();
            var       cities     = _unitOfWork.GetRepository <City, int>().GetAll();
            var       rep        = _unitOfWork.GetRepository <Happening, int>();
            Happening happening  = rep.Find(id);

            return(View(happening));
        }
示例#8
0
        public void Delete(Happening item)
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;

            if (settings.Contains(item.Guid))
            {
                settings.Remove(item.Guid);
            }
            settings.Save();
        }
示例#9
0
        public void ChangeTest08()
        {
            var newTime      = new DateTime(2017, 01, 01, 13, 00, 00);
            var newName      = "HappeningDay1@13";
            var newHappening = new Happening(newTime, newName);

            mSourceCollection.Add(newHappening);

            Assert.AreEqual(2, mTarget[0].Items.IndexOf(newHappening));
        }
        public async Task <IActionResult> Create([Bind("City,Address,Suit,ID,Name,Priority,Date,Time,Description")] Happening happening)
        {
            if (ModelState.IsValid)
            {
                _context.Add(happening);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(happening));
        }
示例#11
0
        static Happening ConstructHappening()
        {
            ListMediaFactory sFact  = new ListMediaFactory();
            Happening        happen = new Happening(sFact);

            AddVideo(happen.Videos);
            AddVideoReferences(happen.VideoReferences);
            AddImages(happen.Images);
            AddImageReferences(happen.ImageReferences);
            return(happen);
        }
示例#12
0
        public void UpdateTile(Happening item)
        {
            var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid));

            if (foundTile != null)
            {
                var tile = SetupTileData(item);

                foundTile.Update(tile);
            }
        }
示例#13
0
        public async Task <IActionResult> Create([Bind("ID,Priority,StartTime,EndTime,AddressID")] Happening happening)
        {
            if (ModelState.IsValid)
            {
                _context.Add(happening);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AddressID"] = new SelectList(_context.Addresses, "ID", "City", happening.AddressID);
            return(View(happening));
        }
示例#14
0
        public HappeningOption(string id, int i)
        {
            Happening = HappeningRegistry.Get(id);
            Id        = id;

            var name = Locale.Get($"happening_{id}");

            Num        = i;
            Name       = name.ToLower();
            Label      = $"#{i} {name}";
            LabelWidth = Font.Small.MeasureString($"{Label} (100%)").Width;
        }
示例#15
0
        private void OnAppBarSaveIconClick(object sender, EventArgs e)
        {
            var common      = Common.Instance;
            var tileUtility = TileUtility.Instance;

            if (CurrentItem != null)
            {
                CurrentItem.Name = NameTextBox.Text;
                if (ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked != null)
                {
                    CurrentItem.ShowMonthsAndDaysOnLiveTile = ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked.Value;
                }

                if (ImageFile != null)
                {
                    CurrentItem.ImagePath = ImageFile;
                }

                if (DatePicker.Value != null)
                {
                    CurrentItem.Date = DatePicker.Value.Value;
                }

                _viewModel.Save(CurrentItem);
                tileUtility.UpdateTile(CurrentItem);
                common.NavigateToUrl(Globals.MainPageUri);
            }
            else
            {
                if (DatePicker.Value != null)
                {
                    if (NameTextBox.Text != String.Empty)
                    {
                        var item = new Happening
                        {
                            Guid = Guid.NewGuid().ToString(),
                            Name = NameTextBox.Text,
                            Date = DatePicker.Value.Value,
                            ShowMonthsAndDaysOnLiveTile = ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked != null && ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked.Value,
                            ImagePath = ImageFile
                        };
                        _viewModel.Save(item);
                        common.NavigateToUrl(Globals.MainPageUri);
                    }
                    else
                    {
                        MessageBox.Show(AppResources.MissingNameMessageBox, AppResources.MissingTextMessageTitle, MessageBoxButton.OK);
                    }
                }
            }
        }
示例#16
0
        public async Task <FileContentResult> GetImageEventById(int Id)
        {
            // Products prod = m_storeRepository.GetProduct(productId);
            Happening happaning = await _unitOfWork.GetRepository <Happening, int>().FindByIdAsync(Id);

            if (happaning.PhotoUrl != null)
            {
                return(new FileContentResult(_webClient.DownloadData(happaning.PhotoUrl), "image/jpeg"));
            }
            else
            {
                return(new FileContentResult(m_photo, "image/jpeg"));
            }
        }
示例#17
0
        public void Save(Happening item)
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;

            if (settings.Contains(item.Guid))
            {
                settings[item.Guid] = item;
            }
            else
            {
                settings.Add(item.Guid, item);
            }

            settings.Save();
        }
示例#18
0
 public IActionResult Create(Happening newHappening)
 {
     if (UserSession == null)
     {
         return(RedirectToAction("Index"));
     }
     if (ModelState.IsValid)
     {
         newHappening.UserId = (int)UserSession;
         dbContext.Happenings.Add(newHappening);
         dbContext.SaveChanges();
         return(RedirectToAction("Dashboard"));
     }
     return(View("newhappening"));
 }
示例#19
0
        public IActionResult NewActivity(Happening newHappening)
        {
            int?logged_id = HttpContext.Session.GetInt32("LoggedUser");

            if (logged_id == null)
            {
                return(RedirectToAction("Index"));
            }
            if (ModelState.IsValid)
            {
                newHappening.CreatedById   = (int)logged_id;
                newHappening.HappeningDate = newHappening.HappeningDate.Date + newHappening.StartTime.TimeOfDay;
                if (newHappening.DurationMetric == "Days")
                {
                    TimeSpan ts = new TimeSpan(newHappening.Duration, 0, 0, 0);
                    newHappening.EndTime = newHappening.HappeningDate + ts;
                }
                else if (newHappening.DurationMetric == "Hours")
                {
                    TimeSpan ts = new TimeSpan(newHappening.Duration, 0, 0);
                    newHappening.EndTime = newHappening.HappeningDate + ts;
                }
                else if (newHappening.DurationMetric == "Mins")
                {
                    TimeSpan ts = new TimeSpan(0, newHappening.Duration, 0);
                    newHappening.EndTime = newHappening.HappeningDate + ts;
                }

                dbContext.Happenings.Add(newHappening);
                dbContext.SaveChanges();
                ActivityDetail ad = new ActivityDetail();
                ad.Happening = dbContext.Happenings
                               .Include(h => h.CreatedBy)
                               .Include(h => h.ParticipantsList)
                               .ThenInclude(p => p.Participant)
                               .FirstOrDefault(h => h.HappeningId == newHappening.HappeningId);

                if (ad.Happening != null)
                {
                    ad.loggedUser = dbContext.Users.Include(u => u.createdPlan).Include(u => u.ActivitiesToAttend).ThenInclude(p => p.JoiningActivity).FirstOrDefault(u => u.UserId == (int)logged_id);
                    return(View("activityDetail", ad));
                }
                return(RedirectToAction("home"));
                // return RedirectToAction("Home");
                //return RedirectToAction("ActivityDetail",newHappening.HappeningId);
            }
            return(View("newHappening", newHappening));
        }
示例#20
0
        public ActionResult AddHappening(HappeningViewModel happeningViewModel)
        {
            var       a         = _unitOfWork.GetRepository <User, int>().GetFirstOrDefault(x => x.Name == User?.Identity?.Name);
            Happening happening = new Happening()
            {
                City             = _cityManager.GetOrCreateCity(happeningViewModel.City),
                Creater          = a,
                EventType        = _cityManager.GetOrCreateHappeningType(happeningViewModel.EventType),
                Name             = happeningViewModel.Name,
                PhotoUrl         = happeningViewModel.PhotoUrl,
                TimeOfConduction = happeningViewModel.TimeOfConduction,
            };

            _happeningRepository.Create(happening);
            return(Json(true, JsonRequestBehavior.AllowGet));
        }
示例#21
0
        public IActionResult DeleteActivity(int hapId)
        {
            int?logged_id = HttpContext.Session.GetInt32("LoggedUser");

            if (logged_id == null)
            {
                return(RedirectToAction("Index"));
            }
            Happening remHap = dbContext.Happenings.FirstOrDefault(h => h.HappeningId == hapId && h.CreatedById == (int)logged_id);

            if (remHap != null)
            {
                dbContext.Happenings.Remove(remHap);
                dbContext.SaveChanges();
                return(RedirectToAction("Home"));
            }
            return(RedirectToAction("Home"));
        }
示例#22
0
        public void CreateTile(Happening item)
        {
            var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid));

            if (foundTile == null)
            {
                var liveTileUpdatesEnabled = GetLiveTileSetting();

                if (liveTileUpdatesEnabled)
                {
                    CreatePeriodicTask(Globals.LiveTileUpdaterPeriodicTaskName);
                }

                var tile = SetupTileData(item);

                ShellTile.Create(new Uri(String.Format(Globals.DetailsPageUri, item.Guid), UriKind.Relative), tile);
            }
        }
示例#23
0
        public async Task <IActionResult> CreateHappening([FromBody] Happening happening)
        {
            if (happening == null)
            {
                return(BadRequest("Happening is missing or deserilization failed"));
            }

            var newHappening = new Happening
            {
                Id            = new Guid(),
                CreatedByUser = happening.CreatedByUser,
                Name          = happening.Name,
                Place         = happening.Place
            };

            await _happeningRepository.AddHappening(newHappening);

            return(Ok());
        }
        public IActionResult Delete(int id)
        {
            if (InSession == null)
            {
                return(RedirectToAction("Index", "LogReg"));
            }
            Happening thisH = dbContext.Happenings.FirstOrDefault(h => h.HappeningId == id);

            if ((int)InSession != thisH.UserId)
            {
                return(RedirectToAction("Index", "LogReg"));
            }
            else
            {
                if (thisH != null)
                {
                    dbContext.Happenings.Remove(thisH);
                    dbContext.SaveChanges();
                }
                return(RedirectToAction("Dashboard"));
            }
        }
示例#25
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var common = Common.Instance;
            var guid   = GetFromQuerystring();

            if (!String.IsNullOrEmpty(guid))
            {
                viewModel.Load();
                CurrentItem = (from i in viewModel.Happenings where i.Guid == guid select i).FirstOrDefault();

                if (CurrentItem != null)
                {
                    PageTitle.Text = CurrentItem.Name;

                    dateInfoTextBlock.Text = String.Format("{0} {1} {2} {3}", common.GetDayOfWeek(CurrentItem.Date.DayOfWeek), CurrentItem.Date.Day, common.GetMonth(CurrentItem.Date.Month), CurrentItem.Date.Year);

                    numberOfdaysLeftTextBlock.Text = CurrentItem.NumberOfDaysLeft.ToString();
                    itemImage.Source = CurrentItem.SavedImage;

                    if (CurrentItem.NumberOfDaysLeft.ToString().StartsWith("-"))
                    {
                        monthsAndDaysLeftTextBlock.Text = AppResources.HappeningOver;
                        daysTextBlock.Text = AppResources.Days;
                    }
                    else
                    {
                        monthsAndDaysLeftTextBlock.Text = String.IsNullOrEmpty(CurrentItem.MonthsAndDaysLeftText)
                                                                                                                                        ? String.Format("{0} {1}", AppResources.Occurs, AppResources.Today)
                                                                                                                                        : String.Format("{0} {1}", AppResources.OccursIn, CurrentItem.MonthsAndDaysLeftText);
                        daysTextBlock.Text = AppResources.DaysLeft;
                    }
                }

                SetupApplicationBar();
            }
        }
示例#26
0
        public IActionResult Delete(int happeningId)
        {
            if (UserSession == null)
            {
                return(RedirectToAction("Index"));
            }

            Happening toDelete = dbContext.Happenings.FirstOrDefault(w => w.HappeningId == happeningId);

            if (toDelete == null)
            {
                return(RedirectToAction("Dashboard"));
            }
            // Redirect to dashboard if user trying to delete isn't the wedding creator
            if (toDelete.UserId != UserSession)
            {
                return(RedirectToAction("Dashboard"));
            }

            dbContext.Happenings.Remove(toDelete);
            dbContext.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
示例#27
0
 public void Tick()
 {
     happening = Randomizer <Happening> .GetRandom(aPossibleHappenings);
 }
示例#28
0
 public async Task AddHappening(Happening item)
 {
     await _context.Happenings.InsertOneAsync(item);
 }