Exemple #1
0
    protected void RefreshTemplateList()
    {
        List <EndorsementType> lst = new List <EndorsementType>(EndorsementType.LoadTemplates(mfbSearchTemplates.SearchText));

        if (lst.Count == 0) // if nothing found, use the custom template
        {
            lst.Add(EndorsementType.GetEndorsementByID(1));
        }

        cmbTemplates.DataSource     = lst;
        cmbTemplates.DataValueField = "id";
        cmbTemplates.DataTextField  = "FullTitle";
        cmbTemplates.DataBind();

        int currentEndorsementID = mfbEditEndorsement1.EndorsementID;

        if (lst.Find(et => et.ID == currentEndorsementID) == null)  // restricted list doesn't have active template - select the first one.
        {
            cmbTemplates.SelectedIndex = 0;
            UpdateTemplate();
        }
        else if (currentEndorsementID.ToString(CultureInfo.InvariantCulture) != cmbTemplates.SelectedValue)
        {
            UpdateTemplate();
        }
    }
Exemple #2
0
 public Endorsement(Company company, EndorsementType type, int years, int totalValue, double agentPercentage)
 {
     Company            = company;
     EndorsementType    = type;
     Years              = years;
     TotalValue         = totalValue;
     AgentPercentage    = agentPercentage;
     MonthlyInstallment = CalculateMonthlyInstallment(TotalValue, Years);
 }
Exemple #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Master.Title  = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.TitleTraining, Branding.CurrentBrand.AppName);
        Master.SelectedTab = tabID.tabTraining;

        if (!IsPostBack)
        {
            Profile pf = MyFlightbook.Profile.GetUser(Page.User.Identity.Name);
            mfbEditEndorsement1.StudentType = Endorsement.StudentTypes.External;
            mfbEditEndorsement1.TargetUser  = pf;
            cmbTemplates.DataSource         = EndorsementType.LoadTemplates();
            cmbTemplates.DataValueField     = "id";
            cmbTemplates.DataTextField      = "FullTitle";
            cmbTemplates.DataBind();
            hdnLastTemplate.Value = cmbTemplates.SelectedValue;

            lblDisclaimerResponse.Text  = Branding.ReBrand(Resources.SignOff.SignDisclaimerAgreement1);
            lblDisclaimerResponse2.Text = Branding.ReBrand(Resources.SignOff.SignDisclaimerAgreement2);

            CFIStudentMap sm = new CFIStudentMap(Page.User.Identity.Name);
            if (sm.Instructors.Count() == 0)
            {
                mfbEditEndorsement1.Mode = EndorsementMode.StudentPullAdHoc;
                mvAddEndorsement.SetActiveView(vwAcceptTerms);
            }
            else
            {
                cmbInstructors.DataSource = sm.Instructors;
                cmbInstructors.DataBind();
                mvAddEndorsement.SetActiveView(vwPickInstructor);
            }

            mfbEditEndorsement1.StudentType = Endorsement.StudentTypes.Member;
            mfbEditEndorsement1.TargetUser  = pf;
        }

        // need to reconstitute the form from the template every time to ensure postback works.
        mfbEditEndorsement1.EndorsementID = Convert.ToInt32(hdnLastTemplate.Value, CultureInfo.InvariantCulture);
    }
 public CertificateOfOriginType()
 {
     this.insuranceEndorsementField           = new EndorsementType();
     this.embassyEndorsementField             = new EndorsementType();
     this.issuerEndorsementField              = new EndorsementType();
     this.certificateOfOriginApplicationField = new CertificateOfOriginApplicationType();
     this.endorserPartyField      = new ObservableCollection <EndorserPartyType>();
     this.importerPartyField      = new PartyType();
     this.exporterPartyField      = new PartyType();
     this.signatureField          = new ObservableCollection <SignatureType>();
     this.versionIDField          = new VersionIDType();
     this.noteField               = new ObservableCollection <NoteType>();
     this.descriptionField        = new ObservableCollection <DescriptionType>();
     this.issueTimeField          = new IssueTimeType();
     this.issueDateField          = new IssueDateType();
     this.uUIDField               = new UUIDType();
     this.idField                 = new IDType();
     this.profileExecutionIDField = new ProfileExecutionIDType();
     this.profileIDField          = new ProfileIDType();
     this.customizationIDField    = new CustomizationIDType();
     this.uBLVersionIDField       = new UBLVersionIDType();
     this.uBLExtensionsField      = new ObservableCollection <UBLExtensionType>();
 }
