public IActionResult Create(EventBindingModel model)
        {
            var oracle = _eventService.GetSender();
            var result = _eventService.Deploy(oracle, model.HomeTeamName, model.AwayTeamName);

            if (result.Success == false)
            {
                this.ViewBag.ErrorMessage = "Deploy event failed";
                _logger.LogCritical($"Deploy event failed {result.GetListMessages()}");
                return(this.View("Index"));
            }

            var info = _eventService.GetEventInfo(result.Value);

            if (info.Success == false)
            {
                this.ViewBag.ErrorMessage = "Getting event info failed";
                _logger.LogCritical($"GetEventInfo failed {info.GetListMessages()}");
                return(this.View("Index"));
            }

            var dto = new Event()
            {
                Address      = result.Value,
                AwayTeamName = info.Value.AwayTeamName,
                HomeTeamName = info.Value.HomeTeamName,
                IsOpen       = info.Value.IsOpen,
                ExpireAt     = DateTimeExtensions.UnixTimeStampToDateTime(info.Value.ExpireAt),
            };

            this.DbContext.Events.Add(dto);
            this.DbContext.SaveChanges();

            return(this.RedirectToAction("ViewAll"));
        }
Example #2
0
 private void AttachUsersToPositions(Event dbEvent, EventBindingModel model)
 {
     foreach (var position in model.Positions)
     {
         var dbPosition = dbEvent.Positions.FirstOrDefault(p => p.PositionId == position.Id);
         if (dbPosition != null && dbPosition.Position.EventAttendees.Count != 0)
         {
             string aproovedPlayerId = dbPosition.Position.EventAttendees.First().UserId;
             position.Approved.Name       = userManager.Users.FirstOrDefault(u => u.Id == aproovedPlayerId).UserName;
             position.Approved.Id         = aproovedPlayerId;
             position.Approved.EventId    = dbEvent.Id;
             position.Approved.PositionId = position.Id;
         }
         if (dbPosition != null && dbPosition.Position.EventAttendeesToBeApproved.Count != 0)
         {
             var toBeAprooved = dbPosition.Position.EventAttendeesToBeApproved.ToList();
             foreach (var user in toBeAprooved)
             {
                 PlayerModel pendingAproval = new PlayerModel();
                 pendingAproval.Name       = userManager.Users.FirstOrDefault(u => u.Id == user.UserId).UserName;
                 pendingAproval.Id         = user.UserId;
                 pendingAproval.EventId    = dbEvent.Id;
                 pendingAproval.PositionId = position.Id;
                 position.ToBeApproved.Add(pendingAproval);
             }
         }
     }
 }
Example #3
0
        public async Task <Guid> CreateEvent(EventBindingModel model)
        {
            IUser account = await this._userManager.FindByIdAsync(User.Identity.GetUserId());

            CreateEventResponse response = await this._eventsService.CreateEvent(new CreateEventRequest
            {
                AccountId              = Guid.Parse(account.Id),
                AlgorithmType          = model.AlgorithmType,
                CloseDate              = model.CloseDate,
                CurrencyType           = model.CurrencyType,
                EndDate                = model.EndDate,
                EndRate                = model.EndRate,
                EventRelationType      = model.EventRelationType,
                ExpectedEventCondition = model.ExpectedEventCondition,
                ImageUri               = model.ImageUri,
                ArbiterAccountIds      = (await this.MatchesAccounts(model.ArbiterAccounts)).Select(a => Guid.Parse(a.Id)),
                LocusRage              = model.LocusRage,
                ParticipantsAccountIds = (await this.MatchesAccounts(model.ParticipantsAccounts)).Select(a => Guid.Parse(a.Id)),
                StartDate              = model.StartDate,
                StartRate              = model.StartRate,
                Title = model.Title
            });

            return(response.EventId);
        }
Example #4
0
        public void Test_Put_UnauthorizedUser()
        {
            // Arrange: set UserMaria as currently logged in user
            TestingUtils.AssignCurrentUserForController(
                this.eventsController, this.testDb.UserMaria);

            // Get the "OpenFest" event with owner GuestUser
            var openFestEvent = this.testDb.EventOpenFest;

            // Create an event binding model
            var changedEvent = new EventBindingModel();;

            // Act: invoke the controller method with invalid id and cast the result
            var result = this.eventsController
                         .PutEvent(openFestEvent.Id, changedEvent) as UnauthorizedObjectResult;

            Assert.IsNotNull(result);

            // Assert an "Unauthorized" result with an error message is returned
            Assert.AreEqual((int)HttpStatusCode.Unauthorized, result.StatusCode);

            var resultValue = result.Value as ResponseMsg;

            Assert.AreEqual($"Cannot edit event, when not an owner.", resultValue.Message);
        }
