コード例 #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        currentUser   = MembershipContext.AuthenticatedUser;
        currentObject = (ContactStatusInfo)EditedObject;

        // Check read permission
        currentObjectSiteId = currentObject.ContactStatusID != 0 ? currentObject.ContactStatusSiteID : siteID;
        CheckReadPermission(currentObjectSiteId);

        // Preserve site info passed in query
        PageBreadcrumbs.Items[0].RedirectUrl = AddSiteQuery(PageBreadcrumbs.Items[0].RedirectUrl, siteID);
        EditForm.RedirectUrlAfterSave        = AddSiteQuery(EditForm.RedirectUrlAfterSave, siteID);

        ContactStatusInfo contactStatus = EditForm.EditedObject as ContactStatusInfo;

        // Set new site ID for new object
        if ((contactStatus == null) || (contactStatus.ContactStatusID < 1))
        {
            if ((siteID == UniSelector.US_GLOBAL_RECORD) && ModifyGlobalConfiguration)
            {
                EditForm.Data["ContactStatusSiteID"] = null;
            }
            else if (IsSiteManager && currentUser.CheckPrivilegeLevel(UserPrivilegeLevelEnum.GlobalAdmin))
            {
                EditForm.Data["ContactStatusSiteID"] = siteID;
            }
            else
            {
                EditForm.Data["ContactStatusSiteID"] = SiteContext.CurrentSiteID;
            }
        }
    }
コード例 #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        currentUser = MembershipContext.AuthenticatedUser;
        currentObject = (ContactStatusInfo)EditedObject;

        // Check read permission
        currentObjectSiteId = currentObject.ContactStatusID != 0 ? currentObject.ContactStatusSiteID : siteID;
        CheckReadPermission(currentObjectSiteId);

        // Preserve site info passed in query
        PageBreadcrumbs.Items[0].RedirectUrl = AddSiteQuery(PageBreadcrumbs.Items[0].RedirectUrl, siteID);
        EditForm.RedirectUrlAfterSave = AddSiteQuery(EditForm.RedirectUrlAfterSave, siteID);

        ContactStatusInfo contactStatus = EditForm.EditedObject as ContactStatusInfo;

        // Set new site ID for new object
        if ((contactStatus == null) || (contactStatus.ContactStatusID < 1))
        {
            if ((siteID == UniSelector.US_GLOBAL_RECORD) && ModifyGlobalConfiguration)
            {
                EditForm.Data["ContactStatusSiteID"] = null;
            }
            else if (IsSiteManager && currentUser.CheckPrivilegeLevel(UserPrivilegeLevelEnum.GlobalAdmin))
            {
                EditForm.Data["ContactStatusSiteID"] = siteID;
            }
            else
            {
                EditForm.Data["ContactStatusSiteID"] = SiteContext.CurrentSiteID;
            }
        }
    }
コード例 #3
0
ファイル: Edit.aspx.cs プロジェクト: KuduApps/Kentico
    protected void Page_Load(object sender, EventArgs e)
    {
        currentUser = CMSContext.CurrentUser;
        currentObject = (ContactStatusInfo)EditedObject;

        // Check read permission
        currentObjectSiteId = currentObject != null ? currentObject.ContactStatusSiteID : siteID;
        this.CheckReadPermission(currentObjectSiteId);

        // Preserve site info passed in query
        CurrentMaster.Title.Breadcrumbs[0, 1] = AddSiteQuery(CurrentMaster.Title.Breadcrumbs[0, 1], siteID);
        EditForm.RedirectUrlAfterSave = AddSiteQuery(EditForm.RedirectUrlAfterSave, siteID);

        // Set new site ID for new object
        if (EditedObject == null)
        {
            if ((siteID == UniSelector.US_GLOBAL_RECORD) && ModifyGlobalConfiguration)
            {
                EditForm.Data["ContactStatusSiteID"] = DBNull.Value;
            }
            else if (this.IsSiteManager && currentUser.UserSiteManagerAdmin)
            {
                EditForm.Data["ContactStatusSiteID"] = siteID;
            }
            else
            {
                EditForm.Data["ContactStatusSiteID"] = CMSContext.CurrentSiteID;
            }
        }
    }