Exemple #5
0
    protected void UpdateFormForTemplate(int id, bool fResetTitle)
    {
        EndorsementType et = EndorsementType.GetEndorsementByID(id);

        if (et == null)
        {
            throw new MyFlightbookException(String.Format(CultureInfo.InvariantCulture, "EndorsementTemplate with ID={0} not found", id));
        }

        plcTemplateForm.Controls.Clear();
        plcValidations.Controls.Clear();

        // don't change the title unless we're changing from a prior template.
        if (fResetTitle)
        {
            txtTitle.Text = et.Title;
        }
        lblEndorsementFAR.Text = et.FARReference;

        // Find each of the substitutions
        Regex           r       = new Regex("\\{[^}]*\\}");
        MatchCollection matches = r.Matches(et.BodyTemplate);

        int cursor = 0;

        foreach (Match m in matches)
        {
            // compute the base ID for a control that we create here, before anything gets added, since the result depends on how many controls are in the placeholder already
            string idNewControl = ctlIDPrefix + plcTemplateForm.Controls.Count.ToString(CultureInfo.InvariantCulture);

            if (m.Index > cursor) // need to catch up on some literal text
            {
                LiteralControl lt = new LiteralControl();
                plcTemplateForm.Controls.Add(lt);
                lt.Text = et.BodyTemplate.Substring(cursor, m.Index - cursor);
                lt.ID   = "ltCatchup" + idNewControl;
            }

            string szMatch = m.Captures[0].Value;

            switch (szMatch)
            {
            case "{Date}":
            {
                Controls_mfbTypeInDate tid = (Controls_mfbTypeInDate)LoadControl("~/Controls/mfbTypeInDate.ascx");
                plcTemplateForm.Controls.Add(tid);
                tid.Date = DateTime.Now;
                tid.ID   = idNewControl;
                tid.TextControl.BorderColor = System.Drawing.Color.Black;
                tid.TextControl.BorderStyle = BorderStyle.Solid;
                tid.TextControl.BorderWidth = Unit.Pixel(1);
            }
            break;

            case "{FreeForm}":
                NewTextBox(plcTemplateForm, idNewControl, "", true, true, "Free-form text");
                break;

            case "{Student}":
                NewTextBox(plcTemplateForm, idNewControl, TargetUser == null ? Resources.SignOff.EditEndorsementStudentNamePrompt : TargetUser.UserFullName, false, true, Resources.SignOff.EditEndorsementStudentNamePrompt);
                break;

            default:
                // straight textbox, unless it is strings separated by slashes, in which case it's a drop-down
            {
                string szMatchInner = szMatch.Substring(1, szMatch.Length - 2);          // get the inside bits - i.e., strip off the curly braces
                if (szMatchInner.Contains("/"))
                {
                    string[]     rgItems = szMatchInner.Split('/');
                    DropDownList dl      = new DropDownList();
                    plcTemplateForm.Controls.Add(dl);
                    foreach (string szItem in rgItems)
                    {
                        dl.Items.Add(new ListItem(szItem, szItem));
                    }
                    dl.ID          = idNewControl;
                    dl.BorderColor = System.Drawing.Color.Black;
                    dl.BorderStyle = BorderStyle.Solid;
                    dl.BorderWidth = Unit.Pixel(1);
                }
                else
                {
                    NewTextBox(plcTemplateForm, idNewControl, String.Empty, false, true, szMatchInner);
                }
            }
            break;
            }

            cursor = m.Captures[0].Index + m.Captures[0].Length;
        }

        if (cursor < et.BodyTemplate.Length)
        {
            LiteralControl lt = new LiteralControl();
            plcTemplateForm.Controls.Add(lt);
            lt.Text = et.BodyTemplate.Substring(cursor);
            lt.ID   = "ltEnding";
        }
    }
