コード例 #1
0
        public ActionResult OrderSummary(int?id)
        {
            var workOrders = db.WorkOrders.Include(w => w.Client).Include(w => w.QuoteEstimate);
            List <AssayOrderWithTestResults> AssayOrderList = new List <AssayOrderWithTestResults>();

            IEnumerable <AssayOrder> AssayList   = db.AssayOrders.ToList();
            IEnumerable <TestResult> TestResList = db.TestResults.ToList();

            foreach (AssayOrder item  in AssayList)
            {
                if (item.WorkOrderID == id)
                {
                    AssayOrderWithTestResults assayOrder = new AssayOrderWithTestResults();
                    assayOrder.AssayOrder = item;

                    foreach (TestResult val in TestResList)
                    {
                        if (val.AssayOrderID == item.AssayOrderID)
                        {
                            assayOrder.testResults.Add(val);
                        }
                    }
                    AssayOrderList.Add(assayOrder);
                }
            }

            return(View(AssayOrderList));
        }
コード例 #2
0
        // GET: AssayOrder/Edit/5
        public ActionResult Edit(int?id, int?WorkOrderID)
        {
            AssayOrderWithTestResults assayOrderWithTestResults = new AssayOrderWithTestResults();

            ViewBag.WorkOrderID = WorkOrderID;
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AssayOrder assayOrder = db.AssayOrders.Find(id);

            if (assayOrder == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PriorityLevelID = new SelectList(db.PriorityLevels, "PriorityLevelID", "ModifiedBy", assayOrder.PriorityLevelID);
            ViewBag.AssayID         = new SelectList(db.ProtocolNotebooks, "AssayID", "AssayName", assayOrder.AssayID);
            assayOrderWithTestResults.AssayOrder = assayOrder;
            IEnumerable <TestResult> TestResList = db.TestResults.ToList();

            foreach (TestResult val in TestResList)
            {
                if (val.AssayOrderID == assayOrder.AssayOrderID)
                {
                    assayOrderWithTestResults.testResults.Add(val);
                }
            }
            return(View(assayOrderWithTestResults));
        }
コード例 #3
0
        public ActionResult Edit([Bind(Include = "AssayOrderID,WorkOrderID,PriorityLevelID,AssayID,ModifiedBy,ModifiedDate,CreatedBy,CreatedDate,CompoundID")] AssayOrder assayOrder, int?WorkOrderID)
        {
            AssayOrderWithTestResults assayOrderWithTestResults = new AssayOrderWithTestResults();

            if (ModelState.IsValid)
            {
                db.Entry(assayOrder).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Details", "WorkOrders", new { id = assayOrder.WorkOrderID }));
            }
            ViewBag.PriorityLevelID = new SelectList(db.PriorityLevels, "PriorityLevelID", "ModifiedBy", assayOrder.PriorityLevelID);
            ViewBag.AssayID         = new SelectList(db.ProtocolNotebooks, "AssayID", "AssayName", assayOrder.AssayID);
            assayOrderWithTestResults.AssayOrder = assayOrder;
            return(View(assayOrderWithTestResults));
        }
コード例 #4
0
        // GET: Client
        public ActionResult ClientOrderStatus(int?ordernum)
        {
            if (!IsClient())
            {
                RedirectToAction("Index");
            }
            ViewBag.ordernumber = ordernum;

            //need a list of assays where the work order is equal to the ordernum

            List <AssayOrderWithTestResults> AssayOrderList = new List <AssayOrderWithTestResults>();

            //List<AssayOrder> assays = new List<AssayOrder>();

            IEnumerable <AssayOrder> AssayList   = db.AssayOrders.ToList();
            IEnumerable <TestResult> TestResList = db.TestResults.ToList();

            //Dictionary<int, TestResult> TestResDictionary = new Dictionary<int, TestResult>();
            foreach (AssayOrder item in AssayList)
            {
                if (item.WorkOrderID == ordernum)
                {
                    AssayOrderWithTestResults assayOrder = new AssayOrderWithTestResults();
                    //assays.Add(item);
                    assayOrder.AssayOrder = item;

                    foreach (TestResult val in TestResList)
                    {
                        if (val.AssayOrderID == item.AssayOrderID)
                        {
                            //TestResDictionary.Add(item.AssayOrderID, val);
                            assayOrder.testResults.Add(val);
                        }
                    }
                    AssayOrderList.Add(assayOrder);
                }
            }

            //ViewBag.testresults = TestResDictionary;

            return(View(AssayOrderList));
        }
コード例 #5
0
        // GET: WorkOrders/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            WorkOrder workOrder = db.WorkOrders.Find(id);

            if (workOrder == null)
            {
                return(HttpNotFound());
            }
            var workOrders = db.WorkOrders.Include(w => w.Client).Include(w => w.QuoteEstimate);

            WorkOrderWithDetails workOrderWithDetails = new WorkOrderWithDetails();

            workOrderWithDetails.workOrder = workOrder;
            IEnumerable <AssayOrder> AssayList   = db.AssayOrders.ToList();
            IEnumerable <TestResult> TestResList = db.TestResults.ToList();

            foreach (AssayOrder item in AssayList)
            {
                if (item.WorkOrderID == id)
                {
                    AssayOrderWithTestResults assayOrder = new AssayOrderWithTestResults();
                    assayOrder.AssayOrder = item;

                    foreach (TestResult val in TestResList)
                    {
                        if (val.AssayOrderID == item.AssayOrderID)
                        {
                            assayOrder.testResults.Add(val);
                        }
                    }
                    workOrderWithDetails.assayOrderWithTestResultsList.Add(assayOrder);
                }
            }
            ViewBag.ClientID = new SelectList(db.Clients, "ClientID", "CompanyName", workOrder.ClientID);
            ViewBag.QuoteID  = new SelectList(db.QuoteEstimates, "QuoteID", "ModifiedBy", workOrder.QuoteID);

            return(View(workOrderWithDetails));
        }
