Exemple #1
0
        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);
        }
Exemple #3
0
        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));
        }
Exemple #6
0
        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"));
        }
Exemple #7
0
        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());
            }
        }
Exemple #11
0
        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);
        }
Exemple #17
0
        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));
        }