Exemple #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Master.SelectedTab = tabID.tabTraining;
        this.Title = String.Format(CultureInfo.CurrentCulture, Resources.LocalizedText.TitleProfile, Branding.CurrentBrand.AppName);

        pnlError.Visible = false;

        if (!IsPostBack)
        {
            try
            {
                if (Request.PathInfo.Length > 0)
                {
                    m_szTargetUser = Request.PathInfo.Substring(1);
                }

                bool fMemberEndorsement = util.GetIntParam(Request, "extern", 0) == 0;

                if (m_szTargetUser.Length == 0 && fMemberEndorsement)
                {
                    pnlEndorsement.Visible = false; // hide the new endorsement panel - just show all endorsements given
                }
                else
                {
                    mfbEditEndorsement1.StudentType = fMemberEndorsement ? Endorsement.StudentTypes.Member : Endorsement.StudentTypes.External;

                    if (fMemberEndorsement)
                    {
                        if (!new CFIStudentMap(Page.User.Identity.Name).IsInstructorOf(m_szTargetUser))
                        {
                            throw new MyFlightbookValidationException(Resources.Profile.errNotAuthorizedToEndorse);
                        }

                        Profile pfTarget     = MyFlightbook.Profile.GetUser(m_szTargetUser);
                        string  szTargetUser = pfTarget.UserFullName;

                        lblPageHeader.Text                = String.Format(CultureInfo.CurrentCulture, Resources.Profile.EndorsementsHeader, szTargetUser);
                        lblNewEndorsementHeader.Text      = String.Format(CultureInfo.CurrentCulture, Resources.Profile.EndorsementsNewEndorsementHeader, szTargetUser);
                        lblExistingEndorsementHeader.Text = String.Format(CultureInfo.CurrentCulture, Resources.Profile.EndorsementsExistingEndorsementHeader, szTargetUser);
                        mfbEditEndorsement1.TargetUser    = pfTarget;
                        mfbEditEndorsement1.Mode          = EndorsementMode.InstructorPushAuthenticated;
                    }
                    else
                    {
                        mfbEditEndorsement1.Mode = EndorsementMode.InstructorOfflineStudent;
                    }

                    Profile pf = MyFlightbook.Profile.GetUser(User.Identity.Name);

                    if (pf.Certificate.Length == 0)
                    {
                        throw new MyFlightbookValidationException(Resources.Profile.errNoCFICertificate);
                    }

                    mfbEditEndorsement1.SourceUser = pf;

                    cmbTemplates.DataSource     = EndorsementType.LoadTemplates();
                    cmbTemplates.DataValueField = "id";
                    cmbTemplates.DataTextField  = "FullTitle";
                    cmbTemplates.DataBind();
                    hdnLastTemplate.Value = cmbTemplates.SelectedValue;

                    ViewState[keyTargetUser] = m_szTargetUser;
                }
            }
            catch (MyFlightbookValidationException ex)
            {
                lblError.Text                   = ex.Message;
                pnlError.Visible                = true;
                pnlEndorsement.Visible          = false;
                pnlExistingEndorsements.Visible = false;
            }
        }
        else
        {
            m_szTargetUser = (string)ViewState[keyTargetUser];
        }

        // need to reconstitute the form from the template every time to ensure postback works.
        if (!pnlError.Visible && pnlEndorsement.Visible)
        {
            mfbEditEndorsement1.EndorsementID = Convert.ToInt32(hdnLastTemplate.Value, CultureInfo.InvariantCulture);
        }

        mfbEndorsementList1.Instructor = Page.User.Identity.Name;
        mfbEndorsementList1.Student    = m_szTargetUser;
        mfbEndorsementList1.RefreshEndorsements();
    }