public void Update(VenueEntity entity)
        {
            VenueEntity place = Get(entity.Id);

            place.Name = entity.Name;
            Context.SaveChanges();
        }
        public void Create(Venue venue)
        {
            var entity = new VenueEntity();

            VenueMapper.ToEntity(venue, entity);
            _venueRepository.Create(entity);
            venue.Id = entity.Id;
        }
Exemple #3
0
 public static VenueModel ToModel(this VenueEntity talkEntity)
 {
     return(new VenueModel
     {
         Id = talkEntity.Id,
         Name = talkEntity.Name,
         Address = talkEntity.Address,
         MapUrl = talkEntity.MapUrl
     });
 }
Exemple #4
0
 public static VenueDTO ToDto(this VenueEntity ventity)
 {
     return(new VenueDTO()
     {
         Id = ventity.Id,
         Location = ventity.Location,
         Name = ventity.Name,
         Distance = ventity.Distance
     });
 }
 public static Venue FromEntity(VenueEntity entity)
 {
     return(new Venue
     {
         Id = entity.Id,
         Name = entity.Name,
         Description = entity.Description,
         Notes = entity.Notes
     });
 }
Exemple #6
0
 private VenueEditModel GetVenueEditModel(VenueEntity venueEntity, TeamEntity teamEntity, IList <string> teamsUsingTheVenue)
 {
     return(new VenueEditModel
     {
         TeamsUsingTheVenue = teamsUsingTheVenue,
         TeamId = teamEntity?.Id,
         ForTeamName = teamEntity?.Name,
         Venue = GetVenueEditorComponentModel(venueEntity),
         VenueEntity = venueEntity
     });
 }
Exemple #7
0
        private VenueEditorComponentModel GetVenueEditorComponentModel(VenueEntity venueEntity)
        {
            var venueEditorComponentModel = new VenueEditorComponentModel
            {
                HtmlFieldPrefix = nameof(VenueEditModel.Venue),
                ShowLatLng      = User.IsInRole(League.Identity.Constants.RoleName.SystemManager) ||
                                  User.IsInRole(League.Identity.Constants.RoleName.TournamentManager)
            };

            venueEditorComponentModel.MapEntityToFormFields(venueEntity);

            return(venueEditorComponentModel);
        }
Exemple #8
0
 public void MapEntityToFormFields(VenueEntity venueEntity)
 {
     Id              = venueEntity.Id;
     IsNew           = venueEntity.IsNew;
     Name            = venueEntity.Name;
     Extension       = venueEntity.Extension;
     Direction       = venueEntity.Direction;
     PostalCode      = venueEntity.PostalCode;
     City            = venueEntity.City;
     Street          = venueEntity.Street;
     Latitude        = venueEntity.Latitude;
     Longitude       = venueEntity.Longitude;
     HtmlFieldPrefix = nameof(VenueEditModel.Venue);
 }
Exemple #9
0
        public static VenueModel MapVenue(VenueEntity e)
        {
            var m = new VenueModel();

            m.VenueId   = e.VenueId;
            m.Address   = e.Address;
            m.EventName = e.EventName;
            m.MaxAisle  = e.MaxAisle;
            m.MaxRow    = e.MaxRow;
            m.Tickets   = e.Tickets.Select(x => MapTicket(x));
            //m.SeatingArrangement = new List<KeyValuePair<SeatModel, TicketModel>>();
            //m.Tickets.ToList().ForEach(x => m.SeatingArrangement.ToList().Add(new KeyValuePair<SeatModel, TicketModel>(x.Seat, x)));

            return(m);
        }
        public async Task Exception_Should_Be_Set()
        {
            var venue = new VenueEntity();
            var vv    = new VenueValidator(venue, (new GoogleGeo.GeoResponse {
                Success = false, Found = false, Exception = new ArgumentException(), GeoLocation = new GoogleGeo.GeoLocation {
                    LocationType = GoogleGeo.LocationType.Approximate
                }
            }, new List <VenueDistanceResultRow>()));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.CanBeLocated, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.IsInstanceOf <ArgumentException>(vv.Data.GeoResponse.Exception);
            });
        }
