상속: MonoBehaviour
예제 #1
0
파일: Tap.cs 프로젝트: betajaen/pdgj-mar-17
    Pour GetNewPour()
    {
        Pour pour = null;

        if (pours != null && pours.Count > 0)
        {
            foreach (var p in pours)
            {
                if (p.deleted)
                {
                    pour         = p;
                    pour.deleted = false;
                    break;
                }
            }
        }

        if (pour == null)
        {
            pour = new Pour();
            pours.Add(pour);
        }

        return(pour);
    }
예제 #2
0
파일: Tap.cs 프로젝트: betajaen/pdgj-mar-17
 void DeletePour(Pour pour)
 {
     pour.deleted    = true;
     pour.isDown     = false;
     pour.liquid     = null;
     pour.downTime   = 0.0f;
     pour.upTime     = 0.0f;
     pour.liquidType = LiquidType.None;
 }
예제 #3
0
        public ActionResult EditPour(int guid)
        {
            Pour model = CarraraSQL.Pours.Find(guid);
            RouteValueDictionary parameters = Request.QueryString.ToRouteValues();

            if (model == null)
            {
                TempData["Page.Title"] = "Unable to Locate Pour with Id " + guid.ToString() + "!";
                return(RedirectToAction("Index", parameters));
            }
            Page.Title = TempData["Page.Title"] != null ? TempData["Page.Title"].ToString() : "Edit Pour ID " + model.PourID;
            return(View("Manage", model));
        }
