예제 #1
0
        static ErrorCode ProgramDevice(string portName, Hex code, string deviceName, int[] ports)
        {
            var programmer = new Programmer(portName);
            if (!programmer.Ping())
                return ErrorCode.DisconnectedDevice;

            programmer.WriteCode(deviceName, ports, code);

            programmer.Close();
            return programmer.Error;
        }
예제 #2
0
        public void ICanSaveMultiPleElements()
        {
            var littledb = new LittleDB("myDatabase");
            var me = new Programmer("alberto");
            var he = new Programmer("marcelo");
            littledb.Save(me);
            littledb.Save(he);

            List<Programmer> programmers = littledb.GetAll<Programmer>();

            Assert.That(programmers.Count, Is.EqualTo(2));
            Assert.That(programmers[0].Name, Is.EqualTo(me.Name));
            Assert.That(programmers[1].Name, Is.EqualTo(he.Name));
        }
예제 #3
0
        public void CanSaveAList()
        {
            var littledb = new LittleDB("myDatabase");
            var me = new Programmer("alberto");
            var he = new Programmer("marcelo");

            var programers = new List<Programmer>(){me, he};
            littledb.SaveList(programers);

            var programmers = littledb.GetAll<Programmer>();

            Assert.That(programmers.Count, Is.EqualTo(2));
            Assert.That(programmers[0].Name, Is.EqualTo(me.Name));
            Assert.That(programmers[1].Name, Is.EqualTo(he.Name));
        }
        public void TestMethod1()
        {
            IProgrammer programmer = new Programmer();
            IProductOwner po = new ProductOwner();

            programmer.Setname("Fran");
            po.Setname("Fran");

            var employee1 = new Employee(programmer);
            var employee2 = new Employee(po);

            var obtained = employee1.WriteNameEmployee();
            var obtained2 = employee2.WriteNameEmployee();

            Assert.AreEqual(obtained, programmer.Getname());
            Assert.AreEqual(obtained2, po.Getname());
        }
예제 #5
0
    void HandleBtnHexProgramClicked(object sender, EventArgs e)
    {
        btnHexProgram.Sensitive = false;

        try
        {
            //TODO: abstract to background connectivity
            Programmer device = new Programmer();

            //Program the Hex file to the device.
            device.ProgramAVR(hexRecord, statusUpdate);

            device.Close();
        }
        catch(DeviceNotFoundException)
        {
            //TODO: do something?
        }

        btnHexProgram.Sensitive = true;
    }
 public CodeCommand(Programmer programmer)
 {
     _programmer = programmer;
 }
예제 #7
0
 public virtual void Creat(Programmer a)
 {
     try
     {
         Clear();
         Write("Введите 0 для создания шаблонного класса или 1 для самостоятельного ввода\n ");
         int choose = int.Parse(ReadLine());
         if (choose == 0)
         {
             a = new Programmer();
             return;
         }
         if (choose != 0 && choose != 1)
         {
             WriteLine("Неверный ааод");
             return;
         }
         WriteLine("Введите имя");
         string name = ReadLine();
         WriteLine("Введите фамилию");
         string surname = ReadLine();
         WriteLine("Введите возраст");
         int age = int.Parse(ReadLine());
         WriteLine("Введите рост(см)");
         int high = int.Parse(ReadLine());
         WriteLine("Введите массу(кг)");
         int weight = int.Parse(ReadLine());
         WriteLine("Введите национальность");
         string nationality = ReadLine();
         WriteLine("Введите день рождения(день)");
         int day = int.Parse(ReadLine());
         WriteLine("Введите день рождения(месяц)");
         int month = int.Parse(ReadLine());
         WriteLine("Введите день рождения(год)");
         int      year      = int.Parse(ReadLine());
         DateTime birthdate = new DateTime(year, month, day);
         WriteLine("Введите: 1 - Мужской пол, 2 - Женский, 3 - Ввести другой пол");
         string sex = ReadLine();
         WriteLine("Введите имя папы");
         string parent0 = ReadLine();
         WriteLine("Введите имя мамы");
         string parent1 = ReadLine();
         WriteLine("Введите оклад(в рублях)");
         int salary = int.Parse(ReadLine());
         WriteLine("Введите трудовой стаж(в годах)");
         int employmentHistory = int.Parse(ReadLine());
         WriteLine("Введите стаж в руководящей должности(в годах)");
         int managerialExperience = int.Parse(ReadLine());
         WriteLine("введите множитель зарплаты за другие достижения(умножается на 5 р.)");
         int otherAllowances = int.Parse(ReadLine());
         WriteLine("Введите количество свободных для больничного дней");
         int daysOfSick = int.Parse(ReadLine());
         WriteLine("Введите количество свободных для отпуска дней");
         int daysOfVacation = int.Parse(ReadLine());
         WriteLine();
         string education = ReadLine();
         WriteLine();
         string specialization = ReadLine();
         WriteLine();
         string job = ReadLine();
         if (age < 0 || high < 1 || weight < 1 || salary < 0 || employmentHistory < 0 || managerialExperience < 0 ||
             otherAllowances < 0 || daysOfSick < 0 || daysOfVacation < 0)
         {
             throw new Exception("Данные неверно введены (присутствуют отрицательные или невозможные числа) ");
         }
         a = new Programmer(name, surname, age, high, weight, nationality, birthdate, parent0, parent1, sex, (uint)salary,
                            (uint)employmentHistory, (uint)managerialExperience, (uint)otherAllowances, (uint)daysOfSick, (uint)daysOfVacation,
                            education, specialization, job);
     }
     catch (FormatException e)
     {
         MessageBox.Show(e.Message);
         Creat(a);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         Creat(a);
     }
     return;
 }
 public StartButtonClickedEventArgs(Programmer programmer1, Programmer programmer2)
     : base()
 {
     this.Programmer1 = programmer1;
     this.Programmer2 = programmer2;
 }
