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); }
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); }
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 })); }