예제 #4
0
        public ActionResult AddPour(Pour model)
        {
            RouteValueDictionary parameters = Request.QueryString.ToRouteValues();

            if (ModelState.IsValid)
            {
                CarraraSQL.Pours.Add(model);
                CarraraSQL.SaveChanges();
                TempData["Page.Title"] = "The Pour Was Added Successfully!";
                return(RedirectToAction("Index", parameters));
            }
            // Failure is always an option...
            Page.Title   = "The Pour Was NOT Added!";
            Page.Message = "Please correct the following errors:";
            return(View("Manage", model));
        }
        public async Task <IActionResult> ProcessPour(Pour pour)
        {
            try
            {
                await TapService.ProcessPour(pour);

                List <Tap> tapListDisplays = await TapService.GetOnTap();

                await TapHubContext.Clients.All.SendAsync("TapData", tapListDisplays);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
예제 #6
0
 public ActionResult AddPourDetail(PourDetailView model)
 {
     try
     {
         Mark mark = new Mark
         {
             JobID      = model.JobID,
             MarkNumber = model.MarkNumber,
             Width      = model.Width,
             Length     = model.Length,
             Thickness  = model.Thickness,
             MarkTypeID = model.MarkTypeID,
             Weight     = model.Weight,
             SquareFeet = model.SquareFeet
         };
         CarraraSQL.Marks.Add(mark);
         PourDetail pourDetail = new PourDetail
         {
             Quantity  = model.Quantity,
             MarkRange = model.MarkRange,
             Camber    = model.Camber,
             MarkID    = mark.MarkID,
             PourID    = model.PourID
         };
         CarraraSQL.PourDetails.Add(pourDetail);
         CarraraSQL.SaveChanges();
         Pour pour = CarraraSQL.Pours.Find(model.PourID);
         return(PartialView("_PourDetail", new PourDetail
         {
             PourID = model.PourID,
             Pour = pour,
             DefaultJobID = pour.DefaultJobID,
             DefaultMarkTypeID = pour.DefaultMarkTypeID
         }));
     }
     catch (Exception ex)
     {
         string message = ex.Message;
         if (ex.InnerException != null)
         {
             message = ex.InnerException.Message;
         }
         return(Content(string.Concat("Whoops…", message), "text/plain"));
     }
 }
예제 #7
0
 public ActionResult AddNonConformingReport(NonConformingReport model)
 {
     try
     {
         CarraraSQL.NonConformingReports.Add(model);
         CarraraSQL.SaveChanges();
         Pour pour = CarraraSQL.Pours.Find(model.PourID);
         return(PartialView("_NonConformingReport", new NonConformingReport {
             JobID = pour.DefaultJobID.Value,
             PourID = pour.PourID
         }));
     }
     catch (Exception ex)
     {
         string message = ex.Message;
         if (ex.InnerException != null)
         {
             message = ex.InnerException.Message;
         }
         return(Content(string.Concat("Whoops…", message), "text/plain"));
     }
 }
예제 #8
0
        static void Main(string[] args)
        {
            Fill   FillBottle = bottle.AddVolume;
            Pour   PourBottle = bottle.MinusVolume;
            string answer;

            do
            {
                Console.WriteLine("Что вы хотите сделать с бутылкой? \n1. Наполнить \n2. Вылить \nДля выхода из программы введите exit");
                answer = Console.ReadLine();

                if (answer == "1")
                {
                    Console.WriteLine("На сколько вы хотите наполнить бутылку?");
                    FillBottle(int.Parse(Console.ReadLine()));
                }
                else if (answer == "2")
                {
                    Console.WriteLine("На сколько вы хотите вылить бутылку?");
                    PourBottle(int.Parse(Console.ReadLine()));
                }
            } while (answer != "exit");
        }
예제 #9
0
        public ActionResult EditPour(Pour model)
        {
            RouteValueDictionary parameters = Request.QueryString.ToRouteValues();

            Pour entity = CarraraSQL.Pours.Find(model.PourID);

            if (model.Action == "Delete")
            {
                try
                {
                    CarraraSQL.Pours.Attach(model);
                    CarraraSQL.Pours.Remove(model);
                    CarraraSQL.SaveChanges();
                    TempData["Page.Title"] = "The Pour Was Deleted Successfully";
                    return(RedirectToAction("Index", parameters));
                }
                catch (Exception ex)
                {
                    Page.Title = "The Pour Was NOT Deleted! " + ex.Message;
                    return(View("Manage", model));
                }
            }
            if (ModelState.IsValid)
            {
                entity.BedID             = model.BedID;
                entity.MixID             = model.MixID;
                entity.Thickness         = model.Thickness;
                entity.ThreeInchStrands  = model.ThreeInchStrands;
                entity.PourDate          = model.PourDate;
                entity.PourTime          = model.PourTime;
                entity.YardsConcrete     = model.YardsConcrete;
                entity.Location          = model.Location;
                entity.FiveInchStrands   = model.FiveInchStrands;
                entity.PourStatusID      = model.PourStatusID;
                entity.YardsGrout        = model.YardsGrout;
                entity.SlipNumber        = model.SlipNumber;
                entity.SixInchStrands    = model.SixInchStrands;
                entity.JackNumber        = model.JackNumber;
                entity.PourScheduleNotes = model.PourScheduleNotes;
                entity.Notes             = model.Notes;

                entity.DefaultJobID      = model.DefaultJobID;
                entity.DefaultMarkTypeID = model.DefaultMarkTypeID;

                entity.Air                 = model.Air;
                entity.Slump               = model.Slump;
                entity.VSI                 = model.VSI;
                entity.UnitWeight          = model.UnitWeight;
                entity.Yield               = model.Yield;
                entity.AmbientTemperature  = model.AmbientTemperature;
                entity.ConcreteTemperature = model.ConcreteTemperature;
                entity.NumberOfCylinders   = model.NumberOfCylinders;
                entity.Workability         = model.Workability;
                entity.Weather             = model.Weather;


                entity.ReleaseTest1       = model.ReleaseTest1;
                entity.ReleaseTest2       = model.ReleaseTest2;
                entity.ReleaseTestAverage = ((model.ReleaseTest1.HasValue ? model.ReleaseTest1.Value : 0) + (model.ReleaseTest2.HasValue ? model.ReleaseTest2.Value : 0)) / 2;
                entity.ReleaseTestDate    = model.ReleaseTestDate;

                entity.C28DayTest1       = model.C28DayTest1;
                entity.C28DayTest2       = model.C28DayTest2;
                entity.C28DayTestAverage = ((model.C28DayTest1.HasValue ? model.C28DayTest1.Value : 0) + (model.C28DayTest2.HasValue ? model.C28DayTest2.Value : 0)) / 2;
                entity.C28DayTestDate    = model.C28DayTestDate;

                entity.OtherTest1       = model.OtherTest1;
                entity.OtherTest2       = model.OtherTest2;
                entity.OtherTestAverage = ((model.OtherTest1.HasValue ? model.OtherTest1.Value : 0) + (model.OtherTest2.HasValue ? model.OtherTest2.Value : 0)) / 2;
                entity.OtherTestDate    = model.OtherTestDate;

                entity.SpecAir             = model.SpecAir;
                entity.SpecAirError        = model.SpecAirError;
                entity.SpecMaxSlump        = model.SpecMaxSlump;
                entity.SpecReleaseStrength = model.SpecReleaseStrength;
                entity.Spec28DayStrength   = model.Spec28DayStrength;
                entity.SpecNotes           = model.SpecNotes;
                CarraraSQL.SaveChanges();
                TempData["Page.Title"] = "The Pour Was Updated Successfully";
                return(RedirectToAction("Index", parameters));
            }
            Page.Title   = "The Pour Was NOT Updated!";
            Page.Message = "Please correct the following errors:";
            return(View("Manage", model));
        }
예제 #10
0
    private void InitHandlers(VerbRoutines verbRoutines)
    {
        Func <string, ObjectRef> byRef = s => state.Objects.Find(s);
        Func <string, ObjectId>  byId  = s => state.Objects.IdOf(s);

        verbRoutines.Add("GO", Go);
        verbRoutines.Add("GET", byRef, Get);
        verbRoutines.Add("TAK", byRef, Get);
        verbRoutines.Add("DRO", byRef, Drop);
        verbRoutines.Add("THR", byRef, Drop);
        verbRoutines.Add("INV", Inventory);
        verbRoutines.Add("I", Inventory);
        verbRoutines.Add("QUI", Quit);

        Look look = new Look(state, PRINT);

        verbRoutines.Add("LOO", byId, Eq(ObjectId.Blank, look.Blank), Else <ObjectId>(look.Any));
        verbRoutines.Add("L", byId, Eq(ObjectId.Blank, look.Blank), Else <ObjectId>(look.Any));
        verbRoutines.Add("EXA", byId, look.Any);

        Read read = new Read(state, PRINT);

        verbRoutines.Add("REA", byId, Eq(ObjectId.Diary, read.Diary), Eq(ObjectId.Dictionary, read.Dictionary), Eq(ObjectId.Bottle, read.Bottle), Else <ObjectId>(read.Unknown));

        Open open = new Open(state, PRINT);

        verbRoutines.Add("OPE", byId, Eq(ObjectId.Box, open.Box), Eq(ObjectId.Cabinet, open.Cabinet), Eq(ObjectId.Case, open.Case), Else <ObjectId>(open.Unknown));

        Pour pour = new Pour(state, PRINT);

        verbRoutines.Add("POU", byId, Eq(ObjectId.Salt, pour.Salt), Eq(ObjectId.Bottle, pour.Formula), Else <ObjectId>(pour.Unknown));

        Climb climb = new Climb(state, PRINT);

        verbRoutines.Add("CLI", byId, Eq(ObjectId.Tree, climb.Tree), Eq(ObjectId.Ladder, climb.Ladder), Else <ObjectId>(climb.Unknown));

        Jump jump = new Jump(state, PRINT);

        verbRoutines.Add("JUM", jump.Any);

        Dig dig = new Dig(state, PRINT);

        verbRoutines.Add("DIG", byId, Eq(Any(ObjectId.Blank, ObjectId.Hole, ObjectId.Ground), dig.Hole), Else <ObjectId>(dig.Unknown));

        Row row = new Row(state, PRINT);

        verbRoutines.Add("ROW", byId, Eq(Any(ObjectId.Boat, ObjectId.Blank), row.Boat), Else <ObjectId>(row.Unknown));

        Wave wave = new Wave(state, PRINT);

        verbRoutines.Add("WAV", byId, Eq(ObjectId.Fan, wave.Fan), Else <ObjectId>(wave.Unknown));

        Leave leave = new Leave(state, PRINT);

        verbRoutines.Add("LEA", byId, leave.Any);
        verbRoutines.Add("EXI", byId, leave.Any);

        Fight fight = new Fight(state, PRINT);

        verbRoutines.Add("FIG", byId, Eq(ObjectId.Blank, fight.Blank), Eq(ObjectId.Guard, fight.Guard), Else <ObjectId>(fight.Unknown));

        Wear wear = new Wear(state, PRINT);

        verbRoutines.Add("WEA", byId, Eq(ObjectId.Gloves, wear.Gloves), Else <ObjectId>(wear.Unknown));
    }
예제 #11
0
        public async Task ProcessPour(Pour pour)
        {
            int batchId = await BatchDataProvider.GetBatchOnTap(pour.TapNumber);

            await BatchDataProvider.SubtractPour(batchId, pour.AmountPoured);
        }
예제 #12
0
파일: Tap.cs 프로젝트: betajaen/pdgj-mar-17
    GlassLiquid Pour(LiquidType lt, float pourSize)
    {
        GlassLiquid glassLiquid = null;
        Pour        pour        = null;

        pourSize *= 0.35f; // Difficulty modifier

        for (int ii = 0; ii < pours.Count; ii++)
        {
            var p = pours[ii];
            if (p.liquidType == lt)
            {
                pour = p;
                break;
            }
        }

        if (pour != null)
        {
            pour.isDown    = true;
            pour.downTime += Time.deltaTime;
            pour.pourRate  = pourSize;
        }
        else
        {
            pour            = GetNewPour();
            pour.liquidType = lt;

            glassLiquid = null;

            foreach (var liquid in Glass.liquids)
            {
                if (liquid.type == lt)
                {
                    glassLiquid = liquid;
                    break;
                }
            }

            if (glassLiquid == null)
            {
                for (int ii = 0; ii < Glass.liquids.Count; ii++)
                {
                    var liquid = Glass.liquids[ii];
                    liquid.animate = false;
                }

                glassLiquid                = new GlassLiquid();
                glassLiquid.amount         = 0.0f;
                glassLiquid.type           = lt;
                glassLiquid.animationTimer = Time.time;
                Glass.liquidsOrderChanged  = true;
                pour.liquid                = glassLiquid;

                GlassLiquid topLiquid = Glass.GetTopLiquid();

                bool hasHead = topLiquid != null && topLiquid.type == LiquidType.BeerHead;
                bool isHead  = (lt == LiquidType.BeerHead);

                if (isHead)
                {
                    glassLiquid.animate = true;
                    Glass.liquids.Add(glassLiquid);
                    Glass.BeerHead      = glassLiquid;
                    Glass.BeerHeadTimer = 0.0f;

                    Debug.Log("Beer Head Add");
                }
                else if (hasHead || Glass.Sum >= 1.0f)
                {
                    glassLiquid.animate = false;
                    Glass.liquids.Insert(0, glassLiquid);
                }
                else
                {
                    glassLiquid.animate = true;
                    Glass.liquids.Add(glassLiquid);
                }
            }
            else
            {
                pour.liquid = glassLiquid;
            }

            pour.downTime = 0.0f;
            pour.isDown   = true;
            pour.pourRate = pourSize;
        }

        return(glassLiquid);
    }