예제 #9
0
        static void Main(string[] args)
        {
            #region Creational
            //-Factory Method-
            Developer dev    = new PanelDeveloper("ООО КирпичСтрой");
            House     house2 = dev.Create();
            dev = new WoodDeveloper("Частный застройщик");
            House house = dev.Create();

            //-Abstract Factory-
            GofPatterns.Creational.Hero elf = new GofPatterns.Creational.Hero(new ElfFactory());
            elf.Hit();
            elf.Run();
            GofPatterns.Creational.Hero voin = new GofPatterns.Creational.Hero(new VoinFactory());
            voin.Hit();
            voin.Run();

            //-Singleton-
            Computer comp = new Computer();
            comp.Launch("Windows 8.1");
            Console.WriteLine(comp.OS.Name);

            // у нас не получится изменить ОС, так как объект уже создан
            comp.OS = OS.getInstance("Windows 10");

            //-Prototype-
            IFigure figure       = new Rectangle(30, 40);
            IFigure clonedFigure = figure.Clone();
            figure.GetInfo();
            clonedFigure.GetInfo();

            figure       = new Circle(30);
            clonedFigure = figure.Clone();
            figure.GetInfo();
            clonedFigure.GetInfo();

            //-Builder-
            // содаем объект пекаря
            Baker baker = new Baker();
            // создаем билдер для ржаного хлеба
            BreadBuilder builder = new RyeBreadBuilder();
            // выпекаем
            Bread ryeBread = baker.Bake(builder);
            Console.WriteLine(ryeBread.ToString());
            // оздаем билдер для пшеничного хлеба
            builder = new WheatBreadBuilder();
            Bread wheatBread = baker.Bake(builder);
            Console.WriteLine(wheatBread.ToString());
            #endregion

            #region Behavioral
            //-Strategy-
            Car auto = new Car(4, "Volvo", new PetrolMove());
            auto.Move();
            auto.Movable = new ElectricMove();
            auto.Move();


            //-Observer-
            Stock  stock  = new Stock();
            Bank   bank   = new Bank("ЮнитБанк", stock);
            Broker broker = new Broker("Иван Иваныч", stock);
            // имитация торгов
            stock.Market();
            // брокер прекращает наблюдать за торгами
            broker.StopTrade();
            // имитация торгов
            stock.Market();


            //-Strategy-
            Pult pult = new Pult();
            TV   tv   = new TV();
            pult.SetCommand(new TVOnCommand(tv));
            pult.PressButton();
            pult.PressUndo();

            Microwave microwave = new Microwave();
            // 5000 - время нагрева пищи
            pult.SetCommand(new MicrowaveCommand(microwave, 5000));
            pult.PressButton();


            //-Iterator-
            Library library = new Library();
            Reader  reader  = new Reader();
            reader.SeeBooks(library);


            //-State-
            Water water = new Water(new LiquidWaterState());
            water.Heat();
            water.Frost();
            water.Frost();


            //-ChainOfResponsibility-
            Handler h1 = new ConcreteHandler1();
            Handler h2 = new ConcreteHandler2();
            h1.Successor = h2;
            h1.HandleRequest(2);


            //-Interpreter-
            Context context = new Context();
            // определяем набор переменных
            int x = 5;
            int y = 8;
            int z = 2;
            // добавляем переменные в контекст
            context.SetVariable("x", x);
            context.SetVariable("y", y);
            context.SetVariable("z", z);
            // создаем объект для вычисления выражения x + y - z
            IExpression expression = new SubtractExpression(
                new AddExpression(
                    new NumberExpression("x"), new NumberExpression("y")
                    ),
                new NumberExpression("z")
                );
            int result = expression.Interpret(context);
            Console.WriteLine("результат: {0}", result);


            //-Mediator-
            ManagerMediator mediator   = new ManagerMediator();
            Colleague       customer   = new CustomerColleague(mediator);
            Colleague       programmer = new ProgrammerColleague(mediator);
            Colleague       tester     = new TesterColleague(mediator);
            mediator.Customer   = customer;
            mediator.Programmer = programmer;
            mediator.Tester     = tester;
            customer.Send("Есть заказ, надо сделать программу");
            programmer.Send("Программа готова, надо протестировать");
            tester.Send("Программа протестирована и готова к продаже");


            //-Memento-
            GofPatterns.Behavioral.Hero hero = new GofPatterns.Behavioral.Hero();
            hero.Shoot();                        // делаем выстрел, осталось 9 патронов
            GameHistory game = new GameHistory();
            game.History.Push(hero.SaveState()); // сохраняем игру
            hero.Shoot();                        //делаем выстрел, осталось 8 патронов
            hero.RestoreState(game.History.Pop());
            hero.Shoot();                        //делаем выстрел, осталось 8 патронов


            //-Visitor-
            var structure = new Bank1();
            structure.Add(new Person {
                Name = "Иван Алексеев", Number = "82184931"
            });
            structure.Add(new Company {
                Name = "Microsoft", RegNumber = "ewuir32141324", Number = "3424131445"
            });
            structure.Accept(new HtmlVisitor());
            structure.Accept(new XmlVisitor());
            #endregion

            #region Structural
            //-Decorator-
            Pizza pizza1 = new ItalianPizza();
            pizza1 = new TomatoPizza(pizza1); // итальянская пицца с томатами
            Console.WriteLine("Название: {0}", pizza1.Name);
            Console.WriteLine("Цена: {0}", pizza1.GetCost());

            Pizza pizza2 = new ItalianPizza();
            pizza2 = new CheesePizza(pizza2);// итальянская пиццы с сыром
            Console.WriteLine("Название: {0}", pizza2.Name);
            Console.WriteLine("Цена: {0}", pizza2.GetCost());

            Pizza pizza3 = new BulgerianPizza();
            pizza3 = new TomatoPizza(pizza3);
            pizza3 = new CheesePizza(pizza3);// болгарская пиццы с томатами и сыром
            Console.WriteLine("Название: {0}", pizza3.Name);
            Console.WriteLine("Цена: {0}", pizza3.GetCost());


            //-Adapter-
            // путешественник
            Driver driver = new Driver();
            // машина
            Auto auto1 = new Auto();
            // отправляемся в путешествие
            driver.Travel(auto1);
            // встретились пески, надо использовать верблюда
            Camel camel = new Camel();
            // используем адаптер
            ITransport camelTransport = new CamelToTransportAdapter(camel);
            // продолжаем путь по пескам пустыни
            driver.Travel(camelTransport);


            //-Facade-
            TextEditor         textEditor  = new TextEditor();
            Compiller          compiller   = new Compiller();
            CLR                clr         = new CLR();
            VisualStudioFacade ide         = new VisualStudioFacade(textEditor, compiller, clr);
            Programmer         programmer1 = new Programmer();
            programmer1.CreateApplication(ide);


            //-Composite-
            Component fileSystem = new Directory("Файловая система");
            // определяем новый диск
            Component diskC = new Directory("Диск С");
            // новые файлы
            Component pngFile  = new File("12345.png");
            Component docxFile = new File("Document.docx");
            // добавляем файлы на диск С
            diskC.Add(pngFile);
            diskC.Add(docxFile);
            // добавляем диск С в файловую систему
            fileSystem.Add(diskC);
            // выводим все данные
            fileSystem.Print();
            Console.WriteLine();
            // удаляем с диска С файл
            diskC.Remove(pngFile);
            // создаем новую папку
            Component docsFolder = new Directory("Мои Документы");
            // добавляем в нее файлы
            Component txtFile = new File("readme.txt");
            Component csFile  = new File("Program.cs");
            docsFolder.Add(txtFile);
            docsFolder.Add(csFile);
            diskC.Add(docsFolder);
            fileSystem.Print();


            //-Proxy-
            using (IBook book = new BookStoreProxy())
            {
                // читаем первую страницу
                Page page1 = book.GetPage(1);
                Console.WriteLine(page1.Text);
                // читаем вторую страницу
                Page page2 = book.GetPage(2);
                Console.WriteLine(page2.Text);
                // возвращаемся на первую страницу
                page1 = book.GetPage(1);
                Console.WriteLine(page1.Text);
            }


            //-Bridge-
            // создаем нового программиста, он работает с с++
            Programmer1 freelancer = new FreelanceProgrammer(new CPPLanguage());
            freelancer.DoWork();
            freelancer.EarnMoney();
            // пришел новый заказ, но теперь нужен c#
            freelancer.Language = new CSharpLanguage();
            freelancer.DoWork();
            freelancer.EarnMoney();


            //-Flyweight-
            double longitude = 37.61;
            double latitude  = 55.74;

            HouseFactory houseFactory = new HouseFactory();
            for (int i = 0; i < 5; i++)
            {
                House1 panelHouse = houseFactory.GetHouse("Panel");
                if (panelHouse != null)
                {
                    panelHouse.Build(longitude, latitude);
                }
                longitude += 0.1;
                latitude  += 0.1;
            }

            for (int i = 0; i < 5; i++)
            {
                House1 brickHouse = houseFactory.GetHouse("Brick");
                if (brickHouse != null)
                {
                    brickHouse.Build(longitude, latitude);
                }
                longitude += 0.1;
                latitude  += 0.1;
            }
            #endregion
        }
 public ControllerChangedEventArgs(Programmer programmer)
     : base()
 {
     this.Programmer = programmer;
 }
예제 #11
0
 public void Add(Programmer item)
 {
     _context.Programmer.Add(item);
     _context.SaveChanges();
 }