Example #5
0
        public void Test_Edit_PostInvalidData()
        {
            // Arrange: get the "Dev Conference" event from the database for editing
            var devConfEvent = this.testDb.EventDevConf;

            // Create an event binding model with invalid name: name == empty string
            var invalidName = string.Empty;
            EventBindingModel model = new EventBindingModel()
            {
                Name = invalidName,
                Place = devConfEvent.Place,
                Start = devConfEvent.Start,
                End = devConfEvent.End,
                TotalTickets = devConfEvent.TotalTickets,
                PricePerTicket = devConfEvent.PricePerTicket
            };

            // Add error to the controller
            this.controller.ModelState.AddModelError("Name", "The Name field is required");

            // Act: invoke the controller method
            var result = this.controller.Edit(devConfEvent.Id, model);

            // Assert the user is not redirected
            var redirectResult = result as RedirectToActionResult;
            Assert.IsNull(redirectResult);

            // Assert the event's name is not edited
            var editedEvent = this.dbContext.Events.Find(devConfEvent.Id);
            Assert.IsNotNull(editedEvent);
            Assert.AreEqual(devConfEvent.Name, editedEvent.Name);

            // Remove ModelState error for next tests
            this.controller.ModelState.Remove("Name");
        }
Example #6
0
        public ActionResult Edit(int id, EventBindingModel model)
        {
            var eventToEdit = this.EventLoad(id);

            if (eventToEdit == null)
            {
                this.AddNotification("Cannot edit event #" + id, NotificationType.ERROR);

                return(this.RedirectToAction("My"));
            }

            if (model != null && this.ModelState.IsValid)
            {
                eventToEdit.Title         = model.Title;
                eventToEdit.StartDateTime = model.StartDateTime;
                eventToEdit.Duration      = model.Duration;
                eventToEdit.Description   = model.Description;
                eventToEdit.Location      = model.Location;
                eventToEdit.IsPublic      = model.IsPublic;

                this.db.SaveChanges();
                this.AddNotification("Event edited.", NotificationType.INFO);

                return(this.RedirectToAction("My"));
            }

            return(this.View(model));
        }
Example #7
0
        public IActionResult Edit(int id, EventBindingModel bindingModel)
        {
            Event ev = this.dbContext.Events.Find(id);

            if (ev == null)
            {
                // When event with this id doesn't exist
                return(BadRequest());
            }

            string currentUserId = GetUserId();

            if (currentUserId != ev.OwnerId)
            {
                // Not an owner -> return "Unauthorized"
                return(Unauthorized());
            }

            if (!this.ModelState.IsValid)
            {
                return(View(bindingModel));
            }

            ev.Name           = bindingModel.Name;
            ev.Place          = bindingModel.Place;
            ev.Start          = bindingModel.Start;
            ev.End            = bindingModel.End;
            ev.TotalTickets   = bindingModel.TotalTickets;
            ev.PricePerTicket = bindingModel.PricePerTicket;

            this.dbContext.SaveChanges();
            return(RedirectToAction("All"));
        }
Example #8
0
        public IActionResult Edit(int id)
        {
            Event ev = this.dbContext.Events.Find(id);

            if (ev == null)
            {
                // When event with this id doesn't exist
                return(BadRequest());
            }

            string currentUserId = GetUserId();

            if (currentUserId != ev.OwnerId)
            {
                // When current user is not an owner
                return(Unauthorized());
            }

            EventBindingModel model = new EventBindingModel()
            {
                Name           = ev.Name,
                Place          = ev.Place,
                Start          = ev.Start,
                End            = ev.End,
                PricePerTicket = ev.PricePerTicket,
                TotalTickets   = ev.TotalTickets
            };

            return(View(model));
        }