コード例 #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        currentUser   = CMSContext.CurrentUser;
        currentObject = (ContactStatusInfo)EditedObject;

        // Check read permission
        currentObjectSiteId = currentObject != null ? currentObject.ContactStatusSiteID : siteID;
        CheckReadPermission(currentObjectSiteId);

        // Preserve site info passed in query
        CurrentMaster.Title.Breadcrumbs[0, 1] = AddSiteQuery(CurrentMaster.Title.Breadcrumbs[0, 1], siteID);
        EditForm.RedirectUrlAfterSave         = AddSiteQuery(EditForm.RedirectUrlAfterSave, siteID);

        // Set new site ID for new object
        if (EditedObject == null)
        {
            if ((siteID == UniSelector.US_GLOBAL_RECORD) && ModifyGlobalConfiguration)
            {
                EditForm.Data["ContactStatusSiteID"] = DBNull.Value;
            }
            else if (IsSiteManager && currentUser.UserSiteManagerAdmin)
            {
                EditForm.Data["ContactStatusSiteID"] = siteID;
            }
            else
            {
                EditForm.Data["ContactStatusSiteID"] = CMSContext.CurrentSiteID;
            }
        }
    }
コード例 #5
0
ファイル: List.aspx.cs プロジェクト: kudutest2/Kentico
 /// <summary>
 /// UniGrid action handler.
 /// </summary>
 void Grid_OnAction(string actionName, object actionArgument)
 {
     if (actionName == "delete")
     {
         ContactStatusInfo csi = ContactStatusInfoProvider.GetContactStatusInfo(ValidationHelper.GetInteger(actionArgument, 0));
         if (csi != null)
         {
             //  Check modify permission for given object
             if (ConfigurationHelper.AuthorizedModifyConfiguration(csi.ContactStatusSiteID, true))
             {
                 ContactStatusInfoProvider.DeleteContactStatusInfo(csi);
             }
         }
     }
 }
コード例 #6
0
    /// <summary>
    /// On external databound.
    /// </summary>
    /// <param name="sender">Sender</param>
    /// <param name="sourceName">Source name</param>
    /// <param name="parameter">Parameter</param>
    private object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        CMSGridActionButton btn;
        ContactInfo         ci;

        switch (sourceName.ToLowerCSafe())
        {
        case "edit":
            btn = (CMSGridActionButton)sender;
            // Ensure accountID parameter value;
            var objectID = ValidationHelper.GetInteger(btn.CommandArgument, 0);
            // Contact detail URL
            string contactURL = UIContextHelper.GetElementDialogUrl(ModuleName.ONLINEMARKETING, "EditContact", objectID);
            // Add modal dialog script to onClick action
            btn.OnClientClick = ScriptHelper.GetModalDialogScript(contactURL, "ContactDetail");
            break;

        case "view":
            btn = (CMSGridActionButton)sender;
            btn.OnClientClick = "ViewScoreDetail(" + btn.CommandArgument + "); return false;";
            break;

        case "#contactfullname":
            ci = ContactInfoProvider.GetContactInfo(ValidationHelper.GetInteger(parameter, 0));
            if (ci != null)
            {
                string fullName = TextHelper.MergeIfNotEmpty(" ", ci.ContactFirstName, ci.ContactMiddleName, ci.ContactLastName);
                return(HTMLHelper.HTMLEncode(fullName));
            }
            return(String.Empty);

        case "#statusdisplayname":
            ci = ContactInfoProvider.GetContactInfo(ValidationHelper.GetInteger(parameter, 0));
            if (ci != null)
            {
                ContactStatusInfo statusInfo = ContactStatusInfoProvider.GetContactStatusInfo(ci.ContactStatusID);
                if (statusInfo != null)
                {
                    return(HTMLHelper.HTMLEncode(statusInfo.ContactStatusDisplayName));
                }
            }
            return(String.Empty);
        }

        return(null);
    }