Exemple #11
0
        public async Task <IActionResult> EditVenue(bool?isNew, CancellationToken cancellationToken)
        {
            var sessionModel = await GetModelFromSession(cancellationToken);

            if (!sessionModel.IsFromSession)
            {
                return(RedirectToAction(nameof(SelectTeam), new { Organization = _tenantContext.SiteContext.UrlSegmentValue }));
            }
            ViewData["TournamentName"] = sessionModel.TournamentName;

            if (isNew.HasValue && isNew.Value)
            {
                sessionModel.Venue      = GetVenueEditorComponentModel(new VenueEntity());
                sessionModel.VenueIsSet = false;
            }

            var venueEntity = new VenueEntity();
            var venueTeams  = new List <VenueTeamRow>();

            if (!sessionModel.Venue.IsNew)
            {
                venueEntity = (await _appDb.VenueRepository.GetVenuesAsync(
                                   new PredicateExpression(VenueFields.Id == sessionModel.Venue?.Id),
                                   cancellationToken)).FirstOrDefault();

                if (venueEntity == null)
                {
                    return(RedirectToAction(nameof(SelectVenue), new { Organization = _tenantContext.SiteContext.UrlSegmentValue }));
                }

                venueTeams = await _appDb.VenueRepository.GetVenueTeamRowsAsync(new PredicateExpression(VenueTeamFields.VenueId == venueEntity.Id), cancellationToken);
            }

            var venueEditModel = GetVenueEditModel(venueEntity, sessionModel.Team.IsNew ? null : new TeamEntity {
                Id = sessionModel.Team.Id, Name = sessionModel.Team.Name
            },
                                                   venueTeams.Select(vt => vt.TeamName).Distinct().OrderBy(n => n).ToList());

            venueEditModel.Venue.MapEntityToFormFields(venueEditModel.VenueEntity);
            if (sessionModel.VenueIsSet)
            {
                venueEditModel.Venue = sessionModel.Venue;
            }

            return(View(ViewNames.TeamApplication.EditVenue, venueEditModel));
        }