Example #9
0
        public async Task Test_Events_EditEvent_InvalidData()
        {
            // Arrange: get the "Dev Conference" event
            var devConfEvent = this.testDb.EventDevConf;

            // Create new event binding model, where only the event name is changed
            // The name is invalid
            var changedName  = string.Empty;
            var changedEvent = new EventBindingModel()
            {
                Name           = changedName,
                Place          = devConfEvent.Place,
                Start          = devConfEvent.Start,
                End            = devConfEvent.End,
                TotalTickets   = devConfEvent.TotalTickets,
                PricePerTicket = devConfEvent.PricePerTicket
            };

            // Act: send PUT request with the changed event
            var putResponse = await this.httpClient.PutAsJsonAsync(
                $"/api/events/{devConfEvent.Id}", changedEvent);

            // Assert "BadRequest" is returned
            Assert.AreEqual(HttpStatusCode.BadRequest, putResponse.StatusCode);

            // Assert the event in not edited in the database
            this.dbContext = this.testDb.CreateDbContext();
            var eventInDbAfter = this.dbContext.Events.Find(devConfEvent.Id);

            Assert.AreEqual(devConfEvent.Name, eventInDbAfter.Name);
        }
Example #10
0
        public async Task Test_Events_CreateEvent_ValidData()
        {
            // Arrange: create a new binding model
            var eventName  = "Party";
            var eventPlace = "Beach";
            var newEvent   = new EventBindingModel()
            {
                Name           = eventName,
                Place          = eventPlace,
                Start          = DateTime.Now.AddDays(1),
                End            = DateTime.Now.AddDays(2),
                TotalTickets   = 120,
                PricePerTicket = 20.00M
            };

            var eventsCountBefore = this.dbContext.Events.Count();

            // Act: send a POST request with the new event binding model
            var postResponse = await this.httpClient.PostAsJsonAsync(
                "/api/events/create", newEvent);

            // Assert the event is created successfully
            Assert.AreEqual(HttpStatusCode.Created, postResponse.StatusCode);

            this.dbContext = this.testDb.CreateDbContext();
            var eventsCountAfter = this.dbContext.Events.Count();

            Assert.AreEqual(eventsCountBefore + 1, eventsCountAfter);
        }
Example #11
0
        public async Task Test_Events_EditEvent_ValidId()
        {
            // Arrange: get the "Dev Conference" event
            var devConfEvent = this.testDb.EventDevConf;

            // Create new event binding model, where only the event name is changed
            var changedName  = "Dev Conference (New Edition)";
            var changedEvent = new EventBindingModel()
            {
                Name           = changedName,
                Place          = devConfEvent.Place,
                Start          = devConfEvent.Start,
                End            = devConfEvent.End,
                TotalTickets   = devConfEvent.TotalTickets,
                PricePerTicket = devConfEvent.PricePerTicket
            };

            // Act: send PUT request with the changed event
            var putResponse = await this.httpClient.PutAsJsonAsync(
                $"/api/events/{devConfEvent.Id}", changedEvent);

            // Assert
            Assert.AreEqual(HttpStatusCode.NoContent, putResponse.StatusCode);

            this.dbContext = this.testDb.CreateDbContext();
            var eventInDbAfter = this.dbContext.Events.Find(devConfEvent.Id);

            Assert.AreEqual(changedName, eventInDbAfter.Name);
        }
Example #12
0
        public async Task Test_Events_EditEvent_InvalidId()
        {
            // Arrange: create an event binding model with changed name
            var changedName  = "Dev Conference (New Edition)";
            var changedEvent = new EventBindingModel()
            {
                Name           = changedName,
                Place          = "Sofia",
                Start          = DateTime.Now.AddMonths(3),
                End            = DateTime.Now.AddMonths(3),
                TotalTickets   = 200,
                PricePerTicket = 12.00m
            };

            var invalidId = -1;

            // Act: send a PUT request with invalid id
            var putResponse = await this.httpClient.PutAsJsonAsync(
                $"/api/events/{invalidId}", changedEvent);

            // Assert "NotFound" is returned
            Assert.AreEqual(HttpStatusCode.NotFound, putResponse.StatusCode);

            var putResponseContent = await putResponse.Content.ReadAsAsync <ResponseMsg>();

            Assert.AreEqual($"Event #{invalidId} not found.", putResponseContent.Message);
        }
Example #13
0
        public async Task Test_Events_CreateEvent_InvalidData()
        {
            // Arrange: create event binding model
            // with invalid name: name == empty string
            var invalidEventName = string.Empty;
            var newEvent         = new EventBindingModel()
            {
                Name           = invalidEventName,
                Place          = "Beach",
                Start          = DateTime.Now.AddDays(1),
                End            = DateTime.Now.AddDays(2),
                TotalTickets   = 120,
                PricePerTicket = 20
            };
            var eventsCountBefore = this.dbContext.Events.Count();

            // Act
            var postResponse = await this.httpClient.PostAsJsonAsync("/api/events/create", newEvent);

            // Assert a "BadRequest" is returned
            Assert.AreEqual(HttpStatusCode.BadRequest, postResponse.StatusCode);

            var postResponseContent = await postResponse.Content.ReadAsStringAsync();

            Assert.That(postResponseContent.Contains("The Name field is required."));

            var eventsCountAfter = this.dbContext.Events.Count();

            Assert.AreEqual(eventsCountBefore, eventsCountAfter);
        }
