public ActionResult Edit(int id, [Bind] TMEventDto obj)
        {
            if (obj != null && ModelState.IsValid)
            {
                obj.Id = id;
                var result = _tmeventService.UpdateTMEvent(obj);

                switch (result)
                {
                case TMEventStatus.Success:
                    return(RedirectToAction("SetSeveralPrice", "Purchase", new { idEvent = obj.Id }));

                case TMEventStatus.DateInPast:
                    ModelState.AddModelError("", "date is in a past"); break;

                case TMEventStatus.DateWrongOrder:
                    ModelState.AddModelError("", "end date before start date"); break;

                case TMEventStatus.SameByDateObj:
                    ModelState.AddModelError("", "this venue is busy with another event at this time"); break;

                case TMEventStatus.BusySeatsExists:
                    ModelState.AddModelError("", "you has bought ticket on this layout"); break;

                default:
                    ModelState.AddModelError("", "something wrong"); break;
                }
            }

            return(View(obj));
        }
        public ActionResult Edit(int id)
        {
            TMEventDto obj = _tmeventService.GetTMEvent(id);

            if (obj == null)
            {
                RedirectToAction("Index");
            }

            // return View()
            return(View(obj));
        }
예제 #3
0
        public TMEventStatus CreateTMEvent(TMEventDto obj)
        {
            TMEvent obje = ConvertToEntity(obj);

            TMEventStatus result = IsValid(obje);

            if (result == TMEventStatus.Success)
            {
                obje = _tmeventRepository.Create(obje);

                obj.Id = obje.Id;
            }

            return(result);
        }
예제 #4
0
        public void CreateTMEventTestDatePastValidation()
        {
            List <TMEvent> events = new List <TMEvent>();

            events.Add(new TMEvent
            {
                Id          = 1,
                Name        = "a",
                Description = "d",
                StartEvent  = DateTime.Now.Date.AddDays(1),
                EndEvent    = DateTime.Now.Date.AddDays(2),
            });
            events.Add(new TMEvent
            {
                Id          = 2,
                Name        = "a2",
                Description = "d2",
                StartEvent  = DateTime.Now.Date.AddDays(3),
                EndEvent    = DateTime.Now.Date.AddDays(4),
            });

            Mock <ITMEventRepository> mockTMEventRepository = new Mock <ITMEventRepository>();

            mockTMEventRepository.Setup(x => x.GetAll()).Returns(events);

            Mock <ITMEventAreaService> mockTMEventAreaService = new Mock <ITMEventAreaService>();
            Mock <ITMEventSeatService> mockTMEventSeatService = new Mock <ITMEventSeatService>();

            TMEventService tmeventService = new TMEventService(mockTMEventRepository.Object,
                                                               mockTMEventAreaService.Object, mockTMEventSeatService.Object);

            TMEventDto tmeventPre_dto = new TMEventDto
            {
                Name        = "a",
                Description = "d",
                StartEvent  = DateTime.Now.Date.AddDays(-1),
                EndEvent    = DateTime.Now.Date,
            };

            TMEventDto tmeventPast = tmeventPre_dto;

            tmeventService.CreateTMEvent(tmeventPre_dto);

            tmeventPast.Should().BeEquivalentTo(tmeventPre_dto);
        }
예제 #5
0
        private static TMEvent ConvertToEntity(TMEventDto obj)
        {
            if (obj == null)
            {
                return(null);
            }

            return(new TMEvent
            {
                Id = obj.Id,
                Description = obj.Description,
                EndEvent = obj.EndEvent,
                Img = obj.Img,
                Name = obj.Name,
                StartEvent = obj.StartEvent,
                TMLayoutId = obj.TMLayoutId,
            });
        }
예제 #6
0
        public TMEventStatus UpdateTMEvent(TMEventDto obj)
        {
            TMEvent obje = ConvertToEntity(obj);

            TMEventStatus result = IsValid(obje);

            // check on busy seats
            TMEventDto current = GetTMEvent(obj.Id);

            if (current.TMLayoutId != obj.TMLayoutId &&
                GetTMEventSeatByEvent(obj.Id).Where(s => s.State == SeatState.Busy).ToList().Count > 0)
            {
                result = TMEventStatus.BusySeatsExists;
            }

            if (result == TMEventStatus.Success)
            {
                _tmeventRepository.Update(obje);
            }

            return(result);
        }
예제 #7
0
        public void CreateTMEventTestSameObject()
        {
            List <TMEvent> events = new List <TMEvent>();

            events.Add(new TMEvent
            {
                Id          = 1,
                Name        = "a",
                Description = "d",
                StartEvent  = DateTime.Now.Date.AddDays(1),
                EndEvent    = DateTime.Now.Date.AddDays(2),
            });
            events.Add(new TMEvent
            {
                Id          = 2,
                Name        = "a2",
                Description = "d2",
                StartEvent  = DateTime.Now.Date.AddDays(3),
                EndEvent    = DateTime.Now.Date.AddDays(4),
            });

            List <TMEventDto> events_dto = new List <TMEventDto>();

            events_dto.Add(new TMEventDto
            {
                Id          = 1,
                Name        = "a",
                Description = "d",
                StartEvent  = DateTime.Now.Date.AddDays(1),
                EndEvent    = DateTime.Now.Date.AddDays(2),
            });
            events_dto.Add(new TMEventDto
            {
                Id          = 2,
                Name        = "a2",
                Description = "d2",
                StartEvent  = DateTime.Now.Date.AddDays(3),
                EndEvent    = DateTime.Now.Date.AddDays(4),
            });

            Mock <ITMEventRepository> mockTMEventRepository = new Mock <ITMEventRepository>();

            mockTMEventRepository.Setup(x => x.GetAll()).Returns(events);

            Mock <ITMEventAreaService> mockTMEventAreaService = new Mock <ITMEventAreaService>();

            mockTMEventAreaService.Setup(x => x.GetAllTMEventArea())
            .Returns(new List <TMEventAreaDto> {
                new TMEventAreaDto {
                    TMEventId = 1, Id = 1
                }
            });

            Mock <ITMEventSeatService> mockTMEventSeatService = new Mock <ITMEventSeatService>();

            mockTMEventSeatService.Setup(x => x.GetAllTMEventSeat())
            .Returns(new List <TMEventSeatDto> {
                new TMEventSeatDto {
                    TMEventAreaId = 1, Id = 1
                }
            });

            TMEventService tmeventService = new TMEventService(mockTMEventRepository.Object,
                                                               mockTMEventAreaService.Object, mockTMEventSeatService.Object);

            TMEventDto tmevent = new TMEventDto
            {
                Name        = "a",
                Description = "d",
                StartEvent  = DateTime.Now.Date.AddDays(1),
                EndEvent    = DateTime.Now.Date.AddDays(2),
            };

            tmeventService.CreateTMEvent(tmevent);

            tmevent.Should().BeEquivalentTo(events_dto[0]);
        }
        public ActionResult Details(int id)
        {
            TMEventDto obj = _tmeventService.GetTMEvent(id);

            return(View(obj));
        }