Exemple #12
0
 private VenueEditModel GetEditModel(bool isNew, VenueEntity venueEntity, TeamEntity teamEntity, IList <string> teamsUsingTheVenue, string returnUrl)
 {
     return(new VenueEditModel
     {
         TeamsUsingTheVenue = new string[] {},
         TeamId = teamEntity?.Id,
         ForTeamName = teamEntity?.Name,
         ReturnUrl = Url.IsLocalUrl(returnUrl) ? returnUrl : _defaultReturnUrl,
         Venue = new VenueEditorComponentModel {
             IsNew = isNew,
             HtmlFieldPrefix = nameof(VenueEditModel.Venue),
             ShowLatLng = User.IsInRole(League.Identity.Constants.RoleName.SystemManager) ||
                          User.IsInRole(League.Identity.Constants.RoleName.TournamentManager)
         },
         VenueEntity = venueEntity
     });
 }
        public async Task Address_Fields_Should_Be_Set(string postalCode, string city, string street, bool expected)
        {
            var venue = new VenueEntity {
                PostalCode = postalCode, City = city, Street = street
            };

            var vv = new VenueValidator(venue, (new GoogleGeo.GeoResponse(), new List <VenueDistanceResultRow>()));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.AddressFieldsAreSet, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.IsTrue(factResult.Enabled);
                Assert.AreEqual(expected, factResult.Success);
                Assert.IsNull(factResult.Exception);
            });
        }
        public async Task StatusText_Should_Be_Set()
        {
            var venue = new VenueEntity();
            var vv    = new VenueValidator(venue, (new GoogleGeo.GeoResponse {
                Success = true, Found = true, StatusText = "OK", Exception = null, GeoLocation = new GoogleGeo.GeoLocation {
                    LocationType = GoogleGeo.LocationType.Approximate
                }
            }, new List <VenueDistanceResultRow>()));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.CanBeLocated, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.AreEqual("OK", vv.Data.GeoResponse.StatusText);
                Assert.IsNull(vv.Data.GeoResponse.Exception);
            });
        }
        public async Task No_Close_By_Other_Venue(GoogleGeo.LocationType locationType, long venueId, bool isNew, bool emptyList, bool success)
        {
            var venue = new VenueEntity {
                Id = 1, IsNew = isNew
            };

            var closeByVenues = new List <VenueDistanceResultRow>
            {
                new VenueDistanceResultRow {
                    Id = 1, Distance = .3
                },
                new VenueDistanceResultRow {
                    Id = 2, Distance = .4
                },
                new VenueDistanceResultRow {
                    Id = 3, Distance = .7
                },
                new VenueDistanceResultRow {
                    Id = 4, Distance = .9
                }
            };

            if (emptyList)
            {
                closeByVenues.Clear();
            }

            var vv = new VenueValidator(venue, (new GoogleGeo.GeoResponse {
                Success = true, Found = true, GeoLocation = new GoogleGeo.GeoLocation {
                    LocationType = locationType
                }
            }, closeByVenues));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.NotExistingGeoLocation, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.IsTrue(factResult.Enabled);
                Assert.AreEqual(success, factResult.Success);
                if (!success)
                {
                    Assert.IsTrue(factResult.Message.Contains((closeByVenues.Max(v => v.Distance) * 1000).ToString(CultureInfo.InvariantCulture)));
                }
                Assert.IsNull(factResult.Exception);
            });
        }
        public async Task Venue_Name_Should_Be_Set(string venueName, bool expected)
        {
            var venue = new VenueEntity {
                Name = venueName
            };

            var vv = new VenueValidator(venue, (new GoogleGeo.GeoResponse(), new List <VenueDistanceResultRow>()));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.NameIsSet, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.IsTrue(factResult.Enabled);
                Assert.AreEqual(expected, factResult.Success);
                Assert.IsNull(factResult.Exception);
            });
        }
Exemple #17
0
 public void MapFormFieldsToEntity(VenueEntity venueEntity)
 {
     // The entity is populated from the database,
     // so we can track all eventual changes to fields
     venueEntity.Id = IsNew ? default : Id;
                      venueEntity.IsNew      = IsNew;
                      venueEntity.Name       = Name;
                      venueEntity.Extension  = Extension;
                      venueEntity.PostalCode = PostalCode;
                      venueEntity.City       = City;
                      venueEntity.Street     = Street;
                      venueEntity.Direction  = Direction;
                      if (venueEntity.Longitude.HasValue && venueEntity.Latitude.HasValue)
                      {
                          venueEntity.Longitude = Longitude;
                          venueEntity.Latitude  = Latitude;
                      }
 }