예제 #12
0
        static void Main(string[] args)
        {
            MyEvent <int> Event = new MyEvent <int>();
            ///////////////////////1///////////////////////////////////////
            MyArrayList list = new MyArrayList();
            Random      rand = new Random();

            list.Add = rand.Next();
            list.Add = 2;
            list.Add = rand.Next();
            list.Add = rand.Next();
            list.Add = rand.Next();
            list.Add = rand.Next();
            list.Add = "string";
            list.Add = 2;
            list.Add = "string";

            Event.EventHandler3 += list.Delete;
            Event.EventHandler4 += list.Show;
            Event.DeleteArr("string");
            Event.DeleteArr(2);
            Console.WriteLine("----------------------------------------------------");

            ////////////////////////2/////////////////////////////////////
            MySortedSet <int> Col1 = new MySortedSet <int>();

            Col1.Add = rand.Next();
            Col1.Add = rand.Next();
            Col1.Add = rand.Next();
            Col1.Add = rand.Next();
            Col1.Add = rand.Next();
            Col1.Add = rand.Next();
            Col1.Add = 32;
            Col1.Add = 49;
            Col1.Add = 111;

            Event.EventHandler  += Col1.Delete;
            Event.EventHandler2 += Col1.Show;

            Event.Delete(32);

            Console.WriteLine("----------------------------------------------------");
            ///////////////////////////////////////////////////////2.2///////////////////////

            MyDictionary <int, int> dictionaty = new MyDictionary <int, int>();

            Event.EventHandler5 += dictionaty.Show;
            Event.Transform(Col1, dictionaty);
            dictionaty.Search(1);
            Console.WriteLine("----------------------------------------------------");

            /////////////////////////////////////////////////3////////////////////////////////
            Employee         Employee1   = new Employee("Maxim1", "Svirid", 26, "Hight", "AutoCardan", 700);
            Turner           Turner2     = new Turner("Maxim2", "Svirid", 25, "machine operator of wide profile", "AutoCardan", 34000);
            Programmer       Programmer1 = new Programmer("Maxim3", "Svirid", 28, "JS, AspectJ, PL/M, REXX", "EPAM", 44000);
            MyEvent <Person> EventPerson = new MyEvent <Person>();

            MyClassSortedSet <Person> n = new MyClassSortedSet <Person>();

            EventPerson.EventHandler  += n.Add;
            EventPerson.EventHandler2 += n.Show;

            EventPerson.ADD(Employee1);
            EventPerson.ADD(Programmer1);
            EventPerson.ADD(Turner2);
            EventPerson.Show();



            Console.ReadKey();
        }
예제 #13
0
        public void WhenReadingShouldReturnACollectionOfObjects()
        {
            var littledb = new LittleDB("myDatabase");
            var me = new Programmer("alberto");
            littledb.Save(me);

            var programmers = littledb.GetAll<Programmer>();

            Assert.That(programmers.Count, Is.EqualTo(1));
            Assert.That(programmers[0].Name, Is.EqualTo(me.Name));
        }
예제 #14
0
        public Employee generateEmployee()
        {
            Employee employee;
            string   firstName;
            string   lastName;

            if (generateGender().Equals(Gender.Female))
            {
                firstName = generateFirstNamesFemale();
                lastName  = generateLastNames();

                if (generateJob())
                {
                    employee = new Programmer(
                        ID,
                        firstName,
                        lastName,
                        ConvertTo.email(firstName, lastName),
                        ConvertTo.phone(generatePhones()),
                        Gender.Female, generateAddress(new Address()),
                        rnd.NextDouble() * 100000);
                }
                else
                {
                    employee = new Tester(
                        ID,
                        firstName,
                        lastName,
                        ConvertTo.email(firstName, lastName),
                        ConvertTo.phone(generatePhones()),
                        Gender.Female, generateAddress(
                            new Address()),
                        rnd.NextDouble() * 1000,
                        rnd.NextDouble() * 13);
                }
            }
            else
            {
                firstName = generateFirstNamesMale();
                lastName  = generateLastNames();

                if (generateJob())
                {
                    employee = new Programmer(
                        ID,
                        firstName,
                        lastName,
                        ConvertTo.email(firstName, lastName),
                        ConvertTo.phone(generatePhones()),
                        Gender.Male, generateAddress(
                            new Address()),
                        rnd.NextDouble() * 100000);
                }
                else
                {
                    employee = new Tester(
                        ID, firstName,
                        lastName,
                        ConvertTo.email(firstName, lastName),
                        ConvertTo.phone(generatePhones()),
                        Gender.Male,
                        generateAddress(new Address()),
                        rnd.NextDouble() * 1000,
                        rnd.NextDouble() * 13);
                }
            }
            ID++;
            return(employee);
        }
예제 #15
0
        public static void Initialize(ProgrammerContext context)
        {
            context.Database.EnsureCreated();

            // Look for any students.
            if (context.Programmer.Any())
            {
                return;   // DB has been seeded
            }

            var availability = new Availability[] {
                new Availability {
                    Op1 = true, Op2 = false, Op3 = false, Op4 = false, Op5 = false
                },
                new Availability {
                    Op1 = false, Op2 = true, Op3 = false, Op4 = false, Op5 = false
                },
                new Availability {
                    Op1 = false, Op2 = false, Op3 = true, Op4 = false, Op5 = false
                }
            };
            var bankinfo = new BankInfo[] {
                new BankInfo {
                    Name      = "Teste 1",
                    Cpf       = "987654321-1",
                    Bank      = "TestBank1",
                    Agency    = "123-1",
                    AccType   = 0,
                    AccNumber = "321-1"
                },
                new BankInfo {
                    Name      = "Teste 2",
                    Cpf       = "987654321-2",
                    Bank      = "TestBank2",
                    Agency    = "123-2",
                    AccType   = 0,
                    AccNumber = "321-2"
                },
                new BankInfo {
                    Name      = "Teste 3",
                    Cpf       = "987654321-3",
                    Bank      = "TestBank3",
                    Agency    = "123-3",
                    AccType   = 1,
                    AccNumber = "321-3"
                }
            };
            var besttime = new BestTime[] {
                new BestTime {
                    Op1 = true, Op2 = false, Op3 = false, Op4 = false, Op5 = false
                },
                new BestTime {
                    Op1 = false, Op2 = true, Op3 = false, Op4 = false, Op5 = false
                },
                new BestTime {
                    Op1 = false, Op2 = false, Op3 = true, Op4 = false, Op5 = false
                }
            };
            var knoledge = new Knoledge[] {
                new Knoledge {
                    Ionic       = "1",
                    Android     = "1",
                    Ios         = "1",
                    Html        = "1",
                    Css         = "1",
                    Bootstrap   = "1",
                    Jquery      = "1",
                    Angular     = "1",
                    Java        = "1",
                    Aspnet      = "1",
                    C           = "1",
                    Cpp         = "1",
                    Cake        = "1",
                    Django      = "1",
                    Majento     = "1",
                    Php         = "1",
                    Wordpress   = "1",
                    Python      = "1",
                    Ruby        = "1",
                    Sqls        = "1",
                    Mysql       = "1",
                    Salesforce  = "1",
                    Photoshop   = "1",
                    Illustrator = "1",
                    Seo         = "1",
                    Other       = "1"
                },
                new Knoledge {
                    Ionic       = "2",
                    Android     = "2",
                    Ios         = "2",
                    Html        = "2",
                    Css         = "2",
                    Bootstrap   = "2",
                    Jquery      = "2",
                    Angular     = "2",
                    Java        = "2",
                    Aspnet      = "2",
                    C           = "2",
                    Cpp         = "2",
                    Cake        = "2",
                    Django      = "2",
                    Majento     = "2",
                    Php         = "2",
                    Wordpress   = "2",
                    Python      = "2",
                    Ruby        = "2",
                    Sqls        = "2",
                    Mysql       = "2",
                    Salesforce  = "2",
                    Photoshop   = "2",
                    Illustrator = "2",
                    Seo         = "2",
                    Other       = "2"
                },
                new Knoledge {
                    Ionic       = "3",
                    Android     = "3",
                    Ios         = "3",
                    Html        = "3",
                    Css         = "3",
                    Bootstrap   = "3",
                    Jquery      = "3",
                    Angular     = "3",
                    Java        = "3",
                    Aspnet      = "3",
                    C           = "3",
                    Cpp         = "3",
                    Cake        = "3",
                    Django      = "3",
                    Majento     = "3",
                    Php         = "3",
                    Wordpress   = "3",
                    Python      = "3",
                    Ruby        = "3",
                    Sqls        = "3",
                    Mysql       = "3",
                    Salesforce  = "3",
                    Photoshop   = "3",
                    Illustrator = "3",
                    Seo         = "3",
                    Other       = "3"
                }
            };
            var programmer = new Programmer[] {
                new Programmer {
                    Email        = "*****@*****.**",
                    Name         = "Test 1",
                    Skype        = "test1.skp",
                    Phone        = "+123456",
                    Linkedin     = "linkedin.com/test1",
                    City         = "TestCity1",
                    State        = "TestState1",
                    Portfolio    = "test1.com",
                    Salary       = 80,
                    Bank         = "TestBank1",
                    Link         = "test1crud.com",
                    BankInfo     = bankinfo[0],
                    Knoledge     = knoledge[0],
                    BestTime     = besttime[0],
                    Availability = availability[0]
                },
                new Programmer {
                    Email        = "*****@*****.**",
                    Name         = "Test 2",
                    Skype        = "test2.skp",
                    Phone        = "+123456",
                    Linkedin     = "linkedin.com/test2",
                    City         = "TestCity2",
                    State        = "TestState2",
                    Portfolio    = "test2.com",
                    Salary       = 90,
                    Bank         = "TestBank2",
                    Link         = "test2crud.com",
                    BankInfo     = bankinfo[1],
                    Knoledge     = knoledge[1],
                    BestTime     = besttime[1],
                    Availability = availability[1]
                },
                new Programmer {
                    Email        = "*****@*****.**",
                    Name         = "Test 3",
                    Skype        = "test3.skp",
                    Phone        = "+123456",
                    Linkedin     = "linkedin.com/test3",
                    City         = "TestCity3",
                    State        = "TestState3",
                    Portfolio    = "test3.com",
                    Salary       = 100,
                    Bank         = "TestBank3",
                    Link         = "test3crud.com",
                    BankInfo     = bankinfo[2],
                    Knoledge     = knoledge[2],
                    BestTime     = besttime[2],
                    Availability = availability[2]
                }
            };

            // foreach (Availability s in availability)
            // {
            //         context.Availability.Add(s);
            // }
            // foreach (BankInfo s in bankinfo)
            // {
            //         context.BankInfo.Add(s);
            // }
            // foreach (BestTime s in besttime)
            // {
            //         context.BestTime.Add(s);
            // }
            // foreach (Knoledge s in knoledge)
            // {
            //         context.Knoledge.Add(s);
            // }
            foreach (Programmer p in programmer)
            {
                context.Programmer.Add(p);
            }
            context.SaveChanges();
        }
