/// <inheritdoc/> public WorkItemPublic GetWorkItem(int ID) { WorkItemLogic workItemLogic = new WorkItemLogic(mDBContext); WorkItemConverter converter = new WorkItemConverter(mDBContext); return(converter.Convert(workItemLogic.GetWorkItem(ID)));; }
/// <inheritdoc/> public void DeleteWorkItem(int ID) { WorkItemLogic workItemLogic = new WorkItemLogic(mDBContext); workItemLogic.DeleteWorkItem(ID); mDBContext.SaveChanges(); }
public void UpdateWorkItem_OnValidWorkItem_UpdatesEntity() { // ARRANGE DbContextOptions <TestDatabaseContext> options = new DbContextOptionsBuilder <TestDatabaseContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; IDatabaseContext context = new TestDatabaseContext(options); WorkItemLogic logic = new WorkItemLogic(context); WorkItemCollection wic = new WorkItemCollection() { ID = 1, TaskBoardId = 1 }; context.WorkItems.Add(new WorkItem() { ID = 1, WorkItemCollectionId = 1 }); context.WorkItemCollections.Add(wic); context.TaskBoards.Add(new TaskBoard() { ID = 1, UserID = 1 }); context.Users.Add(new User() { ID = 1 }); context.SaveChanges(); WorkItem request = new WorkItem() { ID = 1, Name = Guid.NewGuid().ToString(), Color = Guid.NewGuid().ToString(), Description = Guid.NewGuid().ToString(), WorkItemCollectionId = 1, WorkItemCollection = wic, WorkItemStart = DateTime.Now.AddDays(-1), WorkItemEnd = DateTime.Now }; // ACT logic.UpdateWorkItem(request); WorkItem result = logic.GetWorkItem(1); // ASSERT result.Should().BeEquivalentTo <WorkItem>(request); }
/// <inheritdoc/> public IEnumerable <WorkItemPublic> GetAllWorkItems(int ID) { WorkItemLogic workItemLogic = new WorkItemLogic(mDBContext); WorkItemConverter converter = new WorkItemConverter(mDBContext); IEnumerable <WorkItem> result = workItemLogic.GetAllWorkItems(ID); foreach (WorkItem workItem in result) { yield return(converter.Convert(workItem)); } }
/// <inheritdoc/> public WorkItemPublic UpdateWorkItem(WorkItemPublic workItem) { Ensure.ParamNotNull(workItem, nameof(workItem)); WorkItemLogic workItemLogic = new WorkItemLogic(mDBContext); WorkItemConverter converter = new WorkItemConverter(mDBContext); WorkItem result = workItemLogic.UpdateWorkItem(converter.Convert(workItem)); mDBContext.SaveChanges(); return(converter.Convert(result)); }
/// <inheritdoc/> public async Task <IEnumerable <WorkItemPublic> > GetAllWorkItemFromUserFromDay(int ID, DateTime date) { List <WorkItemPublic> workItems = new List <WorkItemPublic>(); WorkItemLogic workItemLogic = new WorkItemLogic(mDBContext); WorkItemConverter converter = new WorkItemConverter(mDBContext); IEnumerable <WorkItem> result = await workItemLogic.GetAllWorkItemFromDayFromUser(ID, date).ConfigureAwait(false); foreach (WorkItem workItem in result) { workItems.Add(converter.Convert(workItem)); } return(workItems); }
public void GetWorkItem_OnInvalidID_ThrowsArgumentException() { // ARRANGE DbContextOptions <TestDatabaseContext> options = new DbContextOptionsBuilder <TestDatabaseContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; IDatabaseContext context = new TestDatabaseContext(options); WorkItemLogic logic = new WorkItemLogic(context); // ACT Action act = () => logic.GetWorkItem(0); // ASSERT act.Should().Throw <ArgumentException>().Where(e => e.Message.Contains("grater than 0")); }
public void UpdateWorkItem_OnNonExistingWorkItem_ThrowsArgumentException() { // ARRANGE DbContextOptions <TestDatabaseContext> options = new DbContextOptionsBuilder <TestDatabaseContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; IDatabaseContext context = new TestDatabaseContext(options); WorkItemLogic logic = new WorkItemLogic(context); WorkItem request = new WorkItem() { ID = 1, }; // ACT Action act = () => logic.UpdateWorkItem(request); // ASSERT act.Should().Throw <ArgumentException>().Where(e => e.Message.Contains("does not exist")); }
public void GetWorkItem_OnValidID_ReturnsEntity() { // ARRANGE DbContextOptions <TestDatabaseContext> options = new DbContextOptionsBuilder <TestDatabaseContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; IDatabaseContext context = new TestDatabaseContext(options); WorkItemLogic logic = new WorkItemLogic(context); context.WorkItems.Add(new WorkItem() { ID = 1 }); // ACT WorkItem result = logic.GetWorkItem(1); // ASSERT result.Should().BeEquivalentTo <WorkItem>(result); }
public void CreateWorkItem_OnInvalidID_ThrowsArgumentException() { // ARRANGE DbContextOptions <TestDatabaseContext> options = new DbContextOptionsBuilder <TestDatabaseContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; IDatabaseContext context = new TestDatabaseContext(options); WorkItemLogic logic = new WorkItemLogic(context); WorkItem request = new WorkItem() { ID = 123 }; context.SaveChanges(); // ACT Action act = () => logic.CreateWorkItem(request); // ASSERT act.Should().Throw <ArgumentException>().Where(e => e.Message.Contains("ID can't be set on entity")); }
public void DeleteWorkItem_OnValidRequest_DeletesEntry() { // ARRANGE DbContextOptions <TestDatabaseContext> options = new DbContextOptionsBuilder <TestDatabaseContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; IDatabaseContext context = new TestDatabaseContext(options); WorkItemLogic logic = new WorkItemLogic(context); WorkItem request = new WorkItem() { ID = 1, }; context.WorkItems.Add(request); context.SaveChanges(); // ACT logic.DeleteWorkItem(1); context.SaveChanges(); // ASSERT context.WorkItems.Any(wi => wi.ID == 1).Should().BeFalse(); }
static void Main(string[] args) { var _driverLogic = new DriverLogic(); var _carLogic = new CarLogic(); var _workItemLogic = new WorkItemLogic(); bool flag = true; while (flag) { Console.WriteLine(); Console.WriteLine("1) Посмотреть всех воителей"); Console.WriteLine("2) Добавить водителя"); Console.WriteLine("3) Удалить водителя"); Console.WriteLine("4) Посмотреть все автомобили"); Console.WriteLine("5) Добавить автомобиль"); Console.WriteLine("6) Удалить автомобиль"); Console.WriteLine("7) Посмотреть расписание"); Console.WriteLine("8) Добавить в расписание"); Console.WriteLine("9) Удалить из раписания"); Console.WriteLine("10) Посмотреть на определенную дату"); Console.WriteLine("11) Посмотреть на промежуток дат"); Console.WriteLine(); Console.Write("Выберите действие => "); int.TryParse(Console.ReadLine(), out int action); switch (action) { case 1: _driverLogic.Show(); break; case 2: Console.WriteLine("Введите"); Console.Write("Имя:"); string lastName = Console.ReadLine(); Console.Write("Фамилию:"); string firstName = Console.ReadLine(); Console.Write("Отчество:"); string middleName = Console.ReadLine(); _driverLogic.Add(new Entities.Driver { FistName = firstName, LastName = lastName, MiddleName = middleName, }); break; case 3: Console.WriteLine("Введите id:"); if (int.TryParse(Console.ReadLine(), out int id)) { _driverLogic.DeleteById(id); } else { Console.WriteLine("не число попробуйте снова"); } break; case 4: _carLogic.Show(); break; case 5: Console.WriteLine("Введите"); Console.Write("Марку:"); string mark = Console.ReadLine(); Console.Write("Модель:"); string model = Console.ReadLine(); _carLogic.Add(new Entities.Car { Mark = mark, Model = model, }); break; case 6: Console.WriteLine("Введите id:"); if (int.TryParse(Console.ReadLine(), out int idCar)) { _carLogic.DeleteById(idCar); } else { Console.WriteLine("не число попробуйте снова"); } break; default: break; case 7: _workItemLogic.Show(); break; case 8: Console.WriteLine("Введите"); Console.Write("Дату в формате mm/dd/yyyy:"); string date = Console.ReadLine(); Console.Write("Введите id водителя и id машины:"); if (int.TryParse(Console.ReadLine(), out int personeId) && int.TryParse(Console.ReadLine(), out int carId)) { var persone = _driverLogic.GetById(personeId); var car = _carLogic.GetById(carId); DateTime datePasre; if (car == null) { Console.WriteLine("Такой машины нет"); break; } if (persone == null) { Console.WriteLine("Такого водителя нет"); break; } try { datePasre = DateTime.ParseExact(date, "MM/dd/yyyy", null); _workItemLogic.Add(new Entities.WorkItem { Car = car, Driver = persone, WorkDate = datePasre }); } catch { Console.WriteLine("Введите нормальную дату!!!"); break; } } break; case 9: Console.WriteLine("Введите id:"); if (int.TryParse(Console.ReadLine(), out int idWorkItem)) { _workItemLogic.DeleteById(idWorkItem); } break; case 10: Console.WriteLine("Введите дату :"); DateTime datePasreFind; Console.Write("Дату в формате mm/dd/yyyy:"); string dateFind = Console.ReadLine(); try { datePasreFind = DateTime.ParseExact(dateFind, "MM/dd/yyyy", null); var items1 = _workItemLogic.GetByDate(datePasreFind); Console.WriteLine($"расписание на {datePasreFind.Date}"); foreach (var item in items1) { Console.WriteLine($" {item.WorkDate.Date:MM/dd/yyyy} " + $"{item.Driver.LastName} {item.Driver.FistName} {item.Driver.MiddleName} " + $"{item.Car.Mark} {item.Car.Model}"); } } catch { throw; } break; case 11: Console.WriteLine("Введите дату :"); DateTime datePasreFirst; DateTime datePasreSecond; Console.Write("Первая дата в формате mm/dd/yyyy:"); string dateFirst = Console.ReadLine(); Console.Write("вторая дата в формате mm/dd/yyyy:"); string dateSecond = Console.ReadLine(); try { datePasreFirst = DateTime.ParseExact(dateFirst, "MM/dd/yyyy", null); datePasreSecond = DateTime.ParseExact(dateSecond, "MM/dd/yyyy", null); var items = _workItemLogic.GetByDateInterval(datePasreFirst, datePasreSecond); Console.WriteLine($"расписание на {datePasreFirst.Date:MM/dd/yyyy} по {datePasreSecond.Date:MM/dd/yyyy}"); foreach (var item in items) { Console.WriteLine($" {item.WorkDate.Date:MM/dd/yyyy} " + $"{item.Driver.LastName} {item.Driver.FistName} {item.Driver.MiddleName} " + $"{item.Car.Mark} {item.Car.Model}"); } } catch { Console.WriteLine("Введите нормальную дату!!!"); break; } break; } Console.WriteLine("Выйти из приложения? Y/N"); string cmd = Console.ReadLine(); switch (cmd) { case "Y": flag = false; break; case "N": break; default: Console.WriteLine("Не подходит, повторите"); goto case "Y"; } } Console.ReadLine(); }
private void Btn_sendToTFS_Click(object sender, EventArgs e) { var workItemLogic = new WorkItemLogic(_selectedProject); workItemLogic.PrepareData(); }