/// <summary>Adds the new event.</summary> /// <param name="newEvent">The new event EventManagementViewModel.</param> /// <returns>EventManagementViewModel</returns> /// <exception cref="BusinessLogicException"> /// Не вдалось створити нову подію /// or /// Exception.Message /// </exception> public EventManagementViewModel AddNewEvent(EventManagementViewModel newEvent) { try { var createdEvent = this._unitOfWork.EventRepository.Create(new Event() { Id = 0, Description = newEvent.Description, OrganizationId = newEvent.OrganizationId, CreateDate = DateTime.Now, }); if (createdEvent == null) { throw new BusinessLogicException("Не вдалось створити нову подію"); } this.InsertImagesInDataBase(newEvent.Images, createdEvent.Id); this._unitOfWork.SaveChanges(); return(this.GetOneEventById(createdEvent.Id)); } catch (Exception ex) { throw new BusinessLogicException(ex.Message); } }
/// <summary>Gets the event by identifier.</summary> /// <param name="eventId">The event identifier.</param> /// <returns>EventManagementViewModel</returns> /// <exception cref="BusinessLogicException"> /// Подія з ідентифікатором eventId не знайдена /// or /// Exception.Message /// </exception> public EventManagementViewModel GetOneEventById(int eventId) { try { var ev = this._unitOfWork.EventRepository.GetOneEventById(eventId); if (ev == null) { throw new BusinessLogicException($"Подія з ідентифікатором {eventId} не знайдена"); } var result = new EventManagementViewModel() { Id = ev.Id, CreateDate = ev.CreateDate, Description = ev.Description, OrganizationId = ev.OrganizationId, Images = this.ConvertToImageViewModel(ev.EventImages.Where(i => i.EventId == eventId)).ToList() }; return(result); } catch (Exception ex) { throw new BusinessLogicException(ex.Message); } }
/// <summary>Updates the event.</summary> /// <param name="updatedEvent">The updated event.</param> /// <returns>EventManagementViewModel</returns> /// <exception cref="BusinessLogicException"> /// Подію з ідентифікатором Id не вдалось оновити /// or /// Exception.Message /// </exception> public EventManagementViewModel UpdateEvent(EventManagementViewModel updatedEvent) { try { var updatedEventFromDB = this._unitOfWork.EventRepository.Update(new Event() { Id = updatedEvent.Id, CreateDate = updatedEvent.CreateDate, Description = updatedEvent.Description, OrganizationId = updatedEvent.OrganizationId }); this._unitOfWork.SaveChanges(); if (updatedEventFromDB == null) { throw new BusinessLogicException($"Подію з ідентифікатором {updatedEvent.Id} не вдалось оновити"); } return(new EventManagementViewModel() { Id = updatedEventFromDB.Id, CreateDate = updatedEventFromDB.CreateDate, Description = updatedEventFromDB.Description, OrganizationId = updatedEventFromDB.OrganizationId, Images = this.UpdateImages(updatedEvent.Images, updatedEvent.Id) }); } catch (Exception ex) { throw new BusinessLogicException(ex.Message); } }
public IActionResult Index() { var model = new EventManagementViewModel() { AllPositiveGameEvents = _positiveGameEventService.Find().OrderByDescending(g => g.Probability).ToList(), AllNegativeGameEvents = _negativeGameEventService.Find().OrderByDescending(g => g.Probability).ToList() }; return(View(model)); }
public EventManagementViewModel AddNewEvent([FromBody] EventManagementViewModel newEvent) { try { return(this._service.AddNewEvent(newEvent)); } catch (Exception ex) { return(new EventManagementViewModel() { ErrorMessage = ex.Message }); } }
public IActionResult Create(EventManagementViewModel model) { if (model.PositiveGameEvent != null) { _positiveGameEventService.Create(model.PositiveGameEvent); } if (model.NegativeGameEvent != null) { _negativeGameEventService.Create(model.NegativeGameEvent); } return(RedirectToAction("Index")); }
// GET: Component public ActionResult Index(int id) { var viewModel = new EventManagementViewModel(id); return(View(viewModel)); }
//public async Task<EventManagementViewModel> BuildManagement1GridAsync(EventFilter filters) //{ // var model = new EventManagementViewModel(); // var query = _repo.Events.AsQueryable().Include(m => m.EventTeams); // if (!string.IsNullOrEmpty(filters.SportId)) // { // query = query.Where(m => m.SportId == filters.SportId); // } // if (!string.IsNullOrEmpty(filters.TeamId)) // { // query = query.Where(m => m.EventTeams.Select(i => i.TeamId).Contains(filters.TeamId)); // } // if (!string.IsNullOrEmpty(filters.StartDate)) // { // filters.StartDateUtc = DateTime.Parse(filters.StartDate, null, DateTimeStyles.RoundtripKind); // query = query.Where(m => m.DateOfEventUtc >= filters.StartDateUtc); // } // if (!string.IsNullOrEmpty(filters.EndDate)) // { // filters.EndDateUtc = DateTime.Parse(filters.EndDate, null, DateTimeStyles.RoundtripKind); // //filters.EndDateUtc = TimeZone.CurrentTimeZone.ToLocalTime(DateTime.Parse(filters.EndDate)); // query = query.Where(m => m.DateOfEventUtc <= filters.EndDateUtc); // } // model.Events = await query.OrderByDescending(i => i.DateOfEventUtc).Take(100).ProjectTo<EventViewModel>(MapQueries()).ToListAsync(); // foreach (var item in model.Events) // { // if (item != null) // { // item.DateOfEventInTimezone = TimeZoneInfo.ConvertTimeFromUtc(item.DateOfEventUtc, TimeZoneInfo.FindSystemTimeZoneById(item.TimezoneId)); // item.EventTeams = item.EventTeams.OrderBy(m => m.DateCreatedUtc).ToList(); // } // } // return model; //} public async Task <EventManagementViewModel> BuildManagementGridAsync(EventFilter filters) { try { var model = new EventManagementViewModel(); var query = _repo.Events.AsQueryable().Include(m => m.EventTeams).Include(m => m.Sport); var nQuery = await query.ToListAsync(); if (!string.IsNullOrEmpty(filters.SportId)) { nQuery = nQuery.Where(m => m.SportId == filters.SportId).ToList(); } if (!string.IsNullOrEmpty(filters.TeamId)) { nQuery = nQuery.Where(m => m.EventTeams.Select(i => i.TeamId).Contains(filters.TeamId)).ToList(); } if (!string.IsNullOrEmpty(filters.StartDate)) { filters.StartDateUtc = DateTime.ParseExact(filters.StartDate.Substring(0, 24), "ddd MMM dd yyyy HH:mm:ss", CultureInfo.InvariantCulture); nQuery = (from q in nQuery where TimeZoneInfo.ConvertTimeFromUtc(q.DateOfEventUtc, TimeZoneInfo.FindSystemTimeZoneById(q.TimezoneId)) >= filters.StartDateUtc select q).ToList(); } if (!string.IsNullOrEmpty(filters.EndDate)) { filters.EndDateUtc = DateTime.ParseExact(filters.EndDate.Substring(0, 24), "ddd MMM dd yyyy HH:mm:ss", CultureInfo.InvariantCulture); nQuery = (from q in nQuery where TimeZoneInfo.ConvertTimeFromUtc(q.DateOfEventUtc, TimeZoneInfo.FindSystemTimeZoneById(q.TimezoneId)) <= filters.EndDateUtc select q).ToList(); } var mapper = MapQueries().CreateMapper(); model.Events = mapper.Map <IEnumerable <Event>, List <EventViewModel> >(nQuery.OrderByDescending(i => i.DateOfEventUtc).Take(100).ToList()); foreach (var item in model.Events) { if (item != null) { item.DateOfEventInTimezone = TimeZoneInfo.ConvertTimeFromUtc(item.DateOfEventUtc, TimeZoneInfo.FindSystemTimeZoneById(item.TimezoneId)); item.EventTeams = item.EventTeams.OrderBy(m => m.DateCreatedUtc).ToList(); } } return(model); } catch (Exception ex) { throw; } }