Example #14
0
        public void Test_Edit_UnauthorizedUser()
        {
            // Arrange: get the "Open Fest" event with owner UserPeter
            var openFestEvent = this.testDb.EventOpenFest;

            // Create event binding model with changed event name
            var changedName = "OpenFest 2021 (New Edition)";
            var changedEvent = new EventBindingModel()
            {
                Name = changedName,
                Place = openFestEvent.Place,
                Start = openFestEvent.Start,
                End = openFestEvent.End,
                TotalTickets = openFestEvent.TotalTickets,
                PricePerTicket = openFestEvent.PricePerTicket
            };

            // Act: invoke the controller method
            var result = this.controller.Edit(openFestEvent.Id, changedEvent);

            // Assert an "Unauthorized" result is returned
            // because UserMaria is not the owner of the "Open Fest" event
            var unauthorizedResult = result as UnauthorizedResult;
            Assert.AreEqual((int)HttpStatusCode.Unauthorized, unauthorizedResult.StatusCode);
            Assert.IsNotNull(unauthorizedResult);

            // Assert the event's name is not edited
            var editedEvent = this.dbContext.Events.Find(openFestEvent.Id);
            Assert.IsNotNull(editedEvent);
            Assert.AreEqual(openFestEvent.Name, editedEvent.Name);
        }
Example #15
0
        public IActionResult PutEvent(int id, EventBindingModel eventModel)
        {
            var eventExists = this.dbContext.Events.Any(e => e.Id == id);

            if (!eventExists)
            {
                return(NotFound(
                           new ResponseMsg {
                    Message = $"Event #{id} not found."
                }));
            }

            var ev = this.dbContext.Events.Find(id);

            if (GetCurrentUserId() != ev.OwnerId)
            {
                return(Unauthorized(
                           new ResponseMsg {
                    Message = "Cannot edit event, when not an owner."
                }));
            }

            ev.Name           = eventModel.Name;
            ev.Place          = eventModel.Place;
            ev.Start          = eventModel.Start.AddTicks(-(eventModel.Start.Ticks % TimeSpan.TicksPerSecond));
            ev.End            = eventModel.End.AddTicks(-(eventModel.End.Ticks % TimeSpan.TicksPerSecond));
            ev.TotalTickets   = eventModel.TotalTickets;
            ev.PricePerTicket = eventModel.PricePerTicket;
            this.dbContext.SaveChanges();

            return(NoContent());
        }
        public async Task <IActionResult> GetAll([FromQuery] EventBindingModel collection)
        {
            if (string.IsNullOrWhiteSpace(collection?.Token))
            {
                return(BadRequest(GeneralMessage.TokenNotFound));
            }
            if (string.IsNullOrWhiteSpace(collection?.DeviceId))
            {
                return(BadRequest(GeneralMessage.DeviceIdNotFound));
            }
            try {
                var model  = _mapper.Map <EventGetPagingSchema>(collection);
                var result = await _eventService.GetPagingAsync(model);

                switch (model.StatusCode)
                {
                case 1:
                    return(Ok(data: _mapper.Map <IEnumerable <EventViewModel> >(result), totalPages: collection.TotalPages(model.RowsCount)));

                case -1:
                    return(BadRequest(GeneralMessage.UserNotFound));

                case -2:
                    return(BadRequest(GeneralMessage.UserIsNotActive));

                case -3:
                    return(BadRequest(GeneralMessage.PhoneIsNotVerified));
                }
            }
            catch (Exception ex) {
                await _exceptionService.InsertAsync(ex, URL, IP);
            }
            return(InternalServerError());
        }
        public async Task <IActionResult> HomePageView(EventBindingModel model, IFormFile eventImage)
        {
            this.eventService.CreateEvent(eventMapper.NewEvent(model, eventImage, userManager.GetUserId(User)));

            await base.UpdateEventsInCache();

            return(ReturnMainView());
        }
