public ActionResult PrintOrder(int?id)
        {
            PrintOrderContext context = new PrintOrderContext();

            context.Form       = new PrintOrderModel();
            context.Form.Claim = (id.HasValue ? id.ToString() : "");
            ActionResult result;

            if (WebSecurity.IsAuthenticated)
            {
                int guestId = WebSecurity.CurrentUserId;
                System.Collections.Generic.List <GuestClaim> claims = GuestProvider.GetLinkedClaims(UrlLanguage.CurrentLanguage, guestId);
                int?detailedId = null;
                if (id.HasValue)
                {
                    if (claims.FirstOrDefault((GuestClaim m) => m.claim == id.Value) != null)
                    {
                        detailedId = new int?(id.Value);
                    }
                }
                if (detailedId.HasValue)
                {
                    result = this.BuildVoucher(detailedId.Value);
                    return(result);
                }
                context.NotFound = true;
            }
            result = base.View(context);
            return(result);
        }
        public ActionResult PrintOrderPost([Bind(Prefix = "Form")] PrintOrderModel model)
        {
            PrintOrderContext context = new PrintOrderContext {
                Form = model
            };
            int result = 0;

            if (base.ModelState.IsValid && int.TryParse(model.Claim, out result))
            {
                List <GuestClaim> list = GuestProvider.FindGuestClaims(UrlLanguage.CurrentLanguage, 0, model.Name, new int?(result), null);
                if ((list != null) && (list.Count > 0))
                {
                    return(this.BuildVoucher(result));
                }
                context.NotFound = true;
            }
            return(base.View(context));
        }