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 })); }
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); }
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()); }
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); }
/// <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()); }