예제 #16
0
 public void Update(Programmer entity) => context.Programmers
 .Update(entity);
예제 #17
0
 public async Task AddAsync(Programmer entity) => await context.Programmers
 .AddAsync(entity);
예제 #18
0
                public void HandleCommand(string cmd, string method, string argString)
                {
                    if (string.IsNullOrEmpty(method) || method == "ToString")
                    {
                        OutWriter.WriteLine(ToString());
                        return;
                    }

                    if (method == "Cancel")
                    {
                        if (TokenSource == null)
                        {
                            throw new CommandException("No task to cancel.");
                        }
                        else if (Task?.IsCompleted == true)
                        {
                            throw new CommandException("Task has already completed.");
                        }
                        else if (TokenSource.IsCancellationRequested)
                        {
                            throw new CommandException("Task has already had cancellation requested.");
                        }
                        else
                        {
                            TokenSource.Cancel();
                        }
                        return;
                    }

                    if (Task?.IsCompleted == false)
                    {
                        throw new CommandException($"Programmer is busy. Current task: {LastCommand}");
                    }

                    var args = argString.Split(' ', StringSplitOptions.RemoveEmptyEntries);

                    Task t = null;

                    TokenSource = new CancellationTokenSource();

                    byte?stationID   = args.Length >= 1 ? ParseStationID(args[0]) : null;
                    bool demandRelay = args.Length >= 2 && bool.TryParse(args[1], out var tmpDemandRelay) && tmpDemandRelay;

                    switch (method)
                    {
                    case "BulkUpload":
                    case "Bulk":
                    case "B":
                    case nameof(RemoteProgrammer.BulkUploadToStation):
                        if (stationID == null)
                        {
                            throw new CommandException($"BulkUpload requires station ID as first parameter (can be zero).");
                        }
                        t = Programmer.BulkUploadToStation(stationID.Value, demandRelay, TokenSource.Token);
                        break;

                    case "Complete":
                    case "CompleteUpload":
                    case "CU":
                    case nameof(RemoteProgrammer.CompleteUploadToStationAsync):
                        if (stationID == null)
                        {
                            throw new CommandException("CompleteUpload requires station ID as first parameter (cannot be zero).");
                        }
                        t = Programmer.CompleteUploadToStationAsync(stationID.Value, TokenSource.Token);
                        break;

                    case "Confirm":
                    case "CP":
                    case nameof(RemoteProgrammer.ConfirmProgramming):
                        if (stationID == null)
                        {
                            throw new CommandException("ConfirmProgramming requires stationID as first parameter (cannot be zero).");
                        }
                        Programmer.ConfirmProgramming(stationID.Value);
                        break;

                    case "Go":
                    case nameof(RemoteProgrammer.GoAsync):
                        if (args.Length < 1)
                        {
                            throw new CommandException("Go requires stationID list as first parameter (cannot contain zero).");
                        }
                        var      stationIDs = args[0].Split(',').Select(str => byte.Parse(str));
                        TimeSpan timeout    = TimeSpan.FromMinutes(5);
                        if (args.Length >= 2)
                        {
                            timeout = TimeSpan.FromSeconds(double.Parse(args[1]));
                        }
                        bool confirm = false;
                        if (args.Length >= 3)
                        {
                            confirm = bool.Parse(args[2]);
                        }
                        t = Programmer.GoAsync(stationIDs, demandRelay, timeout, confirm);
                        break;

                    case "Init":
                    case "I":
                    case nameof(RemoteProgrammer.InitUploadToStation):
                        if (stationID == null)
                        {
                            throw new CommandException("InitUpload requires stationID as first parameter (can be zero).");
                        }
                        Programmer.InitUploadToStation(stationID.Value, demandRelay);
                        break;

                    case "Query":
                    case "Q":
                    case nameof(RemoteProgrammer.QueryStationProgramming):
                        Programmer.QueryStationProgramming(stationID ?? 0);
                        break;

                    case "Timeout":
                    case nameof(RemoteProgrammer.ResponseTimeout):
                        if (args.Length < 1 || !double.TryParse(args[0], out var timeoutSeconds))
                        {
                            throw new CommandException("Cannot parse timeout seconds.");
                        }
                        Programmer.ResponseTimeout = TimeSpan.FromSeconds(timeoutSeconds);
                        break;

                    case "Interval":
                    case nameof(RemoteProgrammer.PacketInterval):
                        if (args.Length < 1 || !double.TryParse(args[0], out var intervalSeconds))
                        {
                            throw new CommandException("Cannot parse interval seconds.");
                        }
                        Programmer.PacketInterval = TimeSpan.FromSeconds(intervalSeconds);
                        break;

                    case "ReadRemote":
                    case nameof(RemoteProgrammer.ReadRemoteImageAsync):
                        if (stationID == null)
                        {
                            throw new CommandException("ReadRemote requires stationID as first parameter");
                        }
                        t = Programmer.ReadRemoteImageAsync(stationID.Value, TokenSource.Token)
                            .ContinueWith(task => File.WriteAllText(Path.ChangeExtension(Programmer.Fn, ".remote"),
                                                                    task.Result.ToCsv(b => b.ToString("X2"), Environment.NewLine)));
                        break;

                    default:
                        throw new CommandException($"Command {cmd} not recognised.");
                    }

                    if (t == null)
                    {
                        TokenSource = null;
                    }

                    Task = t;
                    t?.ContinueWith(T =>
                    {
                        if (T.IsFaulted)
                        {
                            OutWriter.WriteLine($"{ID}: Exception performing: {LastCommand}");
                            OutWriter.WriteLine(T.Exception);
                        }
                        else if (T.IsCanceled)
                        {
                            OutWriter.WriteLine($"{ID}: Task canceled: {LastCommand}");
                        }
                        else
                        {
                            OutWriter.WriteLine($"{ID}: Task completed: {LastCommand}");
                        }
                    });

                    LastCommand = cmd;
                }
