public FrmTechnicalComputers(Technician tech)
 {
     InitializeComponent();
     this.tech = tech;
     CoreProcedure.LoadComputers();
     this.showIndex = 2;
 }
Example #2
0
        static void Main(string[] args)
        {
            CoreProcedure procedure = CoreProcedure.Instance;

            CoreProcedure.Computers = new List <Computer>();
            Receptionist recepcionist = new Receptionist("Alan", "Pucci", "recepcionista", "12345");
            Technician   technician   = new Technician("Alan", "Pucci", "recepcionista", "12345");
            Notebook     notebook     = new Notebook(15, "Juancito", Brand.AsRock, false, true, OS.Windows, ComType.Notebook,
                                                     Processor.AMD, HardDisk.HDD1TB, RAM.GB4, "Pantalla azul", GraphicCard.MSIRadeonRX480, State.Recibida, DateTime.Now);

            recepcionist.AddComputer(notebook);
            Console.WriteLine("Se agrego la computadora\n");
            Computer computer = procedure[State.Recibida][0];

            Console.WriteLine(computer.Show());
            recepcionist.ToRepair(computer);
            computer = procedure[State.PorReparar][0];
            Console.WriteLine("\nSe envió al técnico\n");
            Console.WriteLine(computer.Show());
            computer.ComputerState = State.Reparada;
            computer = procedure[State.Reparada][0];
            Console.WriteLine("\nSe reparó la computadora\n");
            Console.WriteLine(computer.Show());
            technician.Deliver(computer);
            computer = procedure[State.PorEntregar][0];
            Console.WriteLine("\nSe envió al recepcionista\n");
            Console.WriteLine(computer.Show());
            recepcionist.ToDeliver(computer);
            computer = procedure[State.Devuelta][0];
            Console.WriteLine("\nSe devolvió al cliente\n");
            Console.WriteLine(computer.Show());
            Console.ReadKey();
        }
Example #3
0
 public FrmRecepcionistComputers(Receptionist recepcionist)
 {
     InitializeComponent();
     CoreProcedure.LoadComputers();
     this.recepcionist = recepcionist;
     this.showIndex    = 0;
     this.toDo         = ToDo.Repair;
 }
Example #4
0
 private void FrmTechnicalComputers_FormClosing(object sender, FormClosingEventArgs e)
 {
     try
     {
         CoreProcedure.LoadComputers();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
Example #5
0
 /// <summary>
 /// Delete a computer
 /// </summary>
 /// <param name="computer">Computer to delete</param>
 public void DeleteComputer(Computer computer)
 {
     try
     {
         CoreProcedure.DeleteComputer(computer);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #6
0
 /// <summary>
 /// Update computer state
 /// </summary>
 /// <param name="c1">Computer to update</param>
 /// <param name="state">State</param>
 public void UpdateState(Computer c1, State state)
 {
     try
     {
         CoreProcedure procedure = CoreProcedure.Instance;
         procedure.UpdateState(c1, state);
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #7
0
 /// <summary>
 /// Loads computers from a XML
 /// </summary>
 private void btnLoad_Click(object sender, EventArgs e)
 {
     try
     {
         OpenFileDialog dialog = new OpenFileDialog();
         dialog.ShowDialog();
         CoreProcedure.LoadComputersFromFile(dialog.FileName);
         this.ReloadData();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }
Example #8
0
 /// <summary>
 /// Update a computer
 /// </summary>
 /// <param name="c1">First computer</param>
 /// <param name="c2">Second computer</param>
 public bool UpdateComputer(Computer c1, Computer c2)
 {
     try
     {
         if (CoreProcedure.UpdateComputer(c1, c2))
         {
             return(true);
         }
         return(false);
     }
     catch (Exception)
     {
         throw;
     }
 }
Example #9
0
 /// <summary>
 /// Add a computer
 /// </summary>
 /// <param name="computer">Computer to add</param>
 public bool AddComputer(Computer computer)
 {
     try
     {
         if (CoreProcedure.AddComputer(computer))
         {
             return(true);
         }
         throw new Exception("No hay espacio para cargar la computadora.\nPor favor, asigna las computadoras al técnico");
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void ToRepairComputerTest()
        {
            //Arrange
            CoreProcedure procedure    = CoreProcedure.Instance;
            Receptionist  recepcionist = new Receptionist();
            Notebook      notebook     = new Notebook("Alan", Brand.HP, true, false, OS.Windows, ComType.Notebook,
                                                      Processor.Intel, HardDisk.SDD512GB, RAM.GB16, "Se rompio", GraphicCard.MSIRadeonRX480);

            CoreProcedure.Computers = new List <Computer>();

            //Act
            recepcionist.AddComputer(notebook);
            recepcionist.ToRepair(notebook);

            //Assert
            Assert.AreEqual(procedure[State.PorReparar].Count, 1);
        }
        public void RepairComputerTest()
        {
            //Arrange
            CoreProcedure procedure    = CoreProcedure.Instance;
            Receptionist  recepcionist = new Receptionist();
            Technician    technician   = new Technician();
            Notebook      notebook     = new Notebook("Alan", Brand.Acer, true, false, OS.Windows, ComType.Notebook,
                                                      Processor.AMD, HardDisk.HDD1TB, RAM.GB16, "Se rompio", GraphicCard.MSIRadeonRX480);
            Notebook notebook2 = new Notebook("Alan", Brand.Acer, true, false, OS.Linux, ComType.Notebook,
                                              Processor.AMD, HardDisk.HDD1TB, RAM.GB16, "Se arregló", GraphicCard.ASUSROGStrixRadeonRX580);

            notebook2.ComputerState = State.Reparada;
            CoreProcedure.Computers = new List <Computer>();

            //Act
            recepcionist.AddComputer(notebook);
            recepcionist.ToRepair(notebook);
            technician.Repair(notebook, notebook2);

            //Assert
            Assert.AreEqual(procedure[State.Reparada].Count, 1);
        }
        static void Main(string[] args)
        {
            string[] filepaths = Directory.GetFiles(lazfolder, "*.laz");
            string[] dmrpaths  = Directory.GetFiles(dmrfolder);


            List <Task> tasks = new List <Task>();

            foreach (string path in filepaths)
            {
                string current_path = path;
                Task   task         = new Task(() =>
                {
                    CoreProcedure procedure = new CoreProcedure(current_path);
                    procedure.PreprocessLaz();
                });
                tasks.Add(task);
            }

            // partition to batch size of 8 for 8 core processors.
            List <List <Task> > batches = MyCollections.Partition <Task>(tasks.ToArray(), 8).ToList();

            foreach (var batch in batches)
            {
                foreach (Task t in batch)
                {
                    t.Start();
                }
                foreach (Task t in batch)
                {
                    t.Wait();
                }
                foreach (Task t in batch)
                {
                    t.Dispose();
                }
            }



            tasks = new List <Task>();
            foreach (string dmr in dmrpaths)
            {
                if (dmr.Contains("pcd"))
                {
                    continue;
                }
                string current_dmr = dmr;
                Task   task        = new Task((object dmr_state) =>
                {
                    CoreProcedure procedure = new CoreProcedure((string)dmr_state);
                    procedure.Dmr2Pcd();
                }, current_dmr);
                tasks.Add(task);
            }

            batches = MyCollections.Partition <Task>(tasks.ToArray(), 8).ToList();
            foreach (var batch in batches)
            {
                foreach (Task t in batch)
                {
                    t.Start();
                }
                foreach (Task t in batch)
                {
                    t.Wait();
                }
            }
        }