예제 #1
0
        public void AddEventWorkTest_ExistingTest()
        {
            Event myEvent = Event.NewEvent();

            myEvent.EventID = -1;
            Assert.IsTrue(myEvent.EventWorks.Count == 0);

            EventWork eventWork = EventWork.NewEventWork();

            eventWork.EventWorkID = 1;

            Work work = Work.NewWork();

            work.WorkID = -1;

            eventWork.Event = myEvent;
            eventWork.Work  = work;
            myEvent.EventWorks.Add(eventWork);

            Assert.IsTrue(myEvent.EventWorks.Count == 1);

            myEvent.AddEventWork(work);

            Assert.IsTrue(myEvent.EventWorks.Count == 1);
        }
예제 #2
0
        public void AddEventWorkTest()
        {
            Event evt = Event.NewEvent();

            evt.EventID = -1;
            Work work = Work.NewWork();

            work.WorkID = -1;

            EventWork eventWork = EventWork.AddEventWork(evt, work);

            Assert.IsNotNull(eventWork);
            Assert.IsTrue(eventWork.WorkID == work.WorkID && eventWork.EventID == evt.EventID);
        }
예제 #3
0
        public async Task <IActionResult> AddToEvent(int WorkId, int WorkNum, int EventID)
        {
            var eventDb = await db.Events.Include(e => e.Works).Include(e => e.Missions).Include(e => e.Manager).Where(e => e.Id == EventID).FirstOrDefaultAsync();

            var work = await db.Works.Where(w => w.Id == WorkId).FirstOrDefaultAsync();

            var workTemp = new EventWork(work, WorkNum);
            await db.EventWorks.AddAsync(workTemp);

            await db.SaveChangesAsync();

            eventDb.Works.Add(workTemp);
            eventDb.TotalPrice += workTemp.Sum;
            work.OrdersCount++;
            if (work.OrdersCount > 0 && work.OrdersCount < 2)
            {
                var artistMission = new Mission()
                {
                    Employeer   = eventDb.Manager,
                    Event       = eventDb,
                    CreatedDate = DateTime.Now,
                    DeadLine    = DateTime.Now.AddHours(3),
                    MissionType = "Указать артиста",
                    MissionText = $"Указать артиста для мероприятия '{eventDb.Name}'"
                };
                var technicMission = new Mission()
                {
                    Employeer   = eventDb.Manager,
                    Event       = eventDb,
                    CreatedDate = DateTime.Now,
                    DeadLine    = DateTime.Now.AddHours(3),
                    MissionType = "Указать техника",
                    MissionText = $"Указать техника для мероприятия '{eventDb.Name}'"
                };
                await db.AddAsync(artistMission);

                await db.AddAsync(technicMission);

                var mission = eventDb.Missions.Where(m => m.MissionText.Contains("Указать услуги")).FirstOrDefault();
                mission.Status = "Закрыто";
            }
            await db.SaveChangesAsync();

            return(RedirectToAction("View", "Events", new { id = EventID }));
        }