コード例 #6
0
        public async System.Threading.Tasks.Task <ActionResult> CreateWorkOrderReport(int workorderid)
        {
            IEnumerable <AssayOrder> assayOrderList = db.AssayOrders.ToList();
            IEnumerable <TestResult> ResultsList    = db.TestResults.ToList();
            List <AssayOrder>        myAssays       = new List <AssayOrder>();
            WorkOrderWithDetails     myOrder        = new WorkOrderWithDetails();

            myOrder.workOrder        = db.WorkOrders.Find(workorderid);
            myOrder.workOrder.Client = db.Clients.Find(myOrder.workOrder.ClientID);
            foreach (AssayOrder assay in assayOrderList)
            {
                if (assay.WorkOrderID == workorderid)
                {
                    AssayOrderWithTestResults myItem = new AssayOrderWithTestResults();
                    myItem.AssayOrder = assay;
                    foreach (TestResult myTest in ResultsList)
                    {
                        if (myTest.AssayOrderID == assay.AssayOrderID)
                        {
                            myItem.testResults.Add(myTest);
                        }
                    }
                    myOrder.assayOrderWithTestResultsList.Add(myItem);
                }
            }



            var body = "<div style='width:800px;margin-left:auto; margin-right:auto;'>" +
                       "<div style='text-align:center;'>" +
                       "<h2> Northwest Labs</h2>" +
                       "<h3> Order Number: " + myOrder.workOrder.WorkOrderID + "</h3>" +
                       "</div>" +
                       "<div>" +
                       "<p><b>Client Name:</b> " + myOrder.workOrder.Client.CompanyName + "</p>" +
                       "<p><b>Address Line 1:</b> " + myOrder.workOrder.Client.Address1 + "</p>" +
                       "<p><b>Address Line 2:</b> " + myOrder.workOrder.Client.Address2 + "</p>" +
                       "<p><b>Contact Name:</b> " + myOrder.workOrder.Client.ContactFirstName + " " + myOrder.workOrder.Client.ContactLastName + "</p>" +
                       "<p><b>Phone:</b> " + myOrder.workOrder.Client.Phone + "</p>" +
                       "<p><b>Email:</b> " + myOrder.workOrder.Client.Email + "</p>" +
                       "</div>" +
                       "<div>";

            foreach (NorthWestLabs.Models.AssayOrderWithTestResults item in myOrder.assayOrderWithTestResultsList)
            {
                body += "<h3>Compound ID:</h3> " + item.AssayOrder.CompoundID +
                        "<div>";
                foreach (NorthWestLabs.Models.TestResult result in item.testResults)
                {
                    body += "<ul>" +
                            "<li>Status: " + result.Status.StatusName + "</li>" +
                            "<li>Test Tube: " + result.TestTubeID + "</li>" +
                            "<li>Test ID: " + result.TestID + "</li>" +
                            "</ul>";
                }
                body += "</div>" +
                        "<br />";
            }
            body += "</div><div></div></div>";



            var message = new MailMessage();

            message.To.Add(new MailAddress(myOrder.workOrder.Client.Email));                // replace with valid value
            message.From       = new MailAddress("*****@*****.**", "Northwest Labs"); // replace with valid value
            message.Subject    = "Northwest Labs - Work Order Report";
            message.Body       = string.Format(body);
            message.IsBodyHtml = true;
            //message.Attachments() add attachments

            using (var smtp = new SmtpClient())
            {
                var credential = new NetworkCredential
                {
                    UserName = "******", // replace with valid value
                    Password = "******"    // replace with valid value
                };
                smtp.Credentials = credential;
                smtp.Host        = "smtp.gmail.com";
                smtp.Port        = 587;
                smtp.EnableSsl   = true;
                await smtp.SendMailAsync(message);
            }



            return(View(myOrder));
        }