コード例 #7
0
        private ContactStatusInfo CreateContactStatus(
            string contactStatusCodeName,
            string contactStatusDisplayName)
        {
            var contactStatusInfo = ContactStatusInfoProvider.GetContactStatusInfo(contactStatusCodeName);

            if (contactStatusInfo != null)
            {
                ContactStatusInfoProvider.DeleteContactStatusInfo(contactStatusInfo);
            }

            var statusObj = new ContactStatusInfo();

            statusObj.ContactStatusDescription = contactStatusDisplayName;
            statusObj.ContactStatusDisplayName = contactStatusDisplayName;
            statusObj.ContactStatusName        = contactStatusCodeName;
            ContactStatusInfoProvider.SetContactStatusInfo(statusObj);
            return(statusObj);
        }
コード例 #8
0
    /// <summary>
    /// On external databound.
    /// </summary>
    /// <param name="sender">Sender</param>
    /// <param name="sourceName">Source name</param>
    /// <param name="parameter">Parameter</param>
    private object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        ImageButton btn = null;
        ContactInfo ci;

        switch (sourceName.ToLowerCSafe())
        {
        case "edit":
            btn = ((ImageButton)sender);
            // Add ability to open contact details
            btn.Attributes.Add("onClick", "EditContact(" + btn.CommandArgument + "); return false;");
            break;

        case "view":
            btn = (ImageButton)sender;
            btn.Attributes.Add("onClick", "ViewScoreDetail(" + btn.CommandArgument + "); return false;");
            break;

        case "#contactfullname":
            ci = ContactInfoProvider.GetContactInfo(ValidationHelper.GetInteger(parameter, 0));
            if (ci != null)
            {
                return(TextHelper.MergeIfNotEmpty(" ", ci.ContactFirstName, ci.ContactMiddleName, ci.ContactLastName));
            }
            return(String.Empty);

        case "#statusdisplayname":
            ci = ContactInfoProvider.GetContactInfo(ValidationHelper.GetInteger(parameter, 0));
            if (ci != null)
            {
                ContactStatusInfo statusInfo = ContactStatusInfoProvider.GetContactStatusInfo(ci.ContactStatusID);
                if (statusInfo != null)
                {
                    return(HTMLHelper.HTMLEncode(statusInfo.ContactStatusDisplayName));
                }
            }
            return(String.Empty);
        }

        return(null);
    }
コード例 #9
0
    /// <summary>
    /// On external databound.
    /// </summary>
    /// <param name="sender">Sender</param>
    /// <param name="sourceName">Source name</param>
    /// <param name="parameter">Parameter</param>
    object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        ImageButton btn = null;

        switch (sourceName.ToLower())
        {
        case "edit":
            btn = ((ImageButton)sender);
            // Add ability to open contact details
            btn.Attributes.Add("onClick", "EditContact(" + btn.CommandArgument + "); return false;");
            break;

        case "#statusdisplayname":
            ContactStatusInfo statusInfo = ContactStatusInfoProvider.GetContactStatusInfo(ValidationHelper.GetInteger(parameter, 0));
            if (statusInfo != null)
            {
                return(HTMLHelper.HTMLEncode(statusInfo.ContactStatusDisplayName));
            }
            break;
        }

        return(null);
    }
コード例 #10
0
        public void Generate()
        {
            var names = new List <string>
            {
                "VIP",
                "Interested",
                "Prospective client",
                "Not interested",
                "Waste",
            };

            foreach (var contactStatusName in names)
            {
                var cs = new ContactStatusInfo()
                {
                    ContactStatusDescription = "This client is " + contactStatusName,
                    ContactStatusDisplayName = contactStatusName,
                    ContactStatusName        = ValidationHelper.GetCodeName(contactStatusName),
                    ContactStatusSiteID      = mSiteId,
                };

                cs.Insert();
            }
        }
