Пример #1
0
        public ActionResult Start(int resid, int programid)
        {
            Reservation    r       = Service.Service.FindReservation(resid);
            MachineProgram program = Service.Service.FindProgram(programid);

            Service.Service.StartWash(r, program.Machine1);
            Service.Service.CreateStartedWashCost(r, program);

            return(RedirectToAction("StartWash", new { resid = r.id }));
        }
Пример #2
0
        public static StartedWashCost CreateStartedWashCost(Reservation reservation, MachineProgram machineProgram)
        {
            StartedWashCost cost = new StartedWashCost();

            cost.MachineProgram1 = machineProgram;

            reservation.StartedWashCosts.Add(cost);
            Db.StartedWashCosts.Add(cost);
            Db.SaveChanges();
            return(cost);
        }
Пример #3
0
        public void TestUnPaidWashes1()
        {
            reservation.reservationUsed = true;
            StartedWashCost start1  = new StartedWashCost();
            MachineProgram  program = new MachineProgram();

            start1.MachineProgram1 = program;
            program.price          = 10;

            reservation.StartedWashCosts.Add(start1);


            StartedWashCost start2 = new StartedWashCost();

            start2.MachineProgram1 = program;

            reservation.StartedWashCosts.Add(start2);


            Assert.AreEqual(20, laundryUser.UnPaidWashes());
        }
Пример #4
0
        public void TestFindStartedWash()
        {
            reservation.reservationUsed = true;
            StartedWashCost start1 = new StartedWashCost();

            start1.id = 1;
            MachineProgram program1 = new MachineProgram();
            MachineProgram program2 = new MachineProgram();

            start1.MachineProgram1 = program1;
            program1.price         = 10;
            program2.price         = 12;
            reservation.StartedWashCosts.Add(start1);


            StartedWashCost start2 = new StartedWashCost();

            start2.MachineProgram1 = program2;
            start2.payed           = true;
            start2.id = 2;
            reservation.StartedWashCosts.Add(start2);

            Assert.AreEqual(start1.id, reservation.findStartedWash(program1).id);
        }
Пример #5
0
        /// <summary>
        /// Metodo principale che crea codice G
        /// La string risultante da questo metodo sarà il programma che andrò a stampare.
        /// </summary>
        /// <param name="program">Classe che contiene tutte le informazioni necessarie per creare il programma</param>
        /// <returns>Programma GCODE</returns>
        public string ProcessProgram(MachineProgram program)
        {
            //////////////////////////////////////////////////////
            //////////////////////////////////////////////////////
            ////  !!!!!!!!!!!
            //// La string risultante da questo metodo sarà il programma gcode.
            //// Per ottenere questa stringa puoi procedere come meglio credi.
            //// La classe MachineProgram contiene tutte le info necessarie per creare il programma.
            ////
            //////////////////////////////////////////////////////
            //////////////////////////////////////////////////////

            /*
             * La variabile code contiene il programma gcode che man mano verrà creato.
             */

            var code = new StringBuilder();

            code.AppendLine("%");

            var programNumber     = program.ProgramNumber;
            var commentoProgramma = program.ProgramComment;
            var lastEdit          = program.CreationTime;

            SetProgramNumber(programNumber, commentoProgramma, ref code);

            // Aggiungo linee per il settaggio di del grezzo in cutViewer
            // Todo - magari aggiungere una variabile booleana che abilita o meno l'inserimento di stringhe riguardanti CutViewer
            code.AppendLine(CutViewerHelper.PrintInitialToolPosition(0, 0, 200));
            code.AppendLine(program.CutViewerStockSettingStr);

            // Resetto stato macchina
            ResetMachineStatus();

            // Setto [mm]  o [inch]
            MeausureUnit = program.MeasureUnit;

            if (MeausureUnit == MeasureUnit.Millimeter)
            {
                code.AppendLine("G21 (MM)\n");
            }
            else
            {
                code.AppendLine("G20 (INCH)\n");
            }

            // Contatore incrementale del numero di operazioni , lo uso per stampare
            // es. N10 ..
            var contatoreOperazione = 0;

            /*
             * Itero tutte le operazioni contenute nella variabile program.
             */
            foreach (var programPhase in program.Operazioni)
            {
                if (programPhase == null)
                {
                    continue;
                }
                contatoreOperazione++;

                //Aggiungo il numero di operazione
                code.Append("\nN" + contatoreOperazione + "\n");

                /*
                 * In questo ciclo annidato itero tutte le varie Azioni contenute dentro operazione corrente.
                 */
                foreach (var programAction in programPhase.Azioni)
                {
                    /*
                     * In base al tipo di azione , andrò a richiamare il metodo corretto
                     */
                    CreateCodeFromAction(programAction, ref code);
                }


                DisimpegnoUtensile(ref code, programPhase.DisimpegnoCorto, program.ZSicurezzaNoCambioUtensile);

                code.AppendLine("M1");
                code.AppendLine(string.Empty);
            }

            code.AppendLine(string.Empty);
            DisimpegnoUtensile(ref code);
            code.AppendLine("M30");
            code.AppendLine("%");

            return(code.ToString());
        }