// GET: InvCarRecords/Create
        public ActionResult Create(int?carId)
        {
            InvCarRecord record = new InvCarRecord();

            if (carId != null)
            {
                record.InvCarRecordTypeId = 1;
                record.InvItemId          = 1;
                record.dtDone             = DateTime.Now;
                if (db.InvCarGateControls.Where(s => s.InvItemId == (int)carId).OrderByDescending(s => s.dtControl).FirstOrDefault() != null)
                {
                    record.Odometer = int.Parse(db.InvCarGateControls.Where(s => s.InvItemId == (int)carId).OrderByDescending(s => s.dtControl).FirstOrDefault().Odometer);
                }
            }

            var invItems = db.InvItems.Where(s => s.ViewLabel == "UNIT").Select(
                s => new SelectListItem
            {
                Value = s.Id.ToString(),
                Text  = s.ItemCode.ToString() + " - " + s.Description
            }
                );


            ViewBag.InvCarRecordTypeId = new SelectList(db.InvCarRecordTypes, "Id", "Description");
            ViewBag.InvItemId          = new SelectList(invItems, "Value", "Text", carId);
            return(View(record));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            InvCarRecord invCarRecord = db.InvCarRecords.Find(id);

            db.InvCarRecords.Remove(invCarRecord);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "Id,InvItemId,InvCarRecordTypeId,Odometer,dtDone,NextOdometer,NextSched,Remarks")] InvCarRecord invCarRecord)
 {
     if (ModelState.IsValid)
     {
         db.Entry(invCarRecord).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.InvCarRecordTypeId = new SelectList(db.InvCarRecordTypes, "Id", "Description", invCarRecord.InvCarRecordTypeId);
     ViewBag.InvItemId          = new SelectList(db.InvItems, "Id", "ItemCode", invCarRecord.InvItemId);
     return(View(invCarRecord));
 }
        // GET: InvCarRecords/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InvCarRecord invCarRecord = db.InvCarRecords.Find(id);

            if (invCarRecord == null)
            {
                return(HttpNotFound());
            }
            return(View(invCarRecord));
        }
        // GET: InvCarRecords/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            InvCarRecord invCarRecord = db.InvCarRecords.Find(id);

            if (invCarRecord == null)
            {
                return(HttpNotFound());
            }
            ViewBag.InvCarRecordTypeId = new SelectList(db.InvCarRecordTypes, "Id", "Description", invCarRecord.InvCarRecordTypeId);
            ViewBag.InvItemId          = new SelectList(db.InvItems, "Id", "ItemCode", invCarRecord.InvItemId);
            return(View(invCarRecord));
        }
        public ActionResult Create([Bind(Include = "Id,InvItemId,InvCarRecordTypeId,Odometer,dtDone,NextOdometer,NextSched,Remarks")] InvCarRecord invCarRecord)
        {
            if (ModelState.IsValid)
            {
                //get record type
                InvCarRecordType recordType = db.InvCarRecordTypes.Where(r => r.Id == invCarRecord.InvCarRecordTypeId).FirstOrDefault();
                int estOdo  = recordType.OdoInterval;
                int estDays = recordType.DaysInterval;

                //add estimated odometer and next schedule
                invCarRecord.NextOdometer = invCarRecord.Odometer + estOdo;
                invCarRecord.NextSched    = (DateTime)invCarRecord.dtDone.AddDays(estDays);

                db.InvCarRecords.Add(invCarRecord);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.InvCarRecordTypeId = new SelectList(db.InvCarRecordTypes, "Id", "Description", invCarRecord.InvCarRecordTypeId);
            ViewBag.InvItemId          = new SelectList(db.InvItems, "Id", "ItemCode", invCarRecord.InvItemId);
            return(View(invCarRecord));
        }