Example #18
0
        public ActionResult Add(int id)
        {
            var model = new EventBindingModel();

            model.Id = id;

            return(this.View(model));
        }
        public IActionResult HomePageView(EventBindingModel model, IFormFile eventImage)
        {
            this._eventService.CreateEvent(eventMapper.MapEventToDB(model, eventImage, _userManager.GetUserId(User)));
            var task = new EventsTask(factory);

            task.ProcessInScope(provider);

            return(ReturnMainView());
        }
Example #20
0
        public async Task <IActionResult> Edit(EventBindingModel model, IFormFile eventImage)
        {
            var viewModel = eventMapper.ModifiedEvent(model, eventImage, userManager.GetUserId(User));

            this.eventService.EditEvent(viewModel);

            await base.UpdateEventsInCache();

            return(this.RedirectToAction("GetMyEvents"));
        }
Example #21
0
        public void Test_Events_Create()
        {
            // Arrange: get the events count before the creation
            int eventsCountBefore = this.dbContext.Events.Count();

            // Set UserMaria as a currently logged in user
            TestingUtils.AssignCurrentUserForController(
                this.eventsController, this.testDb.UserMaria);

            // Create a new event binding model
            var newEventData = new EventBindingModel()
            {
                Name           = "New Event " + DateTime.Now.Ticks,
                Place          = "Sofia",
                Start          = DateTime.Now.AddMonths(3),
                End            = DateTime.Now.AddMonths(3).AddDays(1),
                TotalTickets   = 500,
                PricePerTicket = 20
            };

            // Act: invoke the controller method and cast the result
            var result = this.eventsController.CreateEvent(newEventData)
                         as CreatedAtActionResult;

            Assert.IsNotNull(result);

            // Assert a "Created" result with the correct event data is returned
            Assert.AreEqual((int)HttpStatusCode.Created, result.StatusCode);

            var resultValue = result.Value as EventListingModel;

            Assert.IsTrue(resultValue.Id > 0);
            Assert.AreEqual(newEventData.Name, resultValue.Name);
            Assert.AreEqual(newEventData.Place, resultValue.Place);
            Assert.AreEqual(newEventData.Start.ToString("dd/MM/yyyy HH:mm"), resultValue.Start);
            Assert.AreEqual(newEventData.End.ToString("dd/MM/yyyy HH:mm"), resultValue.End);
            Assert.AreEqual(newEventData.PricePerTicket, resultValue.PricePerTicket);
            Assert.AreEqual(newEventData.TotalTickets, resultValue.TotalTickets);

            // Assert the new event is added to the db correctly
            int eventsCountAfter = this.dbContext.Events.Count();

            Assert.That(eventsCountAfter == eventsCountBefore + 1);

            var newEventFromDb =
                this.dbContext.Events.FirstOrDefault(e => e.Name == newEventData.Name);

            Assert.IsTrue(newEventFromDb.Id > 0);
            Assert.AreEqual(newEventData.Place, newEventFromDb.Place);
            Assert.AreEqual(newEventData.Start, newEventFromDb.Start);
            Assert.AreEqual(newEventData.End, newEventFromDb.End);
            Assert.AreEqual(newEventData.PricePerTicket, newEventFromDb.PricePerTicket);
            Assert.AreEqual(newEventData.TotalTickets, newEventFromDb.TotalTickets);
        }
Example #22
0
 private static void AttachPositions(Event viewEvent, EventBindingModel model)
 {
     foreach (var position in viewEvent.Sport.Positions)
     {
         PositionModel newPosition = new PositionModel();
         newPosition.EventId = viewEvent.Id;
         newPosition.Id      = position.Id;
         newPosition.Name    = position.Name;
         newPosition.Team    = position.Team;
         model.Positions.Add(newPosition);
     }
 }
        public IActionResult Edit(EventBindingModel model, IFormFile eventImage)
        {
            var viewModel = eventMapper.MapEditEventToDB(model, eventImage, _userManager.GetUserId(User));

            this._eventService.EditEvent(viewModel);

            var task = new EventsTask(factory);

            task.ProcessInScope(provider);

            return(this.RedirectToAction("GetMyEvents"));
        }
Example #24
0
        public IHttpActionResult UpdateEvent([FromUri] int id, [FromBody] EventBindingModel model)
        {
            Exception ex = null;

            try {
                var e = model.GetEntity();
                _dataProvider.SaveEntity <Event>(e);
            } catch (Exception e) {
                ex = e;
            }

            return(GetHttpActionResult(ex));
        }
