public ActionResult DeleteLinkedList(int id)
        {
            LinkedListSignature model = _db.LinkedListSignatures.Find(id);

            _db.LinkedListSignatures.Remove(model);
            _db.SaveChanges();

            return(RedirectToAction("Index"));
        }
示例#2
0
        public ActionResult Forward(int id)
        {
            // Change current name attribute of routing slip
            //LinkedListSignatureNode llsn = _db.LinkedListSignatureNodes.SingleOrDefault(linkedlist => linkedlist.RoutingSlipID == id && linkedlist.Data.SignatureName == currname);
            LinkedListSignature     lls  = _db.LinkedListSignatures.SingleOrDefault(link => link.RoutingSlipID == id);
            LinkedListSignatureNode llsn = _db.LinkedListSignatureNodes.SingleOrDefault(node => node.Data.SignatureName == lls.CurrentName && node.RoutingSlipID == id);

            RoutingSlip rs = _db.RoutingSlips.Find(id);

            rs.LinkedListSignature.CurrentName = llsn.NextSNode.Data.SignatureName;
            //rs.LinkedListSignature.CurrentName = llsn.NextSNode.Data.SignatureName;
            //var newCurrent = llsn.NextSNode.Data.SignatureName;
            llsn.Data.DateRouted = DateTime.Now;
            //var model = _db.RoutingSlips.Find(id);
            //model.LinkedListSignature.CurrentName = newCurrent;

            if (ModelState.IsValid)
            {
                _db.SaveChanges();
                return(RedirectToAction("Index", "RoutingSlip"));
            }
            return(View(id));
        }
        public ActionResult CreateLinkedList(int id)
        {
            var model = _db.RoutingSlips.Find(id);


            Signature Initiator = new Signature
            {
                SignatureName = model.RequestingEmployee,
                DateRouted    = model.DateSubmitted,
                Status        = "Originator",
                RoutingSlipID = id,
            };

            LinkedListSignature lls = new LinkedListSignature
            {
                RoutingSlipID = id
            };
            LinkedListSignatureNode headll = new LinkedListSignatureNode
            {
                Data          = Initiator,
                RoutingSlipID = id
            };
            List <LinkedListSignatureNode> llsn = new List <LinkedListSignatureNode>
            {
                headll
            };
            LinkedListSignatureNode current = new LinkedListSignatureNode();

            current = headll;

            //var count = 2;
            if (model.ForwardTo.Contains(","))
            {
                model.ForwardTo = model.ForwardTo.Substring(0, model.ForwardTo.Length - 1);
                string[]      namesArray = model.ForwardTo.Split(',');
                List <string> namesList  = new List <string>(namesArray.Length);

                for (var i = 0; i < namesArray.Length; i++)
                {
                    namesArray[i] = namesArray[i].Trim();

                    Signature s = new Signature
                    {
                        SignatureName = namesArray[i],
                        Status        = "N/A",
                        RoutingSlipID = id,
                        //        //SignatureID = count++,
                    };
                    LinkedListSignatureNode sNode = new LinkedListSignatureNode
                    {
                        Data          = s,
                        RoutingSlipID = id
                    };
                    if (i == 0)
                    {
                        lls.CurrentName = sNode.Data.SignatureName;
                    }

                    llsn.Add(sNode);
                }
            }
            else
            {
                Signature s = new Signature
                {
                    SignatureName = model.ForwardTo,
                    Status        = "N/A",
                    RoutingSlipID = id,
                };
                LinkedListSignatureNode sNode = new LinkedListSignatureNode
                {
                    Data          = s,
                    RoutingSlipID = id
                };


                //current.Next = sNode;
                llsn.Add(current);
                //sNode.Prev = current;

                current = sNode;
                llsn.Add(sNode);
                lls.CurrentName = sNode.Data.SignatureName;
            }

            lls.LLSNodes = llsn;
            model.LinkedListSignature = lls;

            if (ModelState.IsValid)
            {
                _db.SaveChanges();
                return(RedirectToAction("SetPrevNext", model.RoutingSlipID)); //model
            }
            return(View(model));
        }