예제 #19
0
 public void ShouldCreateAfileWithNamedAsTheTypeOfTheObjectSaved()
 {
     var littledb = new LittleDB("myDatabase");
     var me = new Programmer("alberto");
     littledb.Save(me);
     Assert.IsTrue(File.Exists(Path.Combine(Directory.GetCurrentDirectory(), "myDatabase", "Programmer")));
 }
 /// <summary>
 /// Create a new Programmer object.
 /// </summary>
 /// <param name="id">Initial value of ID.</param>
 /// <param name="firstName">Initial value of FirstName.</param>
 /// <param name="lastName">Initial value of LastName.</param>
 public static Programmer CreateProgrammer(int id, string firstName, string lastName)
 {
     Programmer programmer = new Programmer();
     programmer.ID = id;
     programmer.FirstName = firstName;
     programmer.LastName = lastName;
     return programmer;
 }
 /// <summary>
 /// Initialize for a specific module
 /// </summary>
 internal void Initialize(AsyncLocoBuffer lb, Programmer programmer)
 {
     this.lb         = lb;
     this.programmer = programmer;
 }
예제 #22
0
 public void Update(Programmer item)
 {
     _context.Programmer.Update(item);
     _context.SaveChanges();
 }
예제 #23
0
        public void Programmer_DoWork_True()
        {
            Worker programmer = new Programmer();

            Assert.AreEqual("Coding", programmer.DoWork());
        }
        public void ConvertActiveInput()
        {
            switch (CurrentConversionType)
            {
            // == PROGRAMER ==
            case ConversionTypes.Programmer:
                var prog = new Programmer();
                // get input value
                switch (CurrentActiveOutput)
                {
                case ActiveOutput.TextOutput1:
                    prog.Integer = TextOutput1.Text;
                    // get other values
                    try
                    {
                        prog.Hexadecimal = int.Parse(prog.Integer).ToString("X");
                        prog.Octal       = Convert.ToString(int.Parse(prog.Integer), 8);
                        prog.Binary      = Convert.ToString(int.Parse(prog.Integer), 2);

                        SetOutputValues(prog.Integer, prog.Hexadecimal, prog.Octal, prog.Binary);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }


                    break;

                case ActiveOutput.TextOutput2:
                    prog.Hexadecimal = TextOutput2.Text;
                    // get other values
                    try
                    {
                        prog.Integer = Convert.ToInt32(prog.Hexadecimal, 16).ToString();
                        prog.Octal   = Convert.ToString(int.Parse(prog.Integer), 8);
                        prog.Binary  = Convert.ToString(int.Parse(prog.Integer), 2);

                        SetOutputValues(prog.Integer, prog.Hexadecimal, prog.Octal, prog.Binary);
                    }
                    catch
                    {
                        TextOutput2.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput3:
                    prog.Octal = TextOutput3.Text;
                    // get other values
                    try
                    {
                        var intVal = Convert.ToInt32(prog.Octal, 8);
                        prog.Integer     = intVal.ToString();
                        prog.Hexadecimal = intVal.ToString("X");
                        prog.Binary      = Convert.ToString(intVal, 2);

                        SetOutputValues(prog.Integer, prog.Hexadecimal, prog.Octal, prog.Binary);
                    }
                    catch
                    {
                        TextOutput3.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput4:
                    prog.Binary = TextOutput4.Text;
                    // get other values
                    try
                    {
                        var intVal = Convert.ToInt32(prog.Binary, 2);
                        prog.Integer     = intVal.ToString();
                        prog.Hexadecimal = intVal.ToString("X");
                        prog.Octal       = Convert.ToString(intVal, 8);

                        SetOutputValues(prog.Integer, prog.Hexadecimal, prog.Octal, prog.Binary);
                    }
                    catch
                    {
                        TextOutput4.Text = "NaN";
                    }
                    break;

                default:
                    DisplayErrors(4);
                    break;
                }
                break;

            // == PERCENT ==
            case ConversionTypes.Percent:
                var percent = new Percent();
                switch (CurrentActiveOutput)
                {
                case ActiveOutput.TextOutput1:
                    percent.DecimalVal = TextOutput1.Text;
                    // get other values
                    try
                    {
                        percent.PercentVal = (decimal.Parse(percent.DecimalVal) * 100).ToString();
                        SetOutputValues(percent.DecimalVal, percent.PercentVal);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput2:
                    percent.PercentVal = TextOutput2.Text;
                    // get other values
                    try
                    {
                        percent.DecimalVal = (decimal.Parse(percent.PercentVal) / 100).ToString();

                        SetOutputValues(percent.DecimalVal, percent.PercentVal);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }
                    break;

                default:
                    DisplayErrors(2);
                    break;
                }
                break;

            // == WEIGHT ==
            case ConversionTypes.Weight:
                var weight = new Weight();
                switch (CurrentActiveOutput)
                {
                case ActiveOutput.TextOutput1:
                    weight.Milligrams = TextOutput1.Text;
                    // get other values
                    try
                    {
                        double milligrams = double.Parse(weight.Milligrams);
                        weight.Grams     = (milligrams * 0.001).ToString();
                        weight.Kilograms = (milligrams * 0.000001).ToString();
                        weight.Ounces    = (milligrams * 0.000035).ToString();
                        weight.Pounds    = (milligrams * 0.000002).ToString();

                        SetOutputValues(weight.Milligrams, weight.Grams, weight.Kilograms, weight.Ounces, weight.Pounds);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput2:
                    weight.Grams = TextOutput2.Text;
                    // get other values
                    try
                    {
                        double grams = double.Parse(weight.Grams);
                        weight.Milligrams = (grams * 1000).ToString();
                        weight.Kilograms  = (grams / 1000).ToString();
                        weight.Ounces     = (grams * 0.035274).ToString();
                        weight.Pounds     = (grams * 0.002205).ToString();

                        SetOutputValues(weight.Milligrams, weight.Grams, weight.Kilograms, weight.Ounces, weight.Pounds);
                    }
                    catch
                    {
                        TextOutput2.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput3:
                    weight.Kilograms = TextOutput3.Text;
                    // get other values
                    try
                    {
                        double kilograms = double.Parse(weight.Kilograms);
                        weight.Milligrams = (kilograms * 1000000).ToString();
                        weight.Grams      = (kilograms * 1000).ToString();
                        weight.Ounces     = (kilograms * 35.27396).ToString();
                        weight.Pounds     = (kilograms * 2.204623).ToString();

                        SetOutputValues(weight.Milligrams, weight.Grams, weight.Kilograms, weight.Ounces, weight.Pounds);
                    }
                    catch
                    {
                        TextOutput3.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput4:
                    weight.Ounces = TextOutput4.Text;
                    // get other values
                    try
                    {
                        double ounces = double.Parse(weight.Ounces);
                        weight.Milligrams = (ounces * 28349.52).ToString();
                        weight.Grams      = (ounces * 28.34952).ToString();
                        weight.Kilograms  = (ounces * 0.02835).ToString();
                        weight.Pounds     = (ounces * 0.0625).ToString();

                        SetOutputValues(weight.Milligrams, weight.Grams, weight.Kilograms, weight.Ounces, weight.Pounds);
                    }
                    catch
                    {
                        TextOutput4.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput5:
                    weight.Pounds = TextOutput5.Text;
                    // get other values
                    try
                    {
                        double pounds = double.Parse(weight.Pounds);
                        weight.Milligrams = (pounds * 453592.4).ToString();
                        weight.Grams      = (pounds * 453.5924).ToString();
                        weight.Kilograms  = (pounds * 0.4535924).ToString();
                        weight.Ounces     = (pounds * 16).ToString();

                        SetOutputValues(weight.Milligrams, weight.Grams, weight.Kilograms, weight.Ounces, weight.Pounds);
                    }
                    catch
                    {
                        TextOutput5.Text = "NaN";
                    }
                    break;

                default:
                    DisplayErrors(5);
                    break;
                }
                break;

            // == TEMPERATURE ==
            case ConversionTypes.Temperature:
                var temp = new Temperature();
                switch (CurrentActiveOutput)
                {
                case ActiveOutput.TextOutput1:
                    temp.Celsius = TextOutput1.Text;
                    // get other values
                    try
                    {
                        double celsius = double.Parse(temp.Celsius);
                        temp.Fahrenheit = ((celsius * 9 / 5) + 32).ToString();
                        temp.Kelvin     = (celsius + 273.15).ToString();

                        SetOutputValues(temp.Celsius, temp.Fahrenheit, temp.Kelvin);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput2:
                    temp.Fahrenheit = TextOutput2.Text;
                    // get other values
                    try
                    {
                        double fahrenheit = double.Parse(temp.Fahrenheit);
                        temp.Celsius = ((fahrenheit - 32) * 5 / 9).ToString();
                        temp.Kelvin  = ((fahrenheit - 32) * 5 / 9 + 273.15).ToString();

                        SetOutputValues(temp.Celsius, temp.Fahrenheit, temp.Kelvin);
                    }
                    catch
                    {
                        TextOutput2.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput3:
                    temp.Kelvin = TextOutput3.Text;
                    // get other values
                    try
                    {
                        double kelvin = double.Parse(temp.Kelvin);
                        temp.Celsius    = (kelvin - 273.15).ToString();
                        temp.Fahrenheit = ((kelvin - 273.15) * 9 / 5 + 32).ToString();

                        SetOutputValues(temp.Celsius, temp.Fahrenheit, temp.Kelvin);
                    }
                    catch
                    {
                        TextOutput3.Text = "NaN";
                    }
                    break;

                default:
                    DisplayErrors(3);
                    break;
                }
                break;

            // == LENGTH ==
            case ConversionTypes.Length:
                var length = new Length();
                switch (CurrentActiveOutput)
                {
                case ActiveOutput.TextOutput1:
                    length.Millimeter = TextOutput1.Text;
                    // get other values
                    try
                    {         // mm cm m km inches feet
                        double millimeter = double.Parse(length.Millimeter);
                        length.Centimeter = (millimeter * 0.1).ToString();
                        length.Meter      = (millimeter * 0.001).ToString();
                        length.Kilometer  = (millimeter * 0.000001).ToString();
                        length.Inches     = (millimeter * 0.0393701).ToString();
                        length.Feet       = (millimeter * 0.00328084).ToString();

                        SetOutputValues(length.Millimeter, length.Centimeter, length.Meter, length.Kilometer, length.Inches, length.Feet);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput2:
                    length.Centimeter = TextOutput2.Text;
                    // get other values
                    try
                    {
                        double centimeter = double.Parse(length.Centimeter);
                        length.Millimeter = (centimeter * 10).ToString();
                        length.Meter      = (centimeter * 0.01).ToString();
                        length.Kilometer  = (centimeter * 0.00001).ToString();
                        length.Inches     = (centimeter * 0.393701).ToString();
                        length.Feet       = (centimeter * 0.0328084).ToString();

                        SetOutputValues(length.Millimeter, length.Centimeter, length.Meter, length.Kilometer, length.Inches, length.Feet);
                    }
                    catch
                    {
                        TextOutput2.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput3:
                    length.Meter = TextOutput3.Text;
                    // get other values
                    try
                    {
                        double meter = double.Parse(length.Meter);
                        length.Millimeter = (meter * 1000).ToString();
                        length.Centimeter = (meter * 100).ToString();
                        length.Kilometer  = (meter * 0.001).ToString();
                        length.Inches     = (meter * 39.3701).ToString();
                        length.Feet       = (meter * 3.28084).ToString();

                        SetOutputValues(length.Millimeter, length.Centimeter, length.Meter, length.Kilometer, length.Inches, length.Feet);
                    }
                    catch
                    {
                        TextOutput3.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput4:
                    length.Kilometer = TextOutput4.Text;
                    // get other values
                    try
                    {
                        double kilometer = double.Parse(length.Kilometer);
                        length.Millimeter = (kilometer * 1000000).ToString();
                        length.Centimeter = (kilometer * 100000).ToString();
                        length.Meter      = (kilometer * 1000).ToString();
                        length.Inches     = (kilometer * 39370.1).ToString();
                        length.Feet       = (kilometer * 3280.84).ToString();

                        SetOutputValues(length.Millimeter, length.Centimeter, length.Meter, length.Kilometer, length.Inches, length.Feet);
                    }
                    catch
                    {
                        TextOutput4.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput5:
                    length.Inches = TextOutput5.Text;
                    // get other values
                    try
                    {
                        double inches = double.Parse(length.Inches);
                        length.Millimeter = (inches * 25.4).ToString();
                        length.Centimeter = (inches * 2.54).ToString();
                        length.Meter      = (inches * 0.0254).ToString();
                        length.Kilometer  = (inches * 0.0000254).ToString();
                        length.Feet       = (inches * 0.0833333).ToString();

                        SetOutputValues(length.Millimeter, length.Centimeter, length.Meter, length.Kilometer, length.Inches, length.Feet);
                    }
                    catch
                    {
                        TextOutput5.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput6:
                    length.Feet = TextOutput6.Text;
                    // get other values
                    try
                    {
                        double feet = double.Parse(length.Feet);
                        length.Millimeter = (feet * 304.8).ToString();
                        length.Centimeter = (feet * 30.48).ToString();
                        length.Meter      = (feet * 0.3048).ToString();
                        length.Kilometer  = (feet * 0.0003048).ToString();
                        length.Inches     = (feet * 12).ToString();

                        SetOutputValues(length.Millimeter, length.Centimeter, length.Meter, length.Kilometer, length.Inches, length.Feet);
                    }
                    catch
                    {
                        TextOutput6.Text = "NaN";
                    }
                    break;

                default:
                    DisplayErrors(6);
                    break;
                }
                break;

            // == DATA ==
            case ConversionTypes.Data:
                var data = new Data();
                switch (CurrentActiveOutput)
                {
                case ActiveOutput.TextOutput1:
                    data.Bytes = TextOutput1.Text;
                    // get other values
                    try
                    {
                        double bytes = double.Parse(data.Bytes);
                        data.Kilobytes = (bytes * 0.001).ToString();
                        data.Megabytes = (bytes * 0.000001).ToString();
                        data.Gigabytes = (bytes * 0.000000001).ToString();
                        data.Terabytes = (bytes * 0.000000000001).ToString();

                        SetOutputValues(data.Bytes, data.Kilobytes, data.Megabytes, data.Gigabytes, data.Terabytes);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput2:
                    data.Kilobytes = TextOutput2.Text;
                    // get other values
                    try
                    {
                        double kilobytes = double.Parse(data.Kilobytes);
                        data.Bytes     = (kilobytes * 1000).ToString();
                        data.Megabytes = (kilobytes * 0.001).ToString();
                        data.Gigabytes = (kilobytes * 0.000001).ToString();
                        data.Terabytes = (kilobytes * 0.000000001).ToString();

                        SetOutputValues(data.Bytes, data.Kilobytes, data.Megabytes, data.Gigabytes, data.Terabytes);
                    }
                    catch
                    {
                        TextOutput2.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput3:
                    data.Megabytes = TextOutput3.Text;
                    // get other values
                    try
                    {
                        double megabytes = double.Parse(data.Megabytes);
                        data.Bytes     = (megabytes * 1000000).ToString();
                        data.Kilobytes = (megabytes * 1000).ToString();
                        data.Gigabytes = (megabytes * 0.001).ToString();
                        data.Terabytes = (megabytes * 0.000001).ToString();

                        SetOutputValues(data.Bytes, data.Kilobytes, data.Megabytes, data.Gigabytes, data.Terabytes);
                    }
                    catch
                    {
                        TextOutput3.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput4:
                    data.Gigabytes = TextOutput4.Text;
                    // get other values
                    try
                    {
                        double gigabytes = double.Parse(data.Gigabytes);
                        data.Bytes     = (gigabytes * 1000000000).ToString();
                        data.Kilobytes = (gigabytes * 1000000).ToString();
                        data.Megabytes = (gigabytes * 1000).ToString();
                        data.Terabytes = (gigabytes * 0.001).ToString();

                        SetOutputValues(data.Bytes, data.Kilobytes, data.Megabytes, data.Gigabytes, data.Terabytes);
                    }
                    catch
                    {
                        TextOutput4.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput5:
                    data.Terabytes = TextOutput5.Text;
                    // get other values
                    try
                    {
                        double terabytes = double.Parse(data.Terabytes);
                        data.Bytes     = (terabytes * 1000000000000).ToString();
                        data.Kilobytes = (terabytes * 1000000000).ToString();
                        data.Megabytes = (terabytes * 1000000).ToString();
                        data.Gigabytes = (terabytes * 1000).ToString();

                        SetOutputValues(data.Bytes, data.Kilobytes, data.Megabytes, data.Gigabytes, data.Terabytes);
                    }
                    catch
                    {
                        TextOutput5.Text = "NaN";
                    }
                    break;

                default:
                    DisplayErrors(5);
                    break;
                }
                break;

            // == TIME ==
            case ConversionTypes.Time:
                var time = new Time();
                switch (CurrentActiveOutput)
                {
                case ActiveOutput.TextOutput1:
                    time.Seconds = TextOutput1.Text;
                    // get other values
                    try
                    {
                        double seconds = double.Parse(time.Seconds);
                        time.Minutes = (seconds * 0.0166667).ToString();
                        time.Hours   = (seconds * 0.000277778).ToString();

                        SetOutputValues(time.Seconds, time.Minutes, time.Hours);
                    }
                    catch
                    {
                        TextOutput1.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput2:
                    time.Minutes = TextOutput2.Text;
                    // get other values
                    try
                    {
                        double minutes = double.Parse(time.Minutes);
                        time.Seconds = (minutes * 60).ToString();
                        time.Hours   = (minutes * 0.0166667).ToString();

                        SetOutputValues(time.Seconds, time.Minutes, time.Hours);
                    }
                    catch
                    {
                        TextOutput2.Text = "NaN";
                    }
                    break;

                case ActiveOutput.TextOutput3:
                    time.Hours = TextOutput3.Text;
                    // get other values
                    try
                    {
                        double hours = double.Parse(time.Hours);
                        time.Seconds = (hours * 3600).ToString();
                        time.Minutes = (hours * 60).ToString();

                        SetOutputValues(time.Seconds, time.Minutes, time.Hours);
                    }
                    catch
                    {
                        TextOutput3.Text = "NaN";
                    }
                    break;

                default:
                    DisplayErrors(3);
                    break;
                }
                break;

            default:
                DisplayErrors(6);
                break;
            }
        }
예제 #25
0
 private void WriteButtonClick(object sender, RoutedEventArgs e)
 {
     Programmer.Write(HexFileNameTextBox.Text);
     MessageBox.Show("Written!");
 }
예제 #26
0
        static void Main(string[] args)
        {
            // Singleton Test
            Console.WriteLine("Singleton Test");

            var singleton = Singleton.CreateSingletonObj(1);

            var singleton2 = Singleton.CreateSingletonObj(2); // не создается новый экземпляр

            // Simple Factory test
            Console.WriteLine(Environment.NewLine + "Simple Factory test");

            SimpleFactory.IWorkerFactory workerFactory = new SimpleFactory.WorkerFactory();
            var simpleFactoryHR = workerFactory.HireWorker(SimpleFactory.WorkerType.HR);

            simpleFactoryHR.GoToWork();

            // Factory test
            Console.WriteLine(Environment.NewLine + "Factory test");

            Factory.IWorkerFactory qAFactory = new Factory.QAFactory();
            Factory.IWorker        factoryQA = qAFactory.HireWorker();
            factoryQA.GoToWork();

            // Abstract factory test
            Console.WriteLine(Environment.NewLine + "Abstract Factory test");

            AbstractFactory.ICompanyFactory companyOneFactory     = new AbstractFactory.CompanyOneFactory();
            AbstractFactory.IWorker         comopanyOneProgrammer = companyOneFactory.GetWorker();
            comopanyOneProgrammer.GoHome();
            AbstractFactory.IVisitor companyOneVisitor = companyOneFactory.GetVisitor();
            companyOneVisitor.Visit();

            // Builder test
            Console.WriteLine(Environment.NewLine + "Builder test");

            Director      director       = new Director();
            IPhoneBuilder androidBuilder = new AndroidPhoneBuilder();

            director.Construct(androidBuilder);
            Console.WriteLine(androidBuilder.Phone.ToString());

            // Decorator test
            Console.WriteLine(Environment.NewLine + "Decorator test");

            Employee programmer = new Programmer();

            programmer = new Junior(programmer);
            Console.WriteLine(programmer);

            Employee qA = new QA();

            qA = new Middle(qA);
            Console.WriteLine(qA);

            // Adapter test
            Console.WriteLine(Environment.NewLine + "Adapter test");

            Company company = new Company();

            CompanyOneEmployee companyOneEmployee = new CompanyOneEmployee();

            company.TransferEmployee(companyOneEmployee);

            CompanyTwoEmployee companyTwoEmployee = new CompanyTwoEmployee();
            ITransferable      employeeAdapter    = new EmployeeAdapter(companyTwoEmployee);

            company.TransferEmployee(employeeAdapter);

            // Composite test
            Console.WriteLine(Environment.NewLine + "Composite test");

            Component headOfDepartment = new Member(Position.HeadOfDepartment, "Vasiliy Michailovich");
            Component firstAssistant   = new Member(Position.Assistant, "Yuri Gagarin");
            Component secondAssistant  = new Member(Position.Assistant, "German Popov");
            Component firstWorker      = new Member(Position.Worker, "Layka");
            Component secondWorker     = new Member(Position.Worker, "Muha");

            headOfDepartment.Add(firstAssistant);
            headOfDepartment.Add(secondAssistant);

            firstAssistant.Add(firstWorker);
            secondAssistant.Add(secondWorker);

            headOfDepartment.Print();

            // Bridge test
            Console.WriteLine(Environment.NewLine + "Bridge test");

            MessageManager messageManager = new SimpleMessageManager(new WebService());

            messageManager.Send("Hellow World!");

            messageManager.Sender = new ThirdPartySender();
            messageManager.Send("Hello World!");

            // Flyweight test
            Console.WriteLine(Environment.NewLine + "Flyweight test");

            Flyweight.ProgrammerFactory programmerFactory = new Flyweight.ProgrammerFactory();

            for (var i = 0; i < 5; i++)
            {
                var fJuniorProgrammer = programmerFactory.GetProgrammer("Junior");
                fJuniorProgrammer.Pay(1.1f);
            }

            Console.WriteLine($"Number of objects in programmerFactory is {programmerFactory.Programmers.Count}");

            // Strategy test
            Console.WriteLine(Environment.NewLine + "Strategy test");

            Strategy.IEmployee       strategyProgrammer = new Strategy.Programmer();
            Strategy.EmployeeActions employeeActions    = new Strategy.EmployeeActions(strategyProgrammer);
            employeeActions.EmployeeGoHome();

            employeeActions.Employee = new Strategy.QA();
            employeeActions.EmployeeGoHome();
        }
 private ProgrammerResponse(bool success, string message, Programmer programmer) : base(success, message)
 {
     Programmer = programmer;
 }
예제 #28
0
 public void makeAssembly(string purpose)
 {
     if (purpose == "Anaconda")
     {
         DataScience ty = new DataScience();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "Photoshop")
     {
         Photo ty = new Photo();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "DaVinci")
     {
         DaVinci ty = new DaVinci();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "MS Office")
     {
         Office ty = new Office();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "рядовой пользователь")
     {
         User ty = new User();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "программист")
     {
         Programmer ty = new Programmer();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "датасайнтист")
     {
         DataScience ty = new DataScience();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "фоторедактор/художник")
     {
         Photo ty = new Photo();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "DEATH STRANDING")
     {
         DeathStranding ty = new DeathStranding();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
     else if (purpose == "Red Dead Redemption 2")
     {
         RDR2 ty = new RDR2();
         findProcessor(ty.poleProc);
         cap += poleProc.capacity;
         findMother(ty.poleMoth);
         findMem(ty.poleMem);
         cap += poleMem.capacity;
         findRAM(ty.poleRAM);
         findGCard(ty.poleGCard);
         cap += poleGCard.capacity;
         findPowerSupply();
         price = poleProc.price + poleGCard.price + poleRAM.price + poleMem.price + poleMoth.price + polePower.price;
     }
 }
 public ProgrammerResponse(Programmer programmer) : this(true, string.Empty, programmer)
 {
 }
예제 #30
0
 public void AddProgrammerEvent(Programmer programmer)
 {
     programmer.OnMouseClicked += ChangeSelectedProgrammer;
 }
예제 #31
0
 public TestInterval(DateTime start, TimeSpan length, Programmer programmer) : base(null)
 {
     this.Programmer = programmer;
     this.StartTime  = start;
     this.EndTime    = start + length;
 }
        /// <summary>
        /// A viewn megadott adatot a repository segítségével módosítja
        /// </summary>
        /// <param name="stringIdOfModifydProgrammer">A sorszám, amely megadja, hogy hanyadik elemet kell változtatni</param>
        /// <param name="name">A programozó neve</param>
        /// <param name="ageText">A programozó életkora</param>
        /// <param name="city">A programozó lakhelye</param>
        /// <param name="gender">A programozó neme</param>
        /// <param name="deskopProgrammer">Desktop programozó tulajdonság</param>
        /// <param name="webProgrammer">Web programozó tulajdonság</param>
        /// <param name="gameProgrammer">Játékprogramozó tualjdonság</param>
        ///  /// <exception cref="ControllerException">ageText + " évszám nem megfelelő formátumú...</exception>
        /// <exception cref="ControllerException">ageText + " évszám túl nagy vagy túl kicsi</exception>

        public void modifyProgrammer(
            string stringIdOfModifydProgrammer,
            string name,
            string ageText,
            string city,
            bool gender,
            bool desktopProgrammer,
            bool webProgrammer,
            bool gameProgrammer
            )
        {
            int idOfModifydProgrammer = -1;

            try
            {
                idOfModifydProgrammer = getProgrammerId(stringIdOfModifydProgrammer);
            }
            catch (Exception e)
            {
                return;
            }
            Gender genderProperties = Gender.MAN;

            if (gender == false)
            {
                genderProperties = Gender.WOMAN;
            }

            int age = 0;

            try
            {
                age = Convert.ToInt32(ageText);
                Programmer p = new Programmer(
                    idOfModifydProgrammer,
                    name,
                    age,
                    city,
                    genderProperties,
                    desktopProgrammer,
                    webProgrammer,
                    gameProgrammer
                    );
                programmerRepository.modify(idOfModifydProgrammer, p);
            }
            catch (FormatException fe)
            {
                throw new ControllerException(ageText + " évszám nem megfelelő formátumú...");
            }
            catch (OverflowException oe)
            {
                throw new ControllerException(ageText + " évszám túl nagy vagy túl kicsi");
            }
            catch (RepositoryException re)
            {
                Debug.WriteLine("Adattár rétegbeli hiba történt...\n" + re.Message);
            }
            catch (ModelException me)
            {
                Debug.WriteLine("Modell rétegbeli hiba történt...\n" + me.Message);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Ismeretlen hiba történt...\n" + ex.Message);
            }
        }
예제 #33
0
        private void button1_Click(object sender, EventArgs e)
        {
            Emp e1 = new Programmer("PPP", 10, 12, 1990, 101, 10000, 10, 100);

            MessageBox.Show(e1.ToString());
        }
예제 #34
0
        static void Main(string[] args)
        {
            Employee prog = new Programmer(48091, "naynish p. chaughule", 85000, 500, "233-324-1246", new BenefitPlan("GWU", 3500));
            ((Programmer)prog).CalculateIncentives();

            Employee vp = new VicePresident(001, "henry w. gates", 150000, 200000, "343-325-9477", new BenefitPlan("DC Plan", 2573));
            ((VicePresident)vp).CalculateIncentives();
            foreach (var item in vp.GetMyPlanDetails())
            {
                Console.WriteLine(item);
            }
            Console.WriteLine(vp.MyPlan.PlanName + " ends 06/07/2012");
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Programmer jay = new Programmer();
            jay.CalculateIncentives();
            VicePresident vp1 = new VicePresident();
            vp1.CalculateIncentives();

            //since InnerClass is private it is not exposed to the outside world
            //OuterClass.InnerClass obj = new OuterClass.InnerClass();
            //cannot access the public members of the InnerClass

            Fruit f = new Fruit(); f.ShowFruitDetails();
            Apple a = new Apple(); a.ShowFruitDetails();
            Mango m = new Mango(); m.ShowFruitDetails();
            //exception rule
            //reference of base class but instance of subclass: the method called with base class reference is virtual
            //and it is overridden in the sub class. Then the sub classes method would be called
            Fruit f1 = new Apple();
            f1.ShowFruitDetails();
            ((Apple)f1).Display();
            f1.Display();
            KashmirApple ka = new KashmirApple();
            ka.ShowFruitDetails();
            ka.Display();

            Fruit f1ka = new KashmirApple();
            f1ka.ShowFruitDetails();
            f1ka.Display();
            ((KashmirApple)f1ka).Display();

            Apple ap1 = new Apple();
            ap1.Display(); //i dont want this, i want the Display of the base class, cast it
            ((Fruit)ap1).Display();

            //The first law of casting between class types is that when two classes are related by an “is-a”
            //relationship, it is always safe to store a derived object within a base class reference (implicit cast).
            HelperMethod(f);
            HelperMethod(a);
            HelperMethod(m);
            HelperMethod(f1);

            Object o = new Mango();
            //Object o is pointing to a Fruit compatible class but that will not be known until runtime
            //HelperMethod(o); //not allowed
            //do a downward-cast, explicit casting is evaluated at runtime, not compile time
            HelperMethod((Mango)o);
            //demo of explicit cast evaluated at runtime
            VicePresident vpDemo = new VicePresident();
            Object mng = new Mango();
            try
            {
                vpDemo = (VicePresident)mng; //no compile time errors for this downward cast as it follows the inheritance chain
                //System.Object <-- VicePresident //run it and a runtime exception will be fired
            }
            catch (InvalidCastException e)
            {
                Console.WriteLine(e.Message);
            }

            //as and is does not require try catch
            //solution: determine at runtime whether a given type is compatible with another
            //vpDemo of VicePresident and mng of Object/mango
            vpDemo = mng as VicePresident;
            if (vpDemo == null)
                Console.WriteLine("Could not copy mng to vpDemo");

            Fruit castFruit;
            Apple appDev = new Apple();
            castFruit = appDev as Fruit;
            if (castFruit != null)
                Console.WriteLine("successful casting");

            //In addition to the as keyword, the C# language provides the is keyword to determine whether two
            //items are compatible. Unlike the as keyword, however, the is keyword returns false, rather than a null
            //reference, if the types are incompatible.
            //check to see if mng is a VicePresident
            if (mng is VicePresident) //bool return value
                Console.WriteLine("casting possible");
            else
                Console.WriteLine("casting not possible");

            MasterParent mp1 = new MasterParent();
            mp1.ShowDetials();
            Console.ReadLine();
        }
예제 #35
0
    private void RenderStatus(Programmer programmer)
    {
        programmerImage.sprite = ResourceLoadUtility.LoadPortrait(programmer.Status.PortraitName);

        statusPresenter.Present(programmer.Status);
    }