Example #25
0
        public ActionResult DeleteConfirmed(EventBindingModel bind)
        {
            var @event = db.Events.Find(bind.Id);

            db.Events.Remove(@event);

            var eventImages = @event.EventImages;

            this.db.EventImages.RemoveRange(eventImages);
            //var logo = @event.Logo;
            //this.db.EventImages.RemoveRange(eventImages);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Example #26
0
        public Event NewEvent(EventBindingModel model, IFormFile eventImage, string adminId)
        {
            Event newEvent = new Event();

            newEvent.Id          = model.Id;
            newEvent.Name        = model.Title;
            newEvent.Time        = model.Time;
            newEvent.SportId     = model.SportId;
            newEvent.Description = model.Description;
            newEvent.Location    = model.Location;
            newEvent.Image       = eventImage == null ? "defaultImage.jpg" : this.imageService.UploadImage(eventImage);
            newEvent.AdminId     = adminId;

            return(newEvent);
        }
Example #27
0
        public IActionResult Create()
        {
            var currentDate         = DateTime.Now;
            var startDate           = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day, currentDate.AddHours(1).Hour, currentDate.Minute, 0);
            var endDate             = new DateTime(currentDate.Year, currentDate.Month, currentDate.AddDays(1).Day, currentDate.AddHours(6).Hour, currentDate.Minute, 0);
            EventBindingModel model = new EventBindingModel()
            {
                Name           = "New Event",
                Place          = "Some Place",
                Start          = startDate,
                End            = endDate,
                PricePerTicket = 10.00M,
                TotalTickets   = 100
            };

            return(View(model));
        }
Example #28
0
        public void Test_Put_ValidId()
        {
            // Arrange: set UserMaria as a currently logged in user
            TestingUtils.AssignCurrentUserForController(
                this.eventsController, this.testDb.UserMaria);

            // Create a new event in the database for editing
            var newEvent = new Event()
            {
                Name           = "Beach Party" + DateTime.Now.Ticks,
                Place          = "Ibiza",
                Start          = DateTime.Now.AddMonths(3),
                End            = DateTime.Now.AddMonths(3),
                TotalTickets   = 20,
                PricePerTicket = 120.00m,
                OwnerId        = this.testDb.UserMaria.Id
            };

            this.dbContext.Add(newEvent);
            this.dbContext.SaveChanges();

            // Create an event binding model with changed event name
            var changedEvent = new EventBindingModel()
            {
                Name           = "House Party" + DateTime.Now.Ticks,
                Place          = newEvent.Place,
                Start          = newEvent.Start,
                End            = newEvent.End,
                TotalTickets   = newEvent.TotalTickets,
                PricePerTicket = newEvent.PricePerTicket
            };

            // Act: invoke the controller method and cast the result
            var result = this.eventsController.PutEvent(newEvent.Id, changedEvent)
                         as NoContentResult;

            Assert.IsNotNull(result);

            // Assert a "NoContent" result is returned
            Assert.AreEqual((int)HttpStatusCode.NoContent, result.StatusCode);

            // Assert the event in the database has a changed name
            var newEventFromDb = this.dbContext.Events.Find(newEvent.Id);

            Assert.AreEqual(newEventFromDb.Name, changedEvent.Name);
        }
Example #29
0
        public ActionResult Create()
        {
            var countries     = this.db.Countries;
            var countryModels = Mapper.Map <IEnumerable <Country>, IEnumerable <CountryBindingModel> >(countries);
            var cities        = this.db.Cities.ToList();
            var citiesModel   =
                Mapper.Map <IEnumerable <City>, IEnumerable <CityBindingModel> >(cities);
            var venues       = this.db.Venues;
            var venuesModel  = Mapper.Map <IEnumerable <Venue>, IEnumerable <VenueBindingModel> >(venues);
            var bindingModel = new EventBindingModel
            {
                AvailableCountries = countryModels,
                AvailableCities    = citiesModel,
                AvailableVenues    = venuesModel
            };

            return(View(bindingModel));
        }
Example #30
0
        public Event ModifiedEvent(EventBindingModel model, IFormFile eventImage, string adminId)
        {
            Event newEvent = new Event();

            newEvent.Id          = model.Id;
            newEvent.Name        = model.Title;
            newEvent.Time        = model.Time;
            newEvent.SportId     = model.SportId;
            newEvent.Description = model.Description;
            newEvent.Location    = model.Location;
            if (eventImage != null)
            {
                newEvent.Image = this.imageService.UploadImage(eventImage);
            }
            newEvent.AdminId = adminId;

            return(newEvent);
        }