コード例 #11
0
    /// <summary>
    /// Creates contact status. Called when the "Create status" button is pressed.
    /// </summary>
    private bool CreateContactStatus()
    {
        // Create new contact status object
        ContactStatusInfo newStatus = new ContactStatusInfo()
                                          {
                                              ContactStatusDisplayName = "My new status",
                                              ContactStatusName = "MyNewStatus",
                                              ContactStatusSiteID = CMSContext.CurrentSiteID
                                          };

        // Save the contact status
        ContactStatusInfoProvider.SetContactStatusInfo(newStatus);

        return true;
    }
コード例 #12
0
        public void Generate()
        {
            var names = new List<string>
            {
                "VIP",
                "Interested",
                "Prospective client",
                "Not interested",
                "Waste",
            };

            foreach (var contactStatusName in names)
            {
                var cs = new ContactStatusInfo()
                {
                    ContactStatusDescription = "This client is " + contactStatusName,
                    ContactStatusDisplayName = contactStatusName,
                    ContactStatusName = ValidationHelper.GetCodeName(contactStatusName),
                    ContactStatusSiteID = mSiteId,
                };

                cs.Insert();
            }
        }
コード例 #13
0
    /// <summary>
    /// Fills tooltip with appropriate data.
    /// </summary>
    private string FillTooltipData(DataTable dt, string fieldName, string fieldValue, string dataType)
    {
        var output = String.Empty;

        // Insert header into tooltip with parent value
        if (!String.IsNullOrEmpty(fieldValue))
        {
            // Display birthday
            if (fieldName == "ContactBirthday")
            {
                output += "<em>" + GetString("om.contact.parentvalue") + "</em> <strong>" + HTMLHelper.HTMLEncode(ValidationHelper.GetDateTime(fieldValue, DateTimeHelper.ZERO_TIME).ToShortDateString()) + "</strong>";
            }
            // Display gender
            else if (fieldName == "ContactGender")
            {
                int gender = ValidationHelper.GetInteger(fieldValue, 0);
                if (gender == (int)UserGenderEnum.Male)
                {
                    output += "<em>" + GetString("om.contact.parentvalue") + "</em> <strong>" + GetString("general.male") + "</strong>";
                }
                else if (gender == (int)UserGenderEnum.Female)
                {
                    output += "<em>" + GetString("om.contact.parentvalue") + "</em> <strong>" + GetString("general.female") + "</strong>";
                }
                else
                {
                    output += "<em>" + GetString("om.contact.parentvalue") + "</em> <strong>" + GetString("general.unknown") + "</strong>";
                }
            }
            // Datetime values
            else if (dataType == FieldDataType.DateTime)
            {
                output += "<em>" + GetString("om.contact.parentvalue") + "</em> <strong>" + ValidationHelper.GetDateTime(fieldValue, DateTimeHelper.ZERO_TIME) + "</strong>";
            }
            // Get all contacts which have same string value
            else
            {
                output += "<em>" + GetString("om.contact.parentvalue") + "</em> ";
                if (fieldName == "ContactCountryID")
                {
                    CountryInfo country = CountryInfoProvider.GetCountryInfo(ValidationHelper.GetInteger(fieldValue, 0));
                    if (country != null)
                    {
                        output += "<strong>" + HTMLHelper.HTMLEncode(country.CountryDisplayName) + "</strong>";
                    }
                    else
                    {
                        output += GetString("general.na");
                    }
                }
                else if (fieldName == "ContactStateID")
                {
                    StateInfo state = StateInfoProvider.GetStateInfo(ValidationHelper.GetInteger(fieldValue, 0));
                    if (state != null)
                    {
                        output += "<strong>" + HTMLHelper.HTMLEncode(state.StateDisplayName) + "</strong>";
                    }
                    else
                    {
                        output += GetString("general.na");
                    }
                }
                else if (fieldName == "ContactStatusID")
                {
                    ContactStatusInfo status = ContactStatusInfoProvider.GetContactStatusInfo(ValidationHelper.GetInteger(fieldValue, 0));
                    if (status != null)
                    {
                        output += "<strong>" + HTMLHelper.HTMLEncode(status.ContactStatusDisplayName) + "</strong>";
                    }
                    else
                    {
                        output += GetString("general.na");
                    }
                }
                else
                {
                    output += "<strong>" + HTMLHelper.HTMLEncode(fieldValue) + "</strong>";
                }
            }
        }
        else
        {
            output += "<em>" + GetString("om.contact.parentvalue") + "</em> " + GetString("general.na");
        }
        output += "<div><em>" + GetString("om.contact.mergedvalues") + "</em></div>";

        // Display N/A for empty merged records
        if (DataHelper.DataSourceIsEmpty(dt))
        {
            output += "<div>" + GetString("general.na") + "</div>";
        }
        // Display values of merged records
        else
        {
            // Loop through all distinct values of given column
            foreach (DataRow dr in dt.Rows)
            {
                output += "<div>";

                // Sort contacts by full name
                var contactsView = mMergedContacts.Tables[0].DefaultView;
                contactsView.Sort = "ContactFullNameJoined";

                mMergedContacts.CaseSensitive = true;

                var value = dr[fieldName];

                if (fieldName == "ContactBirthday")
                {
                    // Get all contacts which have same ContactBirthday value
                    output += "<div><strong>" + HTMLHelper.HTMLEncode(ValidationHelper.GetDateTime(value, DateTimeHelper.ZERO_TIME).ToShortDateString()) + "</strong></div>";
                    contactsView.RowFilter = fieldName + " = '" + value + "'";
                }
                // Display gender
                else if (fieldName == "ContactGender")
                {
                    int gender = ValidationHelper.GetInteger(value, 0);
                    if (gender == (int)UserGenderEnum.Male)
                    {
                        output += GetTooltipItem(GetString("general.male"));
                    }
                    else if (gender == (int)UserGenderEnum.Female)
                    {
                        output += GetTooltipItem(GetString("general.female"));
                    }
                    else
                    {
                        output += GetTooltipItem(GetString("general.unknown"));
                    }

                    if (String.IsNullOrEmpty(ValidationHelper.GetString(value, null)))
                    {
                        contactsView.RowFilter = fieldName + " IS NULL";
                    }
                    else
                    {
                        contactsView.RowFilter = fieldName + " = " + value;
                    }
                }
                // Need to transform status ID to displayname
                else if (fieldName == "ContactStatusID")
                {
                    ContactStatusInfo status = ContactStatusInfoProvider.GetContactStatusInfo((int)value);
                    output += GetTooltipItem(ResHelper.LocalizeString(status.ContactStatusDisplayName));
                    contactsView.RowFilter = fieldName + " = '" + status.ContactStatusID + "'";
                }
                // Need to transform country ID to displayname
                else if (fieldName == "ContactCountryID")
                {
                    CountryInfo country = CountryInfoProvider.GetCountryInfo((int)value);
                    output += GetTooltipItem(country.CountryDisplayName);
                    contactsView.RowFilter = fieldName + " = '" + country.CountryID + "'";
                }
                // Need to transform state ID to displayname
                else if (fieldName == "ContactStateID")
                {
                    StateInfo state = StateInfoProvider.GetStateInfo((int)value);
                    output += GetTooltipItem(state.StateDisplayName);
                    contactsView.RowFilter = fieldName + " = '" + state.StateID + "'";
                }
                // Other fields, process based on field type
                else
                {
                    output += GetTooltipItem(ValidationHelper.GetString(value, null));
                    contactsView.RowFilter = fieldName + " = '" + ContactHelper.EscapeString(ValidationHelper.GetString(value, "")) + "'";
                }

                // Display all contact
                DataTable contacts = contactsView.ToTable(false, "ContactFullNameJoined");
                foreach (DataRow contactRow in contacts.Rows)
                {
                    output += "<div>&nbsp;-&nbsp;" + HTMLHelper.HTMLEncode(ValidationHelper.GetString(contactRow["ContactFullNameJoined"], "").Trim()) + "</div>";
                }
                output += "</div>";
            }
        }

        return(output);
    }