Exemple #18
0
        public void SeedVenueTag(DataContext context)
        {
            string path = Configuration.TagVenueFile;

            if (!context.Tag.Any())
            {
                var results = from str in File.ReadAllLines(path)
                              where !String.IsNullOrEmpty(str)
                              let data = str.Split(new string[] { ".." }, StringSplitOptions.RemoveEmptyEntries)
                                         where data.Length == 2 && !String.IsNullOrEmpty(data[0]) && !String.IsNullOrEmpty(data[1])
                                         select new TagVenueDSM
                {
                    VenueId = int.Parse(data[0]),
                    Tags    = data[1]
                };
                foreach (TagVenueDSM item in results)
                {
                    VenueEntity venue = new VenueEntity {
                        VenueCode = item.VenueId
                    };
                    context.Venue.Add(venue);
                    context.SaveChanges();
                    string[] tags = item.Tags.Split(',', '\t');
                    foreach (var tagItem in tags)
                    {
                        var inBase = context.Tag.Where(t => t.Value == tagItem).FirstOrDefault();
                        if (inBase == null)
                        {
                            TagEntity tag = new TagEntity {
                                Value = tagItem
                            };
                            tag.Venues = new List <VenueEntity>();
                            tag.Venues.Add(venue);
                            context.Tag.Add(tag);
                        }
                        else
                        {
                            inBase.Venues.Add(venue);
                        }
                        context.SaveChanges();
                    }
                }
            }
        }
        public async Task Address_Should_Be_Locatable(bool found)
        {
            var venue = new VenueEntity();

            var vv = new VenueValidator(venue, (new GoogleGeo.GeoResponse {
                Success = true, Found = found, StatusText = "OK", Exception = null, GeoLocation = new GoogleGeo.GeoLocation {
                    LocationType = GoogleGeo.LocationType.Approximate
                }
            }, new List <VenueDistanceResultRow>()));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.CanBeLocated, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.IsTrue(factResult.Enabled);
                Assert.AreEqual(found, factResult.Success);
                Assert.IsNull(factResult.Exception);
            });
        }
        public async Task No_Close_By_Other_Venue_Should_be_disabled(GoogleGeo.LocationType locationType, bool enabled)
        {
            var venue = new VenueEntity();

            var vv = new VenueValidator(venue, (new GoogleGeo.GeoResponse {
                Success = true, Found = true, GeoLocation = new GoogleGeo.GeoLocation {
                    LocationType = locationType
                }
            }, new List <VenueDistanceResultRow>()));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.NotExistingGeoLocation, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.AreEqual(factResult.Enabled, enabled);
                Assert.AreEqual(enabled, factResult.Success);
                Assert.IsNull(factResult.Exception);
            });
        }
        public async Task Position_should_be_found(GoogleGeo.LocationType locationType, bool expected)
        {
            var venue = new VenueEntity();

            var vv = new VenueValidator(venue, (new GoogleGeo.GeoResponse {
                Success = true, Found = true, GeoLocation = new GoogleGeo.GeoLocation {
                    LocationType = locationType
                }
            }, new List <VenueDistanceResultRow>()));

            var factResult = await vv.CheckAsync(VenueValidator.FactId.LocationIsPrecise, CancellationToken.None);

            Assert.Multiple(() =>
            {
                Assert.IsTrue(factResult.Enabled);
                Assert.AreEqual(expected, factResult.Success);
                Assert.IsNull(factResult.Exception);
            });
        }
Exemple #22
0
        public string GetResponse(string message)
        {
            if (String.IsNullOrEmpty(message))
            {
                return("I don't understand your question. Can you be more specific? :)");
            }

            string[] words = message.Split(' ', ',', '.', '\'', '?', '!', '/', '\\', ')', '(', ';', ':', '-', '_', '@', '#', '"', '+');
            string[] tags  = GetTagsFromDataBase(words);
            if (!tags.Any())
            {
                tags = GetTagsFromWord2VecLogic(words);
            }
            if (!tags.Any())
            {
                return("I don't understand your question. Can you be more specific? :)");
            }
            IEnumerable <VenueEntity> minTags = null;

            foreach (string tag in tags)
            {
                List <VenueEntity> venues = DataAccessService.VenueRepository.GetVenuesWithUsers(tag);
                if (venues.Count != 0)
                {
                    minTags = venues;
                    break;
                }
            }
            if (minTags != null && minTags.Count() != 0)
            {
                int         maxValue    = minTags.Max(v => v.Users.Count);
                VenueEntity final       = minTags.Where(v => v.Users.Count == maxValue).FirstOrDefault();
                string      recommended = GetRecommendedMeals(final.Tags, words);
                if (String.IsNullOrWhiteSpace(recommended))
                {
                    recommended = "none";
                }
                return("SPG recommends this venue: " + final.VenueCode + "!\n Tags: " + recommended + "\n Visits: " + final.Users.Count);
            }
            return("I don't understand your question. Can you be more specific? :)");
        }
