public static EventArea ToEventAreaContract(EventAreaDto from) { if (from.Seats == null) { ThrowSeatListException(); } return(new EventArea { Seats = from.Seats.Select(x => { if (x == null) { ThrowSeatListException(); } return EventSeatParser.ToEventSeatContract(x); }).ToList(), AreaDefaultId = from.AreaDefaultId, CoordX = from.CoordX, CoordY = from.CoordY, Description = from.Description, Price = from.Price, Id = from.Id, EventId = from.EventId }); }
public EventAreaDto CreateEventArea(EventAreaDto eventArea) { var id = _eventAreaRepository.Add(_mapper.Map <EventArea>(eventArea)); eventArea.Id = id; return(eventArea); }
public void Create_area_with_description_that_already_exists_expected_exception() { //Arrange var area = new EventAreaDto { CoordX = 1, CoordY = 2, Description = "The area #2", EventId = 1, Seats = new List <EventSeatDto> { new EventSeatDto { Row = 1, Number = 1, State = 0 }, new EventSeatDto { Row = 1, Number = 2, State = 0 }, new EventSeatDto { Row = 1, Number = 3, State = 0 }, new EventSeatDto { Row = 2, Number = 1, State = 0 }, new EventSeatDto { Row = 2, Number = 2, State = 0 } } }; //Act var exception = Assert.CatchAsync <EventAreaException>(async() => await _eventAreaService.Create(area)); //Assert Assert.That(exception.Message, Is.EqualTo("Area description isn't unique")); }
public void Create_event_area() { //Arrange var eventAreaService = _container.Resolve <IStoreService <EventAreaDto, int> >(); var create = new EventAreaDto { Seats = new List <EventSeatDto> { new EventSeatDto { State = 0, Number = 1, Row = 1 }, new EventSeatDto { State = 0, Number = 2, Row = 1 }, new EventSeatDto { State = 0, Number = 3, Row = 1 }, new EventSeatDto { State = 0, Number = 1, Row = 2 } }, CoordX = 1, CoordY = 2, Description = "Area #2", EventId = 1, Price = 155.35M, Id = 10 }; Assert.DoesNotThrowAsync(async() => await eventAreaService.Create(create)); }
public int UpdateEventArea(EventAreaDto eventArea) { var baseArea = _eventAreaRepository.Get(eventArea.Id); if (!baseArea.Price.Equals(eventArea.Price)) { if (IsSeatsBoughtByArea(eventArea.Id)) { throw new ValidationException("Price cannot be changed if some seats bought"); } } if (eventArea.CoordX.HasValue) { baseArea.CoordX = eventArea.CoordX.Value; } if (eventArea.CoordY.HasValue) { baseArea.CoordY = eventArea.CoordY.Value; } baseArea.Description = eventArea.Description; return(_eventAreaRepository.Update(baseArea)); }
public void Create_area_with_event_id_equals_zero_expected_exception() { //Arrange var area = new EventAreaDto { CoordX = 1, CoordY = 2, Description = "Area #5", EventId = 0, Seats = new List <EventSeatDto> { new EventSeatDto { Row = 1, Number = 1, State = 0 }, new EventSeatDto { Row = 1, Number = 2, State = 0 }, new EventSeatDto { Row = 1, Number = 3, State = 0 }, new EventSeatDto { Row = 2, Number = 1, State = 0 }, new EventSeatDto { Row = 2, Number = 2, State = 0 } } }; //Act var exception = Assert.CatchAsync <EventAreaException>(async() => await _eventAreaService.Create(area)); //Assert Assert.That(exception.Message, Is.EqualTo("EventId is invalid")); }
public void Create_area() { //Arrange _area = new EventAreaDto { CoordX = 1, CoordY = 2, Description = "Area #5", EventId = 1, Seats = new List <EventSeatDto> { new EventSeatDto { Row = 1, Number = 1, State = 0 }, new EventSeatDto { Row = 1, Number = 2, State = 0 }, new EventSeatDto { Row = 1, Number = 3, State = 0 }, new EventSeatDto { Row = 2, Number = 1, State = 0 }, new EventSeatDto { Row = 2, Number = 2, State = 0 } } }; //Assert Assert.DoesNotThrowAsync(async() => await _eventAreaService.Create(_area)); }
public void Event_area_is_unique_throws_exception(string description, int eventId) { //Arrange var eventAreaService = _container.Resolve <IStoreService <EventAreaDto, int> >(); var eventArea = new EventAreaDto { Description = description, EventId = eventId }; //Act var exception = Assert.CatchAsync <EventAreaException>(async() => await eventAreaService.Create(eventArea)); //Assert StringAssert.AreEqualIgnoringCase(exception.Message, "Area description isn't unique"); }
public void Event_area_description_is_unique(string description, int eventId) { //Arrange var eventAreaService = _container.Resolve <IStoreService <EventAreaDto, int> >(); var eventArea = new EventAreaDto { Description = description, EventId = eventId }; //Act var exception = Assert.CatchAsync <EventAreaException>(async() => await eventAreaService.Create(eventArea)); //Assert Assert.That(exception.Message, Is.Not.EqualTo("Area description isn't unique")); }
public ActionResult ChangeArea(EventAreaDto area) { if (!ModelState.IsValid) { return(HttpResponseHelper.Error()); } try { _eventService.UpdateEventArea(area); return(HttpResponseHelper.Ok()); } catch (Exception e) { return(HttpResponseHelper.Error()); } }
public void Create_area_without_seats_expected_exception() { //Arrange var area = new EventAreaDto { CoordX = 1, CoordY = 2, Description = "Area #4", EventId = 1, Seats = new List <EventSeatDto>() }; //Act var exception = Assert.CatchAsync <EventAreaException>(async() => await _eventAreaService.Create(area)); //Assert Assert.That(exception.Message, Is.EqualTo("Invalid state of event area. Seat list is empty")); }
public void Create_event_area_without_event_seats_expected_exception() { //Arrange var eventAreaService = _container.Resolve <IStoreService <EventAreaDto, int> >(); var create = new EventAreaDto { Seats = new List <EventSeatDto>(), CoordX = 1, CoordY = 2, Description = "Area #2", EventId = 1, Price = 240.25M }; //Act var exception = Assert.CatchAsync <EventAreaException>(async() => await eventAreaService.Create(create)); //Assert StringAssert.AreEqualIgnoringCase(exception.Message, "Invalid state of event area. Seat list is empty"); }
public EventArea(EventAreaDto eventAreaDto) { IsChecked = true; EventName = eventAreaDto.EventNamek__BackingField; }
public void SavingInventoryItemSetsSerialNumberInInventoryLabelModel() { var athlete = new AthleteDto() { FirstNamek__BackingField = "John", LastNamek__BackingField = "Doe", Inventoryk__BackingField = new List<InventoryItemDto>() }; var eventArea = new EventAreaDto() { EventNamek__BackingField = Constants.POLE_VAULT }; var model = new ModelDto() { ModelNamek__BackingField = "Model name" }; _inventoryViewModel.NewInventorySelectedAthlete = athlete; _inventoryViewModel.NewInventorySelectedEventArea = eventArea; _inventoryViewModel.NewInventorySelectedModel = model; _inventoryViewModel.NewInventoryItemSize = 14; _inventoryViewModel.NewInventorySelectedSizeIsM = true; _inventoryViewModel.NewInventorySelectedSizeIsW = false; _inventoryViewModel.NewInventoryItemWidth = "N"; var inventoryItemDto = new InventoryItemDto() { SerialNumberk__BackingField = 123456 }; _mockAppService.Setup(x => x.SaveInventoryItem(It.IsAny<InventoryItemDto>())).Returns(inventoryItemDto); _inventoryViewModel.SaveNewInventoryCommand.Execute(null); Assert.AreEqual(inventoryItemDto.SerialNumberk__BackingField.ToString(), _inventoryViewModel.InventoryLabelModel.SerialNumber); }
public void SavingInventoryItemClearsSelectedItemsFields() { var athlete = new AthleteDto() { FirstNamek__BackingField = "John", LastNamek__BackingField = "Doe", Inventoryk__BackingField = new List<InventoryItemDto>() }; _inventoryViewModel.MyAthletes = new ObservableCollection<AthleteDto>(); _inventoryViewModel.MyAthletes.Add(athlete); var eventArea = new EventAreaDto() { EventNamek__BackingField = Constants.POLE_VAULT }; var model = new ModelDto() { ModelNamek__BackingField = "Model name" }; _inventoryViewModel.NewInventorySelectedAthlete = athlete; _inventoryViewModel.NewInventorySelectedEventArea = eventArea; _inventoryViewModel.NewInventorySelectedModel = model; _inventoryViewModel.NewInventoryItemSize = 14; _inventoryViewModel.NewInventorySelectedSizeIsM = true; _inventoryViewModel.NewInventorySelectedSizeIsW = false; _inventoryViewModel.NewInventoryItemWidth = "N"; var inventoryItemDto = new InventoryItemDto() { SerialNumberk__BackingField = 123456, Statusk__BackingField = Constants.IN_STOCK }; _mockAppService.Setup(x => x.SaveInventoryItem(It.IsAny<InventoryItemDto>())).Returns(inventoryItemDto); _inventoryViewModel.SaveNewInventoryCommand.Execute(null); Assert.AreEqual(null, _inventoryViewModel.NewInventorySelectedAthlete); Assert.AreEqual(null, _inventoryViewModel.NewInventorySelectedEventArea); Assert.AreEqual(null, _inventoryViewModel.NewInventorySelectedModel); Assert.AreEqual(null, _inventoryViewModel.NewInventoryItemSize); Assert.AreEqual(true, _inventoryViewModel.NewInventorySelectedSizeIsM); Assert.AreEqual(false, _inventoryViewModel.NewInventorySelectedSizeIsW); Assert.AreEqual(String.Empty, _inventoryViewModel.NewInventoryItemWidth); Assert.AreEqual(-1, _inventoryViewModel.NewInventoryAthleteIndex); }
public void NewInventoryItemFieldsSetLabelValuesCorrectly() { var athlete = new AthleteDto() { FirstNamek__BackingField = "John", LastNamek__BackingField = "Doe" }; var eventArea = new EventAreaDto() { EventNamek__BackingField = Constants.POLE_VAULT }; var model = new ModelDto() { ModelNamek__BackingField = "Model name" }; _inventoryViewModel.NewInventorySelectedAthlete = athlete; _inventoryViewModel.NewInventorySelectedEventArea = eventArea; _inventoryViewModel.NewInventorySelectedModel = model; _inventoryViewModel.NewInventoryItemSize = 14; _inventoryViewModel.NewInventorySelectedSizeIsM = true; _inventoryViewModel.NewInventorySelectedSizeIsW = false; _inventoryViewModel.NewInventoryItemWidth = "N"; Assert.AreEqual(athlete.FirstNamek__BackingField + " " + athlete.LastNamek__BackingField, _inventoryViewModel.InventoryLabelModel.AthleteFirstAndLastName); Assert.AreEqual("PV", _inventoryViewModel.InventoryLabelModel.EventAreaAbbreviation); Assert.AreEqual("M", _inventoryViewModel.InventoryLabelModel.SizingGender); Assert.AreEqual(_inventoryViewModel.NewInventoryItemSize, _inventoryViewModel.InventoryLabelModel.Size); Assert.AreEqual("n/a", _inventoryViewModel.InventoryLabelModel.SerialNumber); Assert.AreEqual(DateTime.Now.ToString("MMM"), _inventoryViewModel.InventoryLabelModel.ReceivedMonth); Assert.AreEqual(DateTime.Now.Year.ToString(), _inventoryViewModel.InventoryLabelModel.ReceivedYear); Assert.AreEqual(_inventoryViewModel.NewInventorySelectedModel.ModelNamek__BackingField, _inventoryViewModel.InventoryLabelModel.ModelName); }
public Task <EventModel> GetEventInformation(int id) { var result = new EventModel(); var data = (from venues in _context.VenueRepository.GetList() join layouts in _context.LayoutRepository.GetList() on venues.Id equals layouts.VenueId join events in _context.EventRepository.GetList() on layouts.Id equals events.LayoutId join areas in _context.EventAreaRepository.GetList() on events.Id equals areas.EventId join seats in _context.EventSeatRepository.GetList() on areas.Id equals seats.EventAreaId where events.Id == id select new { venue = venues, layoutName = layouts.Description, currentEvent = events, eventArea = areas, eventSeat = seats }).ToList(); if (!data.Any()) { return(Task.FromResult(result)); } bool isPublished = true; var first = data.FirstOrDefault(); result.LayoutName = first.layoutName; result.Venue = new VenueDto { Address = first.venue.Address, Description = first.venue.Description, Name = first.venue.Name, Phone = first.venue.Phone, Timezone = first.venue.Timezone }; result.Event = MapToEventDto(first.currentEvent); var areaList = new List <EventAreaDto>(); foreach (var area in data) { var areaFromList = areaList.Find(x => x.Id == area.eventArea.Id); if (isPublished && area.eventArea.Price <= 0) { isPublished = false; } if (areaFromList == null) { var add = new EventAreaDto { Seats = new List <EventSeatDto> { new EventSeatDto { EventAreaId = area.eventSeat.EventAreaId, Id = area.eventSeat.Id, Number = area.eventSeat.Number, Row = area.eventSeat.Row, State = (SeatState)area.eventSeat.State } }, AreaDefaultId = area.eventArea.AreaDefaultId, CoordX = area.eventArea.CoordX, CoordY = area.eventArea.CoordY, Description = area.eventArea.Description, EventId = area.eventArea.EventId, Id = area.eventArea.Id, Price = area.eventArea.Price }; areaList.Add(add); } else { areaFromList.Seats.Add(new EventSeatDto { EventAreaId = area.eventSeat.EventAreaId, Id = area.eventSeat.Id, Number = area.eventSeat.Number, Row = area.eventSeat.Row, State = (SeatState)area.eventSeat.State }); } } areaList.Sort(); areaList.ForEach(x => x.Seats.Sort()); result.Areas = areaList; result.IsPublished = isPublished; return(Task.FromResult(result)); }