コード例 #1
0
        public override void Calc()
        {
            computer com = new computer();

            com.inputProgram = input;
            com.Init();

            com.Calc();
            string scr = "";

            while (com.outputs.Count > 0)
            {
                scr += getAscii(com.outputs.Dequeue() + "");
            }
            //  Console.WriteLine(scr);
            var r   = scr.Split('\n');
            int sum = 0;

            for (int i = 1; i < r.Length - 3; i++)
            {
                // Console.WriteLine(r[i] + r[i].Length);
                if (r[i].Length >= 2)
                {
                    for (int j = 1; j < r[i].Length - 1; j++)
                    {
                        if (r[i][j] == '#' && r[i + 1][j] == '#' && r[i - 1][j] == '#' && r[i][j + 1] == '#' && r[i][j - 1] == '#')
                        {
                            sum += i * j;
                        }
                    }
                }
            }
            output = sum + "";
        }
コード例 #2
0
 public AddPhotoView(computer selectedItem, PhotoType phototype)
 {
     InitializeComponent();
     this.selectedcomputer = selectedItem;
     this.photoType        = phototype;
     this.ChangePhoto();
 }
コード例 #3
0
        public override void Calc()
        {
            computer com = new computer();

            com.inputProgram = input;
            com.Init();

            com.Calc();

            /*
             * while (com.outputs.Count>0)
             * {
             *  com.outputs.Dequeue();
             *  //Console.Write((char)(int)(com.outputs.Dequeue()));
             * }
             */
            string prog = "NOT T T\nAND A T\nAND B T\nAND C T\nNOT T J\nAND D J\nWALK\n";

            foreach (var c in prog)
            {
                com.inputs.Enqueue(c);
            }

            com.Calc();

            while (com.outputs.Count > 0)
            {
                output = com.outputs.Dequeue() + "";
                // Console.WriteLine((com.outputs.Dequeue()));
            }
        }
コード例 #4
0
        void TryCombo(string ord)
        {
            int res   = 0;
            var order = Tools.StringToIntArray(ord);

            Console.WriteLine(Tools.ArrayToString(order));

            computer[] coms = new computer[5];

            for (int i = 0; i < 5; i++)
            {
                computer c = new computer();
                c.inputProgram = input;
                c.inputs.Enqueue(order[i]);
                c.Init();
                coms[i] = c;
            }

            while (!coms[4].halt)
            {
                for (int i = 0; i < 5; i++)
                {
                    coms[i].inputs.Enqueue(res);
                    coms[i].Calc();
                    res = coms[i].output;
                }
            }

            output2 = Math.Max(output2, res);
        }
コード例 #5
0
        public override void Calc()
        {
            computer com = new computer();

            com.inputProgram = input;

            com.Init();
            com.Calc();

            int count = 0;

            while (com.outputs.Count > 0)
            {
                com.outputs.Dequeue();
                com.outputs.Dequeue();
                var a = com.outputs.Dequeue();

                if (a == 2)
                {
                    count++;
                }
            }

            output = count + "";
        }