Exemple #23
0
        public MovieTixContext()
        {
            Database.EnsureDeleted();

            var testEntity1 = new VenueEntity {
                Address   = "Madison Square Garden",
                EventName = "Bruins @ Rangers",
                MaxAisle  = "I",
                MaxRow    = 7,
                VenueId   = Guid.NewGuid(),
                Tickets   = GenerateTickets(7, 'I')
            };

            var testEntity2 = new VenueEntity
            {
                Address   = "Regal Cinema",
                EventName = "Avengers: Endgame",
                MaxAisle  = "F",
                MaxRow    = 6,
                VenueId   = Guid.NewGuid(),
                Tickets   = GenerateTickets(6, 'F')
            };

            var testEntity3 = new VenueEntity
            {
                Address   = "Alamo Drafthouse",
                EventName = "Monty Python and the Holy Grail",
                MaxAisle  = "D",
                MaxRow    = 8,
                VenueId   = Guid.NewGuid(),
                Tickets   = GenerateTickets(8, 'D')
            };

            Venues.Add(testEntity1);
            Venues.Add(testEntity2);
            Venues.Add(testEntity3);

            SaveChanges();
        }
 public void Add(VenueEntity entity)
 {
     Context.Venue.Add(entity);
 }
Exemple #25
0
        public bool UpdateData(IList <VenueEntity> venues)
        {
            if (venues.Any())
            {
                foreach (var venue in venues)
                {
                    VenueEntity v;

                    if (UnitOfWork.VenueRepository.FindBy(x => x.Name.Equals(venue.Name) || x.Name2.Equals(venue.Name) || x.Name3.Equals(venue.Name)).Any())
                    {
                        v = UnitOfWork.VenueRepository.FindBy(x => x.Name.Equals(venue.Name) || x.Name2.Equals(venue.Name) || x.Name3.Equals(venue.Name)).First();

                        v.DateTimeLastModified = (venue.DateTimeCreated.Equals(default(DateTime)) ? dateTime : venue.DateTimeCreated);

                        UnitOfWork.VenueRepository.Update(v);
                        UnitOfWork.Save();
                    }
                    else
                    {
                        v = new VenueEntity
                        {
                            Name            = venue.Name.ToUpper(),
                            Province        = venue.Province,
                            DateTimeCreated = (venue.DateTimeCreated.Equals(default(DateTime)) ? dateTime : venue.DateTimeCreated)
                        };

                        UnitOfWork.VenueRepository.Add(v);
                        UnitOfWork.Save();
                    }

                    if (venue.Meetings.Any())
                    {
                        foreach (var meeting in venue.Meetings)
                        {
                            MeetingEntity m;

                            if (UnitOfWork.MeetingRepository.FindBy(x => x.Date.Equals(meeting.Date) && x.VenueId.Equals(v.Id)).Any())
                            {
                                m = UnitOfWork.MeetingRepository.FindBy(x => x.Date.Equals(meeting.Date) && x.VenueId.Equals(v.Id)).First();

                                m.Date    = meeting.Date;
                                m.FormUrl = meeting.FormUrl;
                                m.TipsUrl = meeting.TipsUrl;
                                m.VenueId = v.Id;
                                m.DateTimeLastModified = (meeting.DateTimeCreated.Equals(default(DateTime)) ? dateTime : meeting.DateTimeCreated);

                                UnitOfWork.MeetingRepository.Update(m);
                                UnitOfWork.Save();
                            }
                            else
                            {
                                m = new MeetingEntity
                                {
                                    Date            = meeting.Date,
                                    FormUrl         = meeting.FormUrl,
                                    TipsUrl         = meeting.TipsUrl,
                                    VenueId         = v.Id,
                                    DateTimeCreated = (meeting.DateTimeCreated.Equals(default(DateTime)) ? dateTime : meeting.DateTimeCreated)
                                };

                                UnitOfWork.MeetingRepository.Add(m);
                                UnitOfWork.Save();
                            }

                            if (meeting.Races.Any())
                            {
                                foreach (var race in meeting.Races)
                                {
                                    RaceEntity r;

                                    if (UnitOfWork.RaceRepository.FindBy(x => x.MeetingId.Equals(m.Id) && x.Number.Equals(race.Number)).Any())
                                    {
                                        r = UnitOfWork.RaceRepository.FindBy(x => x.MeetingId.Equals(m.Id) && x.Number.Equals(race.Number)).First();

                                        r.Name                 = race.Name.ToUpper();
                                        r.Time                 = race.Time;
                                        r.Weather              = race.Weather;
                                        r.Track                = race.Track;
                                        r.Distance             = race.Distance;
                                        r.Class                = race.Class;
                                        r.Prizemoney           = race.Prizemoney;
                                        r.DateTimeLastModified = (race.DateTimeCreated.Equals(default(DateTime)) ? dateTime : race.DateTimeCreated);

                                        UnitOfWork.RaceRepository.Update(r);
                                        UnitOfWork.Save();
                                    }
                                    else
                                    {
                                        r = new RaceEntity
                                        {
                                            MeetingId       = m.Id,
                                            Number          = race.Number,
                                            Name            = race.Name.ToUpper(),
                                            Time            = race.Time,
                                            Weather         = race.Weather,
                                            Track           = race.Track,
                                            Distance        = race.Distance,
                                            Class           = race.Class,
                                            Prizemoney      = race.Prizemoney,
                                            DateTimeCreated = (race.DateTimeCreated.Equals(default(DateTime)) ? dateTime : race.DateTimeCreated),
                                        };

                                        UnitOfWork.RaceRepository.Add(r);
                                        UnitOfWork.Save();
                                    }

                                    if (race.Runners.Any())
                                    {
                                        foreach (var runner in race.Runners)
                                        {
                                            RunnerEntity n;

                                            if (UnitOfWork.RunnerRepository.FindBy(x => x.RaceId.Equals(r.Id) && x.Number.Equals(runner.Number)).Any())
                                            {
                                                n = UnitOfWork.RunnerRepository.FindBy(x => x.RaceId.Equals(r.Id) && x.Number.Equals(runner.Number)).First();

                                                n.Name                     = runner.Name.ToUpper();
                                                n.Rating                   = runner.Rating;
                                                n.LastFiveRuns             = runner.LastFiveRuns;
                                                n.Scratched                = runner.Scratched;
                                                n.Barrel                   = runner.Barrel;
                                                n.Tcdw                     = runner.Tcdw;
                                                n.Trainer                  = runner.Trainer;
                                                n.Jockey                   = runner.Jockey;
                                                n.Weight                   = runner.Weight;
                                                n.ResultPosition           = runner.ResultPosition;
                                                n.FormSkyRating            = runner.FormSkyRating;
                                                n.FormSkyRatingPosition    = runner.FormSkyRatingPosition;
                                                n.FormBest12Months         = runner.FormBest12Months;
                                                n.FormBest12MonthsPosition = runner.FormBest12MonthsPosition;
                                                n.FormRecent               = runner.FormRecent;
                                                n.FormRecentPosition       = runner.FormRecentPosition;
                                                n.FormDistance             = runner.FormDistance;
                                                n.FormDistancePosition     = runner.FormDistancePosition;
                                                n.FormClass                = runner.FormClass;
                                                n.FormClassPosition        = runner.FormClassPosition;
                                                n.FormTimeRating           = runner.FormTimeRating;
                                                n.FormTimeRatingPosition   = runner.FormTimeRatingPosition;
                                                n.FormInWet                = runner.FormInWet;
                                                n.FormInWetPosition        = runner.FormInWetPosition;
                                                n.FormBestOverall          = runner.FormBestOverall;
                                                n.FormBestOverallPosition  = runner.FormBestOverallPosition;
                                                n.TipSky                   = runner.TipSky;
                                                n.TipSkyPosition           = runner.TipSkyPosition;
                                                n.DateTimeLastModified     = (runner.DateTimeCreated.Equals(default(DateTime)) ? dateTime : runner.DateTimeCreated);

                                                UnitOfWork.RunnerRepository.Update(n);
                                                UnitOfWork.Save();
                                            }
                                            else
                                            {
                                                n = new RunnerEntity
                                                {
                                                    RaceId                   = r.Id,
                                                    Number                   = runner.Number,
                                                    Name                     = runner.Name.ToUpper(),
                                                    Rating                   = runner.Rating,
                                                    LastFiveRuns             = runner.LastFiveRuns,
                                                    Scratched                = runner.Scratched,
                                                    Barrel                   = runner.Barrel,
                                                    Tcdw                     = runner.Tcdw,
                                                    Trainer                  = runner.Trainer,
                                                    Jockey                   = runner.Jockey,
                                                    Weight                   = runner.Weight,
                                                    ResultPosition           = runner.ResultPosition,
                                                    FormSkyRating            = runner.FormSkyRating,
                                                    FormSkyRatingPosition    = runner.FormSkyRatingPosition,
                                                    FormBest12Months         = runner.FormBest12Months,
                                                    FormBest12MonthsPosition = runner.FormBest12MonthsPosition,
                                                    FormRecent               = runner.FormRecent,
                                                    FormRecentPosition       = runner.FormRecentPosition,
                                                    FormDistance             = runner.FormDistance,
                                                    FormDistancePosition     = runner.FormDistancePosition,
                                                    FormClass                = runner.FormClass,
                                                    FormClassPosition        = runner.FormClassPosition,
                                                    FormTimeRating           = runner.FormTimeRating,
                                                    FormTimeRatingPosition   = runner.FormTimeRatingPosition,
                                                    FormInWet                = runner.FormInWet,
                                                    FormInWetPosition        = runner.FormInWetPosition,
                                                    FormBestOverall          = runner.FormBestOverall,
                                                    FormBestOverallPosition  = runner.FormBestOverallPosition,
                                                    TipSky                   = runner.TipSky,
                                                    TipSkyPosition           = runner.TipSkyPosition,
                                                    DateTimeCreated          = (runner.DateTimeCreated.Equals(default(DateTime)) ? dateTime : runner.DateTimeCreated)
                                                };

                                                UnitOfWork.RunnerRepository.Add(n);
                                                UnitOfWork.Save();
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            return(true);
        }
Exemple #26
0
        public async Task <IActionResult> EditVenue([FromForm] VenueEditModel venueEditModel, CancellationToken cancellationToken)
        {
            var sessionModel = await GetModelFromSession(cancellationToken);

            if (!sessionModel.IsFromSession)
            {
                return(RedirectToAction(nameof(SelectTeam), new { Organization = _tenantContext.SiteContext.UrlSegmentValue }));
            }
            ViewData["TournamentName"] = sessionModel.TournamentName;

            var venueEntity = new VenueEntity();

            if (!venueEditModel.Venue.IsNew)
            {
                venueEntity = (await _appDb.VenueRepository.GetVenuesAsync(
                                   new PredicateExpression(VenueFields.Id == venueEditModel.Venue?.Id),
                                   cancellationToken)).FirstOrDefault();

                if (venueEntity == null)
                {
                    return(RedirectToAction(nameof(SelectVenue), new { Organization = _tenantContext.SiteContext.UrlSegmentValue }));
                }
            }

            var venueTeams = await _appDb.VenueRepository.GetVenueTeamRowsAsync(new PredicateExpression(VenueTeamFields.VenueId == venueEntity.Id), cancellationToken);

            venueEditModel = GetVenueEditModel(venueEntity, null,
                                               venueTeams.Select(vt => vt.TeamName).Distinct().OrderBy(n => n).ToList());

            venueEditModel.Venue.MapEntityToFormFields(venueEditModel.VenueEntity);

            // sync input with new model instance
            if (!await TryUpdateModelAsync(venueEditModel))
            {
                return(View(ViewNames.TeamApplication.EditVenue, venueEditModel));
            }

            ModelState.Clear();
            venueEditModel.Venue.MapFormFieldsToEntity(venueEditModel.VenueEntity);

            var geoResponse = new GoogleGeo.GeoResponse {
                Success = false
            };

            if (venueEditModel.ShouldAutoUpdateLocation())
            {
                geoResponse = await SetupVenueModelForGeoLocation(venueEditModel, cancellationToken);
            }

            if (!await venueEditModel.ValidateAsync(
                    new VenueValidator(venueEditModel.VenueEntity, (geoResponse, venueEditModel.VenuesForDistance)),
                    ModelState,
                    cancellationToken))
            {
                return(View(ViewNames.TeamApplication.EditVenue, venueEditModel));
            }

            sessionModel.Venue.MapEntityToFormFields(venueEditModel.VenueEntity);
            SaveModelToSession(sessionModel);
            sessionModel.VenueIsSet = true;

            return(RedirectToAction(nameof(Confirm), new { Organization = _tenantContext.SiteContext.UrlSegmentValue }));
        }
Exemple #27
0
 public static Venue ToDomain(this VenueEntity entity)
 {
     return(new Venue(entity.Id, entity.Location, entity.Name, entity.Distance));
 }
Exemple #28
0
        public void SeedVenueUser(DataContext context)
        {
            string path = Configuration.UserVenueFile;

            if (!context.User.Any())
            {
                var results = from str in File.ReadAllLines(path)
                              where !String.IsNullOrEmpty(str)
                              let data = str.Split(new string[] { ".." }, StringSplitOptions.RemoveEmptyEntries)
                                         where data.Length == 2 && !String.IsNullOrEmpty(data[0]) && !String.IsNullOrEmpty(data[1])
                                         select new UserVenueDSM
                {
                    UserId  = int.Parse(data[0]),
                    VenueId = int.Parse(data[1])
                };
                foreach (UserVenueDSM item in results)
                {
                    UserEntity  user  = context.User.Where(u => u.UserId == item.UserId).FirstOrDefault();
                    VenueEntity venue = context.Venue.Where(v => v.VenueCode == item.VenueId).FirstOrDefault();
                    if (user == null && venue == null)
                    {
                        user = new UserEntity()
                        {
                            UserId = item.UserId, Venues = new List <VenueEntity>()
                        };
                        venue = new VenueEntity()
                        {
                            VenueCode = item.VenueId
                        };
                        user.Venues.Add(venue);
                        context.User.Add(user);
                        context.Venue.Add(venue);
                        context.SaveChanges();
                    }
                    else if (user != null && venue == null)
                    {
                        venue = new VenueEntity()
                        {
                            VenueCode = item.VenueId
                        };
                        if (venue.Users == null)
                        {
                            venue.Users = new List <UserEntity>();
                        }
                        venue.Users.Add(user);
                        context.Venue.Add(venue);
                        context.SaveChanges();
                    }
                    else if (user == null && venue != null)
                    {
                        user = new UserEntity()
                        {
                            UserId = item.UserId, Venues = new List <VenueEntity>()
                        };
                        if (user.Venues == null)
                        {
                            user.Venues = new List <VenueEntity>();
                        }
                        user.Venues.Add(venue);
                        context.User.Add(user);
                        context.SaveChanges();
                    }
                    else
                    {
                        if (user.Venues == null)
                        {
                            user.Venues = new List <VenueEntity>();
                        }
                        user.Venues.Add(venue);
                        context.SaveChanges();
                    }
                }
            }
        }
 public static void ToEntity(Venue vm, VenueEntity entity)
 {
     entity.Name        = vm.Name;
     entity.Description = vm.Description;
     entity.Notes       = vm.Notes;
 }
 public void Remove(VenueEntity entity)
 {
     Context.Venue.Remove(entity);
 }