public ActionResult ResultList(int?orderId)
        {
            Session["ORDERID"] = (int)orderId;

            Models.HisOrder order      = db.HisOrders.Find((int)orderId);
            var             hisResults = db.HisResults.Include(h => h.HisOrder).Include(h => h.HisResultField).Where(d => d.HisOrderId == orderId);

            if (hisResults.Count() == 0)
            {
                //generate fields results

                //get order type
                int ordertype = order.HisOrderTypeId;

                //get fields for the type
                var OrderTypeFields = db.HisResultFields.Where(d => d.HisOrderTypeId == ordertype && d.AddForType == 1);

                //add types to result
                foreach (var tmpField in OrderTypeFields)
                {
                    Models.HisResult hrf = new HisResult();
                    hrf.HisOrderId       = (int)orderId;
                    hrf.HisResultFieldId = tmpField.Id;
                    hrf.Remarks          = "";

                    db.HisResults.Add(hrf);
                }

                db.SaveChanges();
            }

            ViewBag.Order = order;

            return(View(hisResults.ToList()));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            HisResult hisResult = db.HisResults.Find(id);

            db.HisResults.Remove(hisResult);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Create([Bind(Include = "Id,HisOrderId,HisResultFieldId,Value1,Value2,Value3,Remarks")] HisResult hisResult)
        {
            if (ModelState.IsValid)
            {
                db.HisResults.Add(hisResult);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.HisOrderId       = new SelectList(db.HisOrders, "Id", "SpecimenId", hisResult.HisOrderId);
            ViewBag.HisResultFieldId = new SelectList(db.HisResultFields, "Id", "Name", hisResult.HisResultFieldId);
            return(View(hisResult));
        }
        // GET: HIS10/HisResults/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HisResult hisResult = db.HisResults.Find(id);

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

            if (hisResult == null)
            {
                return(HttpNotFound());
            }
            ViewBag.HisOrderId       = new SelectList(db.HisOrders, "Id", "SpecimenId", hisResult.HisOrderId);
            ViewBag.HisResultFieldId = new SelectList(db.HisResultFields, "Id", "Name", hisResult.HisResultFieldId);
            return(View(hisResult));
        }
        public ActionResult Edit([Bind(Include = "Id,HisOrderId,HisResultFieldId,Value1,Value2,Value3,Remarks")] HisResult hisResult)
        {
            if (ModelState.IsValid)
            {
                db.Entry(hisResult).State = EntityState.Modified;

                var hisOrder = db.HisOrders.Find(hisResult.HisOrderId);
                if (hisOrder.dtProcessed == null)
                {
                    hisOrder.dtProcessed     = DateTime.Now;
                    db.Entry(hisOrder).State = EntityState.Modified;
                }

                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            ViewBag.HisOrderId       = new SelectList(db.HisOrders, "Id", "SpecimenId", hisResult.HisOrderId);
            ViewBag.HisResultFieldId = new SelectList(db.HisResultFields, "Id", "Name", hisResult.HisResultFieldId);
            return(View(hisResult));
        }