コード例 #6
0
        public override void Calc()
        {
            for (int i = 0; i < 50; i++)
            {
                computer com = new computer();
                //  com.toLog = true;
                com.inputProgram = input;
                com.Init();
                com.inputs.Enqueue(i);
                //    com.inputs.Enqueue(-1);
                com.Calc();
                coms.Add(com);
            }

            while (true)
            {
                for (int i = 0; i < 50; i++)
                {
                    var com = coms[i];
                    if (com.inputs.Count == 0)
                    {
                        com.inputs.Enqueue(-1);
                    }


                    com.Calc();



                    while (com.outputs.Count > 0)
                    {
                        var addr = com.outputs.Dequeue();
                        var X    = com.outputs.Dequeue();
                        var Y    = com.outputs.Dequeue();

                        if (addr == 255)
                        {
                            output = Y + "";
                            break;
                        }
                        else
                        {
                            coms[(int)addr].inputs.Enqueue(X);
                            coms[(int)addr].inputs.Enqueue(Y);
                        }
                    }
                    if (output != "")
                    {
                        break;
                    }
                }
                if (output != "")
                {
                    break;
                }
            }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: ggonpereira/7a-quinzena
        public static void Main()
        {
            computer obj = new computer();

            Console.WriteLine("Digite o modelo de sua CPU (formato: 'AMD Ryzen 5 1600AF'): ");
            obj.cpu = Console.ReadLine();

            Console.WriteLine("Digite o modelo de sua Placa de Vídeo (formato: 'Asus RX 580 4GB'): ");
            obj.gpu = Console.ReadLine();

            Console.WriteLine("Digite a quantidade de Memória RAM (formato: '2x8GB 2400'): ");
            obj.ram = Console.ReadLine();

            Console.WriteLine("Digite o modelo de sua Placa mãe (formato: 'Asus EX-A320M-Gaming'): ");
            obj.motherboard = Console.ReadLine();

            Console.WriteLine("Digite quantos Watts sua fonte possui (formato: '600'): ");
            obj.powerSupplyWatts = int.Parse(Console.ReadLine());

            Console.WriteLine("Digite o modelo de seu gabinete (formato: 'Fortrek Centurion Gamer'): ");
            obj.pcCase = Console.ReadLine();

            Console.WriteLine("Digite quantos GB totais seu PC tem (formato: '1.240TB'): ");
            obj.hdCapacity = Console.ReadLine();

            Console.WriteLine("Seu computador irá iniciar. Deseja tocar uma música? (formato: S / N)");
            var response = Console.ReadLine();

            //showing the method to initialize the computer
            // Console.WriteLine(turningOnPC);

            //show in console the datas inserted by the user
            Console.WriteLine("Seu processador é: " + obj.cpu);
            Console.WriteLine("Sua placa de vídeo é: " + obj.gpu);
            Console.WriteLine("Você tem: " + obj.ram + " de RAM");
            Console.WriteLine("Sua placa mãe é: " + obj.motherboard);
            Console.WriteLine("Sua fonte possui: " + obj.powerSupplyWatts + "W de potência");
            Console.WriteLine("O modelo de seu gabinete é: " + obj.pcCase);
            Console.WriteLine("Seu computador possui: " + obj.hdCapacity + " de espaço total");

            //user choose if wants to start or turn off the computer
            Console.WriteLine("Se desejar ligar o computador digite: 'ligando', se quiser que ele fique desligado, digite 'desligando'");
            var checkResponse = Console.ReadLine();

            if (checkResponse == "ligando")
            {
                var statusResponse = "Ligando";
            }
            else
            {
                var statusResponse = "Desligando";
            }



            obj.changeStatusPc(statusResponse);
        }
コード例 #8
0
        // GET: ComputerDetail
        public ActionResult Index(computer computerIn)
        {
            using (frycz_pcdbEntities entities = new frycz_pcdbEntities())
            {
                entities.Configuration.LazyLoadingEnabled = false;
                var comps = entities.computers.Where(c => c.idcomputer == computerIn.idcomputer).Include(c => c.user).Include(c => c.computer_parameters).Include(c => c.o)
                            .Include(c => c.computer_type).Include(c => c.computer_brand).FirstOrDefault();

                return(View("ComputerDetail", comps));
            }
        }
コード例 #9
0
 private ActionResult returnValidationMessage(computer computer, int count, FormCollection formCollection)
 {
     using (frycz_pcdbEntities entities = new frycz_pcdbEntities())
     {
         ViewBag.guar        = DateTime.Now.AddYears(2).ToString("dd/MM/yyyy");
         ViewBag.numberofadd = count;
         ViewBag.first       = formCollection["1"].ToUpper();
         makeViewBag(entities, new computer());
         return(View("AddComputer", computer));
     }
 }
コード例 #10
0
 public ActionResult Delete(computer computerIn)
 {
     using (frycz_pcdbEntities entities = new frycz_pcdbEntities())
     {
         var comp = entities.computers.FirstOrDefault(c => c.idcomputer == computerIn.idcomputer);
         entities.computers.Remove(comp);
         entities.SaveChanges();
         Logger.logComputer(comp, "Delete", User);
         return(RedirectToAction("Index", "AllComputer", comp));
     }
 }
コード例 #11
0
 public ActionResult Discard(computer computerIn)
 {
     using (frycz_pcdbEntities entities = new frycz_pcdbEntities())
     {
         var comp = entities.computers.FirstOrDefault(c => c.idcomputer == computerIn.idcomputer);
         comp.discardedDate = DateTime.Now;
         entities.SaveChanges();
         Logger.logComputer(comp, "Discard", User);
         return(RedirectToAction("Index", "ComputerDetail", comp));
     }
 }
コード例 #12
0
        public override void Calc()
        {
            computer com = new computer();


            long count = 0;

            int cx = 50;
            int cy = 0;

            bool down   = true;
            bool search = true;

            while (true)
            {
                com.inputProgram = input;
                com.Init();
                com.inputs.Enqueue(cx);
                com.inputs.Enqueue(cy);
                com.Calc();
                var r = com.outputs.Dequeue();

                if (r == 0)
                {
                    down = true;
                }
                else
                {
                    down = false;

                    com.inputProgram = input;
                    com.Init();
                    com.inputs.Enqueue(cx - 99);
                    com.inputs.Enqueue(cy + 99);
                    com.Calc();
                    var r2 = com.outputs.Dequeue();
                    if (r2 == 1)
                    {
                        output = ((cx - 99) * 10000 + cy) + "";
                        break;
                    }
                }

                if (down)
                {
                    cy++;
                }
                else
                {
                    cx++;
                }
            }
        }
コード例 #13
0
        public override void Calc()
        {
            //Console.WriteLine("1125899906842624");
            //Console.WriteLine(long.MaxValue);


            computer com = new computer();

            com.inputProgram = input;
            com.Init();
            com.Calc();
            output = com.output + "";
        }
コード例 #14
0
        public ActionResult Save(computer com)
        {
            bool status = false;

            if (ModelState.IsValid)
            {
                using (TCMSDBEntities dc = new TCMSDBEntities())
                {
                    if (com.MachineNO > 0)
                    {
                        // Edit
                        var v = dc.computers.Where(a => a.MachineNO == com.MachineNO).FirstOrDefault();
                        if (v != null)
                        {
                            v.MachineNO      = com.MachineNO;
                            v.Processor_Type = com.Processor_Type;
                            v.HDD_Capacity   = com.HDD_Capacity;
                            v.RAM_Capacity   = com.RAM_Capacity;
                            v.PowerSupply_ID = com.PowerSupply_ID;
                            v.Motherboard_ID = com.Motherboard_ID;
                            v.LabNo          = com.LabNo;
                        }
                        else
                        {
                            //Save
                            dc.computers.Add(com);
                        }
                    }
                    try
                    {
                        dc.SaveChanges();
                        status = true;
                    }
                    catch (Exception)
                    {
                        status = true;
                        return(new JsonResult {
                            Data = new { status = status, message = "Something Wrong!" }
                        });

                        throw;
                    }
                }
            }
            return(new JsonResult {
                Data = new { status = status, message = "Saved Successfully" }
            });
            //return Json(new { status = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet);
        }
コード例 #15
0
        public ActionResult Index(computer computer)
        {
            using (frycz_pcdbEntities entities = new frycz_pcdbEntities())
            {
                entities.Configuration.LazyLoadingEnabled = false;
                var comp = entities.computers.Where(c => c.idcomputer == computer.idcomputer).Include(c => c.user)
                           .Include(c => c.computer_parameters).Include(c => c.o)
                           .Include(c => c.computer_type).Include(c => c.computer_brand).FirstOrDefault();

                // for dropdown list
                makeViewBag(entities, comp);

                return(View("EditComputer", comp));
            }
        }
コード例 #16
0
        public override void Calc()
        {
            computer com = new computer();

            com.inputProgram = input;
            // com.inputs.Enqueue(0);
            com.Init();

            while (!com.done)
            {
                if (whites.Contains(new PointS(pos.X, pos.Y)))
                {
                    com.inputs.Enqueue(1);
                }
                else
                {
                    com.inputs.Enqueue(0);
                }
                com.Calc();

                if (com.outputs.Dequeue() == 1)
                {
                    whites.Add(new PointS(pos.X, pos.Y));
                }
                else
                {
                    whites.Remove(new PointS(pos.X, pos.Y));
                }

                if (!countColor.Contains(new PointS(pos.X, pos.Y)))
                {
                    countColor.Add((new PointS(pos.X, pos.Y)));
                }


                if (com.outputs.Dequeue() == 1)
                {
                    currentDir = TurnFrom(currentDir, direction.right);
                }
                else
                {
                    currentDir = TurnFrom(currentDir, direction.left);
                }

                move(currentDir);
            }
            output = countColor.Count + "";
        }
コード例 #17
0
 public ActionResult Delete(int id)
 {
     using (TCMSDBEntities dc = new TCMSDBEntities())
     {
         computer aa = new computer();
         var      v  = dc.repairs.Where(a => a.repair_id == id).FirstOrDefault();
         if (v != null)
         {
             return(View(v));
         }
         else
         {
             return(HttpNotFound());
         }
     }
 }
コード例 #18
0
        public AddComputerVM(ChangeStatus status, ObservableCollection <computer> source, CollectionView sourceView, computer selectedItem)
        {
            var dal = new DataLayer();

            var        date = DateTime.Now.Year;
            List <int> list = new List <int>();

            for (var i = date; i > date - 10; i--)
            {
                list.Add(i);
            }

            Tahuns = (CollectionView)CollectionViewSource.GetDefaultView(list);



            this.HardisksView   = (CollectionView)CollectionViewSource.GetDefaultView(dal.Hardisks);
            this.RamsView       = (CollectionView)CollectionViewSource.GetDefaultView(dal.Rams);
            this.ProccesorsView = (CollectionView)CollectionViewSource.GetDefaultView(dal.Proccessors);
            this.LcdsView       = (CollectionView)CollectionViewSource.GetDefaultView(dal.Lcds);

            IDataCollection <producent> pr = new ProducentCollections();

            this.ProducentView = (CollectionView)CollectionViewSource.GetDefaultView(pr.GetData());
            this.source        = source;
            this.sourceView    = sourceView;
            this.selectedItem  = selectedItem;
            this.status        = status;

            SaveCommand = new CommandHandler {
                CanExecuteAction = SaveValidation, ExecuteAction = SaveAction
            };

            if (status == ChangeStatus.Edit)
            {
                this.Hardisk       = selectedItem.Hardisk;
                this.Id            = selectedItem.Id;
                this.LCD           = selectedItem.LCD;
                this.Memory        = selectedItem.Memory;
                this.Name          = selectedItem.Name;
                this.Price         = selectedItem.Price;
                this.Proccesor     = selectedItem.Proccesor;
                this.ProducentId   = selectedItem.ProducentId;
                this.ProducentName = this.ProducentName;
                this.Series        = this.Series;
            }
        }
コード例 #19
0
        void TryCombo(string ord)
        {
            int res   = 0;
            var order = Tools.StringToIntArray(ord);

            Console.WriteLine(Tools.ArrayToString(order));
            for (int i = 0; i < 5; i++)
            {
                computer c = new computer();
                c.inputProgram = input;
                c.inputs.Enqueue(order[i]);
                c.inputs.Enqueue(res);
                c.Calc();
                res = c.output;
            }
            output2 = Math.Max(output2, res);
        }
コード例 #20
0
 private void SaveAction(object obj)
 {
     if (this.status == ChangeStatus.New)
     {
         var item = this;
         item.ProducentName = ProducentSelected.Name;
         var coll = new ComputerCollections();
         var res  = coll.Add(item);
         if (res > 0)
         {
             item.Id = res;
             MessageBox.Show("Data Berhasil Disimpan");
             this.source.Add(item);
             this.sourceView.Refresh();
             this.selectedItem = item;
             WindowClose();
         }
         else
         {
             MessageBox.Show("Data Gagal Disimpan");
         }
     }
     else if (this.status == ChangeStatus.Edit)
     {
         var item = this;
         item.ProducentName = ProducentSelected.Name;
         var coll      = new ComputerCollections();
         var isUpdated = coll.Update(item);
         if (isUpdated)
         {
             MessageBox.Show("Data Berhasil Disimpan");
             this.sourceView.Refresh();
             this.selectedItem = item;
         }
         else
         {
             MessageBox.Show("Data Gagal Disimpan");
         }
     }
 }
コード例 #21
0
        public override void Calc()
        {
            computer com = new computer();


            long count = 0;

            for (int i = 0; i <= 49; i++)
            {
                for (int j = 0; j <= 49; j++)
                {
                    com.inputProgram = input;
                    com.Init();
                    com.inputs.Enqueue(i);
                    com.inputs.Enqueue(j);
                    com.Calc();
                    // Console.Write(com.outputs.Dequeue());
                    count += com.outputs.Dequeue();
                }
                //Console.WriteLine();
            }
            output = count + "";
        }
コード例 #22
0
        public ActionResult Save(computer computerIn, string userInput, Nullable <int> idcomputer_parameters,
                                 Nullable <int> idcomputerBrand, Nullable <int> idcomputerType)
        {
            string userErrorMessage     = "User name not found.";
            string computerErrorMessage = "Computer name is invalid or in use.";

            using (frycz_pcdbEntities entities = new frycz_pcdbEntities())
            {
                if (!Validator.validComputerName(computerIn.name))
                {
                    ModelState.AddModelError("computerName", computerErrorMessage);

                    entities.Configuration.LazyLoadingEnabled = false;
                    var co = entities.computers.Where(c => c.idcomputer == computerIn.idcomputer)
                             .Include(c => c.user).Include(c => c.computer_parameters).Include(c => c.o)
                             .Include(c => c.computer_type).Include(c => c.computer_brand)
                             .FirstOrDefault();
                    makeViewBag(entities, co);
                    return(View("EditComputer", co));
                }

                entities.Configuration.LazyLoadingEnabled = false;
                computer comp = entities.computers.FirstOrDefault(c => c.idcomputer == computerIn.idcomputer);

                try
                {
                    Frycz_pcdb.user u = Validator.findUser(userInput);
                    comp.iduser = u.iduser;
                }
                catch
                {
                    var co = entities.computers.Where(c => c.idcomputer == computerIn.idcomputer)
                             .Include(c => c.user).Include(c => c.computer_parameters).Include(c => c.o)
                             .Include(c => c.computer_type).Include(c => c.computer_brand)
                             .FirstOrDefault();
                    makeViewBag(entities, co);
                    ModelState.AddModelError("userNotFound", userErrorMessage);
                    return(View("EditComputer", co));
                }

                // update computers
                comp.bpcs_sessions    = computerIn.bpcs_sessions;
                comp.mac_address      = computerIn.mac_address;
                comp.serial_number    = computerIn.serial_number;
                comp.idos             = computerIn.idos;
                comp.comment          = computerIn.comment;
                comp.inventory_number = computerIn.inventory_number;
                if (idcomputer_parameters == null)
                {
                    comp.idcomputer_parameters = null;
                }
                else
                {
                    comp.computer_parameters =
                        entities.computer_parameters.FirstOrDefault(e =>
                                                                    e.idcomputer_parameters == idcomputer_parameters);
                }

                if (idcomputerBrand == null)
                {
                    comp.idcomputer_brand = null;
                }
                else
                {
                    comp.computer_brand =
                        entities.computer_brand.FirstOrDefault(e => e.idcumputer_brand == idcomputerBrand);
                }

                comp.idcomputer_type  = idcomputerType;
                comp.name             = computerIn.name.ToUpper();
                comp.guarantee        = computerIn.guarantee;
                comp.last_update_time = DateTime.Now;
                entities.SaveChanges();
                return(RedirectToAction("Index", "ComputerDetail", comp));
            }
        }
コード例 #23
0
        public override void Calc()
        {
            screen = new char[h][];

            for (int i = 0; i < h; i++)
            {
                screen[i] = new char[w];
                for (int j = 0; j < w; j++)
                {
                    screen[i][j] = ' ';
                }
            }
            spaces.Add(new point(0, 0));
            //  special.Add(new point(0, 0));



            computer com = new computer();

            com.inputProgram = input;


            // com.toLog = true;
            com.Init();

            Random rng = new Random();

            while (true)
            {
                com.Calc();

                var dirn = 0;
                //   Console.ReadLine();
                var ch = findDir();
                dirn = ch;

                bool isBack = false;

                if (dirn >= 1 && dirn <= 4)
                {
                    com.inputs.Enqueue(dirn);
                    com.Calc();
                    isBack = false;
                }
                else
                {
                    if (moves.Count == 0)
                    {
                        break;
                    }
                    dirn = anti(moves.Pop());
                    com.inputs.Enqueue(dirn);
                    com.Calc();
                    isBack = true;
                }

                if (com.outputs.Count > 0)
                {
                    var o = com.outputs.Dequeue();

                    if (o == 0)//wall
                    {
                        switch (dirn)
                        {
                        case 1: walls.Add(new point(pos.x, pos.y + 1)); break;

                        case 2: walls.Add(new point(pos.x, pos.y - 1)); break;

                        case 3: walls.Add(new point(pos.x - 1, pos.y)); break;

                        case 4: walls.Add(new point(pos.x + 1, pos.y)); break;
                        }
                    }
                    else if (o == 1) //empty
                    {
                        switch (dirn)
                        {
                        case 1: spaces.Add(new point(pos.x, pos.y + 1)); pos.y++; break;

                        case 2: spaces.Add(new point(pos.x, pos.y - 1)); pos.y--; break;

                        case 3: spaces.Add(new point(pos.x - 1, pos.y)); pos.x--; break;

                        case 4: spaces.Add(new point(pos.x + 1, pos.y)); pos.x++; break;
                        }
                        if (!isBack)
                        {
                            moves.Push(dirn);
                        }
                    }
                    else if (o == 2)//found
                    {
                        switch (dirn)
                        {
                        case 1: special.Add(new point(pos.x, pos.y + 1)); pos.y++; break;

                        case 2: special.Add(new point(pos.x, pos.y - 1)); pos.y--; break;

                        case 3: special.Add(new point(pos.x - 1, pos.y)); pos.x--; break;

                        case 4: special.Add(new point(pos.x + 1, pos.y)); pos.x++; break;
                        }
                        if (!isBack)
                        {
                            moves.Push(dirn);
                        }
                    }
                }

                /*  clear();
                 * setScreen();
                 * Console.Clear();
                 * writeScreen();*/
                //Thread.Sleep(50);
            }
            //  clear();
            setScreen();
            // Console.Clear();
            //  writeScreen();

            oxygen.Add(special[0]);
            while (special.Contains(oxygen[0]))
            {
                special.Remove(special[0]);
            }
            int ox = w / 2 - pos.x;
            int oy = h / 2 - pos.y;

            int timer = 0;

            while (true)
            {
                List <point> more = new List <point>();
                foreach (var o in oxygen)
                {
                    if (screen[o.y + 1 + oy][o.x + ox] == '.')
                    {
                        more.Add(new point(o.x, o.y + 1));
                    }
                    if (screen[o.y - 1 + oy][o.x + ox] == '.')
                    {
                        more.Add(new point(o.x, o.y - 1));
                    }
                    if (screen[o.y + oy][o.x + 1 + ox] == '.')
                    {
                        more.Add(new point(o.x + 1, o.y));
                    }
                    if (screen[o.y + oy][o.x - 1 + ox] == '.')
                    {
                        more.Add(new point(o.x - 1, o.y));
                    }
                }

                if (more.Count > 0)
                {
                    foreach (var a in more)
                    {
                        oxygen.Add(a);
                    }
                    // clear();
                    setScreen();
                    //Console.Clear();
                    //writeScreen();
                    timer++;
                }
                else
                {
                    output = timer + "";
                    break;
                }
            }

            /*  clear();
             * setScreen();
             * Console.Clear();
             * writeScreen();
             */
        }
コード例 #24
0
ファイル: Logger.cs プロジェクト: hajeklu/Frycz-pcdb
 public static void logComputer(computer computer, string operationMessage, IPrincipal user, frycz_pcdbEntities entities)
 {
     logToDB(operationMessage + " computer: " + computer.name, entities, user.Identity.Name);
 }
コード例 #25
0
ファイル: Logger.cs プロジェクト: hajeklu/Frycz-pcdb
 public static void logComputer(computer computer, string operationMessage, IPrincipal user)
 {
     logToDB(operationMessage + " computer: " + computer.name, user.Identity.Name);
 }
コード例 #26
0
        public ActionResult save(FormCollection formCollection, int count, computer computerIn, string userInput, Nullable <int> idcomputer_parameters,
                                 Nullable <int> idcomputerBrand, Nullable <int> idcomputerType, string guar)
        {
            //check if all input computer`s names are not same.
            List <computer> computers = new List <computer>();

            for (int i = 1; i <= count; i++)
            {
                computer comp   = new computer();
                string   pcname = formCollection[i.ToString()];
                comp.name = pcname;

                foreach (computer computer in computers)
                {
                    if (computer.name.Equals(pcname))
                    {
                        ModelState.AddModelError("eqcomp", "Computer's names can not be same.");
                        return(returnValidationMessage(computerIn, count, formCollection));
                    }
                }
                computers.Add(comp);
            }


            using (frycz_pcdbEntities entities = new frycz_pcdbEntities())
            {
                for (int i = 1; i <= count; i++)
                {
                    computer comp   = new computer();
                    string   pcname = formCollection[i.ToString()];
                    if (!Validator.validComputerName(pcname))
                    {
                        ModelState.AddModelError("eqcomp", "Some computer name is not valid");
                        return(returnValidationMessage(computerIn, count, formCollection));
                    }

                    if (Validator.checkExistComputer(pcname, entities))
                    {
                        ModelState.AddModelError("eqcomp", "Some computer name is already exist.");
                        return(returnValidationMessage(computerIn, count, formCollection));
                    }

                    try
                    {
                        Frycz_pcdb.user user = Validator.findUser(userInput);
                        comp.iduser = user.iduser;
                    }
                    catch
                    {
                        ModelState.AddModelError("userNotFound", "User not found. ");
                        return(returnValidationMessage(computerIn, count, formCollection));
                    }



                    comp.bpcs_sessions    = computerIn.bpcs_sessions;
                    comp.mac_address      = computerIn.mac_address;
                    comp.serial_number    = computerIn.serial_number;
                    comp.idos             = computerIn.idos;
                    comp.comment          = computerIn.comment;
                    comp.inventory_number = computerIn.inventory_number;
                    if (idcomputer_parameters == null)
                    {
                        comp.idcomputer_parameters = null;
                    }
                    else
                    {
                        comp.computer_parameters =
                            entities.computer_parameters.FirstOrDefault(e =>
                                                                        e.idcomputer_parameters == idcomputer_parameters);
                    }

                    if (idcomputerBrand == null)
                    {
                        comp.idcomputer_brand = null;
                    }
                    else
                    {
                        comp.computer_brand =
                            entities.computer_brand.FirstOrDefault(e => e.idcumputer_brand == idcomputerBrand);
                    }

                    comp.idcomputer_type  = idcomputerType;
                    comp.name             = pcname.ToUpper();
                    comp.guarantee        = computerIn.guarantee;
                    comp.create_time      = DateTime.Now;
                    comp.last_update_time = DateTime.Now;
                    entities.computers.Add(comp);
                    Logger.logComputer(comp, "Add", User, entities);
                }
                entities.SaveChanges();
            }

            return(RedirectToAction("Index", "AllComputer"));
        }
コード例 #27
0
ファイル: Validator.cs プロジェクト: hajeklu/Frycz-pcdb
 public static bool checkExistComputer(computer computer)
 {
     return(checkExistComputer(computer.name));
 }
コード例 #28
0
 return(computer.Memory.GetOrAdd((int)ResolveAddress(computer, parameter), 0));
コード例 #29
0
        public override void Calc()
        {
            com = new computer();
            com.inputProgram = input;
            com.Init();
            com.Calc();

            var res = "";

            foreach (var a in com.outputs)
            {
                res += ((char)a);
            }
            visited.Add("", res);

            toExplore.Push("");

            while (toExplore.Count > 0)
            {
                var p = toExplore.Pop();

                if (p != "")
                {
                    var expRes = explore(p);
                    //  Console.WriteLine("Path: {0}", p);
                    //Console.WriteLine("log: {0}", expRes);
                    //  Console.ReadLine();
                    visited.Add(p, expRes);
                }

                var l = checkDirs(p, visited[p]);

                foreach (var entry in l)
                {
                    toExplore.Push(entry);
                }
            }
            com.Calc();
            var cout = "";

            foreach (var a in com.outputs)
            {
                cout += ((char)a);
            }

            travelTo(pathToGoal);;

            QueueCom("inv");
            com.Calc();

            var itemString = getRes();

            List <string> itemsList = getItems(itemString);

            var comboList = GenerateCombinations(itemsList);


            foreach (var combo in comboList)
            {
                OrganiseInv(combo);
                QueueCom(fullAct(dirToGoal));
                com.Calc();
                cout = getRes();
                if (!cout.Contains("Alert"))
                {
                    var st = cout.IndexOf("typing") + "typing".Length + 1;
                    var ed = cout.IndexOf(" ", st);
                    output = cout.Substring(st, ed - st);
                    break;
                }
            }
        }
コード例 #30
0
        private void makeViewBag(frycz_pcdbEntities entities, computer comp)
        {
            // add type list for drop down list
            var listTypePc = new List <SelectListItem>();

            foreach (var pctype in entities.computer_type.ToList())
            {
                var item = new SelectListItem()
                {
                    Text  = pctype.name,
                    Value = pctype.idcomputer_type.ToString()
                };
                if (comp.computer_type != null)
                {
                    if (pctype.idcomputer_type == comp.idcomputer_type)
                    {
                        item.Selected = true;
                    }
                }

                listTypePc.Add(item);
            }

            ViewBag.type = listTypePc;



            // add list os for dropdown list
            var listOs = new List <SelectListItem>();

            foreach (var os in entities.os.ToList())
            {
                var item = new SelectListItem()
                {
                    Text  = os.name + " x" + os.version,
                    Value = os.idos.ToString()
                };
                if (comp.idos == os.idos)
                {
                    item.Selected = true;
                }
                listOs.Add(item);
            }

            ViewBag.os = listOs;



            var listmodel  = new List <SelectListItem>();
            var modelEmpty = new SelectListItem()
            {
                Text  = null,
                Value = null
            };

            listmodel.Add(modelEmpty);

            foreach (var model in entities.computer_brand.ToList())
            {
                var item = new SelectListItem()
                {
                    Text  = model.model + " " + model.maker,
                    Value = model.idcumputer_brand.ToString()
                };
                if (model.idcumputer_brand == comp.idcomputer_brand)
                {
                    item.Selected = true;
                }
                listmodel.Add(item);
            }

            ViewBag.model = listmodel;


            var listparam = new List <SelectListItem>();
            var Emptyitem = new SelectListItem()
            {
                Text  = null,
                Value = null
            };

            listparam.Add(Emptyitem);



            foreach (var param in entities.computer_parameters.ToList())
            {
                var item = new SelectListItem()
                {
                    Text  = param.processor + " " + param.ram + " GB " + param.hdd + " GB",
                    Value = param.idcomputer_parameters.ToString()
                };
                if (param.idcomputer_parameters == comp.idcomputer_parameters)
                {
                    item.Selected = true;
                }
                listparam.Add(item);
            }

            ViewBag.parameters = listparam;


            if (comp.discardedDate == null)
            {
                ViewBag.discarded = "In use";
            }
            else
            {
                ViewBag.discarded = comp.discardedDate;
            }
        }