public Elt(What what, IExpr ty) {
   Contract.Requires(what != What.Bottom || ty == null);
   Contract.Requires(what != What.Exact || ty != null);
   this.what = what;
   this.ty = ty;
   this.manyBounds = null;
 }
 public Elt(IExpr[]/*!*/ bounds) {
   Contract.Requires(bounds != null);
   Contract.Requires(Contract.ForAll(0, bounds.Length, i => bounds[i] != null));
   this.what = What.Bounds;
   if (bounds.Length == 0) {
     this.ty = null;
     this.manyBounds = null;
   } else if (bounds.Length == 1) {
     this.ty = bounds[0];
     this.manyBounds = null;
   } else {
     this.ty = null;
     this.manyBounds = bounds;
   }
 }
Exemple #3
0
    /// <summary>
    /// Perform selected action (Delete).
    /// </summary>
    private void PerformAction()
    {
        string resultMessage;

        Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);
        What   what   = (What)ValidationHelper.GetInteger(drpWhat.SelectedItem.Value, 0);

        string where = null;

        // All messages
        if (what == What.AllMessages)
        {
            resultMessage = GetString("Messaging." + What.AllMessages);
        }
        // Selected messages
        else if (what == What.SelectedMessages)
        {
            where         = SqlHelper.GetWhereCondition <int>("MessageID", outboxGrid.SelectedItems, false);
            resultMessage = GetString("Messaging." + What.SelectedMessages);
        }
        else
        {
            return;
        }

        // Action 'Delete'
        if ((action == Action.Delete))
        {
            // Delete selected messages
            MessageInfoProvider.DeleteSentMessages(MembershipContext.AuthenticatedUser.UserID, where);

            resultMessage += " " + GetString("Messaging.Action.Result.Deleted");

            ShowConfirmation(resultMessage);

            outboxGrid.ResetSelection(doPostback: false);
            outboxGrid.ReloadData();
        }
    }
    /// <summary>
    /// Returns where condition depending on mass action selection.
    /// </summary>
    /// <param name="whatValue">Value of What drop-down list; if the value is 'selected' it also contains selected items</param>
    private string GetWhereCondition(string whatValue)
    {
        string where = string.Empty;

        if (!string.IsNullOrEmpty(whatValue))
        {
            string selectedItems = null;
            string whatAction    = null;

            if (whatValue.Contains("#"))
            {
                // Char '#' decides what-value and selected items
                whatAction    = whatValue.Substring(0, whatValue.IndexOfCSafe("#"));
                selectedItems = whatValue.Substring(whatValue.IndexOfCSafe("#") + 1);
            }
            else
            {
                whatAction = whatValue;
            }

            What what = (What)ValidationHelper.GetInteger(whatAction, 0);

            switch (what)
            {
            case What.All:
                // For all items get where condition from grid setting
                where = SqlHelper.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
                break;

            case What.Selected:
                // For selected items compose where condition from selected items
                string[] items = selectedItems.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                where = SqlHelper.GetWhereCondition <int>("AccountID", items, false);
                break;
            }
        }

        return(where);
    }
    private void StartNewProcess(What what, IWhereCondition where)
    {
        try
        {
            string error     = String.Empty;
            int    processId = ValidationHelper.GetInteger(hdnIdentifier.Value, 0);

            switch (what)
            {
            case What.All:
                // Get selected IDs based on where condition
                var contactIdsQuery = ContactGroupMemberInfo.Provider.Get().Where(where).Column("ContactGroupMemberRelatedID");
                var contactsQuery   = ContactInfo.Provider.Get().WhereIn("ContactId", contactIdsQuery);
                error = ExecuteProcess(processId, contactsQuery);
                break;

            case What.Selected:
                var contactIds = gridElem.SelectedItems;
                var query      = ContactInfo.Provider.Get().WhereIn("ContactId", contactIds);
                error = ExecuteProcess(processId, query);
                break;
            }

            if (String.IsNullOrEmpty(error))
            {
                string confirmation = GetString(what == What.All ? "ma.process.started" : "ma.process.startedselected");
                ShowConfirmation(confirmation);
            }
            else
            {
                ShowError(GetString("ma.process.error"), error);
            }
        }
        catch (Exception ex)
        {
            LogAndShowError("Automation", "STARTPROCESS", ex);
        }
    }
 public Elt(ArrayList /*IExpr*//*!*/ bounds, int n) {
   Contract.Requires(bounds != null);
   Contract.Requires(0 <= n && n <= bounds.Count);
   this.what = What.Bounds;
   if (n > 1) {
     this.manyBounds = new IExpr[n];
   }
   int k = 0;
   foreach (IExpr bound in bounds) {
     if (bound != null) {
       Contract.Assert(k != n);
       if (n == 1) {
         Contract.Assert(this.ty == null);
         this.ty = bound;
       } else {
         Contract.Assume(manyBounds != null);
         manyBounds[k] = bound;
       }
       k++;
     }
   }
   Contract.Assert(k == n);
 }
        private void check(What what, XType type, Field[] fields, Object[] objects,
                           XType resultType, int timeout)
        {
            Assert.AreEqual(what, svc.what);
            Assert.AreEqual(type, svc.xmsg.GetXType);

            int n = fields.Length;

            Assert.AreEqual(n, objects.Length);

            //Console.WriteLine( "size = " + svc.xmsg.Count );
            Assert.AreEqual(n, svc.xmsg.Count);

            for (int i = 0; i < n; i++)
            {
                Field f = fields[i];
                Assert.AreEqual(objects[i], svc.xmsg.Get(f));
            }

            Assert.AreEqual(resultType, svc.xresponseType);
            Assert.AreEqual(ValueFactoryTest1._mf_result, svc.xresponseField);
            Assert.AreEqual(timeout, svc.xtimeout);
        }
Exemple #8
0
        public override object DoRun()
        {
            object instance  = null;
            var    arguments = new List <object>();

            if (Interpreter.Language.CanParse(What.ToLower()))
            {
                instance = Interpreter.Language.ParseKeyword(What.ToLower());
            }
            else
            {
                var type = TypeRegistry.Types.FirstOrDefault(x => x.Name.ToLower() == What.ToLower());
                if (type == null && What.Contains(" "))
                {
                    var firstPart = What.Split(' ')[0];
                    arguments.Add(What.Substring(firstPart.Length + 1));
                    type = TypeRegistry.Types.FirstOrDefault(x => x.Name.ToLower() == firstPart.ToLower());
                }
                if (type == null)
                {
                    throw new ArgumentException($"{What} is not recognized.");
                }

                instance = Activator.CreateInstance(type, args: arguments.ToArray());
            }

            Data.Add(instance);

            (instance as IAutoRegistered)?.Register(Interpreter);

            if (instance is IKeyword)
            {
                Interpreter.AddToPlan(instance as IKeyword);
            }

            return(new SuccessAnswer($"Added {instance} to Data Context."));
        }
    private void ChangeStatus(What what)
    {
        int statusId = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);

        string where = null;

        switch (what)
        {
        case What.All:
        {
            where = SqlHelper.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
            where = "ContactID IN (SELECT ContactGroupMemberRelatedID FROM OM_ContactGroupMember WHERE " + where + ")";
        }
        break;

        case What.Selected:
            where = SqlHelper.GetWhereCondition <int>("ContactID", gridElem.SelectedItems, false);
            break;
        }

        ContactInfoProvider.UpdateContactStatus(statusId, where);

        ShowConfirmation(GetString("om.contact.massaction.statuschanged"));
    }
            public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as EntityComponent;

                if (dest == null)
                {
                    throw new ArgumentException("Can only copy to an object of the same type", "other");
                }

                base.CopyTo(dest);
                if (RoleElement != null)
                {
                    dest.RoleElement = (Code <Hl7.Fhir.Model.Provenance.ProvenanceEntityRole>)RoleElement.DeepCopy();
                }
                if (What != null)
                {
                    dest.What = (Hl7.Fhir.Model.ResourceReference)What.DeepCopy();
                }
                if (Agent != null)
                {
                    dest.Agent = new List <Hl7.Fhir.Model.Provenance.AgentComponent>(Agent.DeepCopy());
                }
                return(dest);
            }
Exemple #11
0
        public T Search <T>(string query)
        {
            //API example: http://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=wikipedia&srprop=timestamp
            Client.BaseUrl = new Uri(string.Format((UseTls ? "https://{0}.wikipedia.org/w/" : "http://{0}.wikipedia.org/w/"), "en"));

            RestRequest request = new RestRequest("api.php", Method.GET);

            //Required
            request.AddParameter("action", "query");
            request.AddParameter("format", Format.ToString().ToLower());

            if (ExternParameters != null)
            {
                foreach (var parameter in ExternParameters)
                {
                    if (!string.IsNullOrWhiteSpace(parameter.Item1) && parameter.Item2 != null)
                    {
                        request.AddParameter(parameter.Item1, parameter.Item2);
                    }
                }
            }

            if (!string.IsNullOrWhiteSpace(query))
            {
                request.AddParameter("srsearch", query);
            }

            //Optional
            if (Infos.HasElements())
            {
                request.AddParameter("srinfo", string.Join("|", Infos).ToLower());
            }

            if (Limit != 0)
            {
                switch (List)
                {
                case ListType.Geosearch:
                    request.AddParameter("list", List.ToString().ToLower());
                    request.AddParameter("gslimit", Limit);
                    break;

                case ListType.Search:
                    request.AddParameter("list", List.ToString().ToLower());
                    request.AddParameter("srlimit", Limit);
                    break;
                }
            }

            if (Offset != 0)
            {
                request.AddParameter("sroffset", Offset);
            }

            if (Namespaces.HasElements())
            {
                request.AddParameter("srnamespace", string.Join("|", Namespaces).ToLower());
            }

            if (Properties.HasElements())
            {
                request.AddParameter("srprop", string.Join("|", Properties).ToLower());
            }

            if (Redirects)
            {
                request.AddParameter("srredirects", Redirects.ToString().ToLower());
            }

            if (What != What.Title)
            {
                request.AddParameter("srwhat", What.ToString().ToLower());
            }

            if (ServedBy)
            {
                request.AddParameter("servedby", ServedBy.ToString().ToLower());
            }

            if (!string.IsNullOrEmpty(RequestId))
            {
                request.AddParameter("requestid", RequestId);
            }

            //Output
            RestResponse response = (RestResponse)Client.Execute(request);

            IDeserializer deserializer;

            switch (Format)
            {
            case Format.Xml:
                deserializer = new XmlAttributeDeserializer();
                break;

            case Format.Json:
                deserializer = new JsonDeserializer();
                break;

            default:
                deserializer = new XmlAttributeDeserializer();
                break;
            }

            //The format that Wikipedia uses
            deserializer.DateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'";

            return(deserializer.Deserialize <T>(response));
        }
Exemple #12
0
 public SearchQuery WithWhat(What what)
 {
     _what = what.ToString().ToLower();
     return this;
 }
    protected void btnOk_OnClick(object sender, EventArgs e)
    {
        pnlLog.Visible = true;

        CurrentError = string.Empty;
        CurrentLog.Close();
        EnsureLog();

        int actionValue = ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        Action action = (Action)actionValue;

        int whatValue = ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);
        currentWhat = (What)whatValue;

        BinSettingsContainer binSettings = new BinSettingsContainer(CurrentUser, currentWhat, CurrentSite);

        switch (currentWhat)
        {
            case What.SelectedObjects:
                if (ugRecycleBin.SelectedItems.Count <= 0)
                {
                    return;
                }

                binSettings.SelectedItems = ugRecycleBin.SelectedItems;
                break;
        }

        ctlAsyncLog.Parameter = binSettings;

        switch (action)
        {
            case Action.Restore:
            case Action.RestoreToCurrentSite:
            case Action.RestoreWithoutSiteBindings:
                {
                    ctlAsyncLog.TitleText = GetString("objectversioning.Recyclebin.Restoringobjects");

                    switch (action)
                    {
                        case Action.Restore:
                            RunAsync(RestoreWithChildren);
                            break;

                        case Action.RestoreToCurrentSite:
                            RunAsync(RestoreToCurrentSite);
                            break;

                        case Action.RestoreWithoutSiteBindings:
                            RunAsync(RestoreWithoutSiteBindings);
                            break;
                    }
                }
                break;

            case Action.Delete:
                {
                    ctlAsyncLog.TitleText = GetString("recyclebin.emptyingbin");

                    RunAsync(EmptyBin);
                }
                break;
        }
    }
Exemple #14
0
    /// <summary>
    /// Mass operation button "OK" click.
    /// </summary>
    protected void btnOk_Click(object sender, EventArgs e)
    {
        string resultMessage = string.Empty;

        // Get where condition depending on mass action selection
        string where = null;

        What what = (What)ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        switch (what)
        {
        // All items
        case What.All:
            where = gridElem.WhereCondition;
            break;

        // Selected items
        case What.Selected:
            where = SqlHelperClass.GetWhereCondition <int>("ContactID", (string[])gridElem.SelectedItems.ToArray(typeof(string)), false);
            break;
        }

        Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);

        switch (action)
        {
        // Action 'Change status'
        case Action.ChangeStatus:
            // Get selected status ID from hidden field
            int statusId = ValidationHelper.GetInteger(hdnIdentificator.Value, -1);
            // If status ID is 0, the status will be removed
            if (statusId >= 0)
            {
                ContactInfoProvider.UpdateContactStatus(statusId, where);
                resultMessage = GetString("om.contact.massaction.statuschanged");
            }
            break;

        // Action 'Add to contact group'
        case Action.AddToGroup:
            // Get contact group ID from hidden field
            int groupId = ValidationHelper.GetInteger(hdnIdentificator.Value, 0);
            if (groupId > 0)
            {
                ArrayList contactIds = null;
                switch (what)
                {
                // All items
                case What.All:
                    // Get selected IDs based on where condition
                    DataSet contacts = ContactInfoProvider.GetContacts(where, null, 0, "ContactID");
                    if (!DataHelper.DataSourceIsEmpty(contacts))
                    {
                        // Get array list with IDs
                        contactIds = DataHelper.GetUniqueValues(contacts.Tables[0], "ContactID", true);
                    }
                    break;

                // Selected items
                case What.Selected:
                    // Get selected IDs from unigrid
                    contactIds = gridElem.SelectedItems;
                    break;
                }

                if (contactIds != null)
                {
                    int contactId = 0;
                    // Add each selected contact to the contact group, skip contacts that are already members of the group
                    foreach (string item in contactIds)
                    {
                        contactId = ValidationHelper.GetInteger(item, 0);
                        if (contactId > 0)
                        {
                            ContactGroupMemberInfoProvider.SetContactGroupMemberInfo(groupId, contactId, ContactGroupMemberTypeEnum.Contact, MemberAddedHowEnum.Manual);
                        }
                    }
                    // Get contact group to show result message with its display name
                    ContactGroupInfo group = ContactGroupInfoProvider.GetContactGroupInfo(groupId);
                    if (group != null)
                    {
                        resultMessage = String.Format(GetString("om.contact.massaction.addedtogroup"), group.ContactGroupDisplayName);
                    }
                }
            }
            break;

        // Merge click
        case Action.Merge:
            DataSet selectedContacts = ContactHelper.GetContactListInfos(null, where, null, -1, null);
            if (!DataHelper.DataSourceIsEmpty(selectedContacts))
            {
                // Get selected contact ID from hidden field
                int contactID = ValidationHelper.GetInteger(hdnIdentificator.Value, -1);
                // If contact ID is 0 then new contact must be created
                if (contactID == 0)
                {
                    int siteID;
                    if (filter.DisplaySiteSelector || filter.DisplayGlobalOrSiteSelector)
                    {
                        siteID = filter.SelectedSiteID;
                    }
                    else
                    {
                        siteID = SiteID;
                    }

                    SetDialogParameters(selectedContacts, ContactHelper.GetNewContact(ContactHelper.MERGED, true, siteID));
                }
                // Selected contact to be merged into
                else if (contactID > 0)
                {
                    SetDialogParameters(selectedContacts, ContactInfoProvider.GetContactInfo(contactID));
                }
                OpenWindow();
            }

            break;

        default:
            return;
        }

        if (!string.IsNullOrEmpty(resultMessage))
        {
            lblInfo.Text    = resultMessage;
            lblInfo.Visible = true;
        }

        // Reload unigrid
        gridElem.ClearSelectedItems();
        gridElem.ReloadData();
        pnlUpdate.Update();
    }
    protected void btnOk_OnClick(object sender, EventArgs e)
    {
        pnlLog.Visible = true;
        pnlContent.Visible = false;

        CurrentError = string.Empty;
        CurrentLog.Close();
        EnsureLog();

        int actionValue = ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        Action action = (Action)actionValue;

        int whatValue = ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);
        currentWhat = (What)whatValue;

        ctlAsync.Parameter = currentUser;
        switch (action)
        {
            case Action.PublishAndFinish:
                // Publish and finish workflow
                titleElemAsync.TitleText = GetString("content.publishingdocuments");
                titleElemAsync.TitleImage = GetImageUrl("CMSModules/CMS_Workflows/publish.png");
                ctlAsync.RunAsync(PublishAndFinish, WindowsIdentity.GetCurrent());
                break;

            case Action.RemoveWorkflow:
                // Remove workflow
                titleElemAsync.TitleText = GetString("workflowdocuments.removingwf");
                titleElemAsync.TitleImage = GetImageUrl("CMSModules/CMS_Workflows/removeworkflow.png");
                ctlAsync.RunAsync(RemoveWorkflow, WindowsIdentity.GetCurrent());
                break;
        }
    }
Exemple #16
0
 public void TransportNotify(object eventObj)
 {
     what   = What.OOB_NOTIFY_SOURCE;
     xevent = eventObj;
 }
Exemple #17
0
 public object TransportQuery(object query)
 {
     what   = What.OOB_QUERY_SOURCE;
     xquery = query;
     return(xquery_result);
 }
Exemple #18
0
 public SearchQuery WithWhat(What what)
 {
     _what = what.ToString().ToLower();
     return(this);
 }
Exemple #19
0
 public override string ToString()
 {
     return(string.Format("{0} - {1} - {2} - {3}", MessageType, Who.ToString(), What.ToString(), Where));
 }
Exemple #20
0
    /// <summary>
    /// Mass operation button "OK" click.
    /// </summary>
    protected void btnOk_Click(object sender, EventArgs e)
    {
        // Get where condition depending on mass action selection
        string where = null;

        What what = (What)ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        switch (what)
        {
        // All items
        case What.All:
            where = SqlHelper.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
            break;

        // Selected items
        case What.Selected:
            where = SqlHelper.GetWhereCondition <int>("ContactID", gridElem.SelectedItems, false);
            break;
        }

        Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);

        switch (action)
        {
        // Action 'Change status'
        case Action.ChangeStatus:
            // Get selected status ID from hidden field
            int statusId = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);
            // If status ID is 0, the status will be removed
            if (statusId >= 0)
            {
                ContactInfoProvider.UpdateContactStatus(statusId, where);
                ShowConfirmation(GetString("om.contact.massaction.statuschanged"));
            }
            break;

        // Action 'Add to contact group'
        case Action.AddToGroup:
            // Get contact group ID from hidden field
            int groupId = ValidationHelper.GetInteger(hdnIdentifier.Value, 0);
            if (groupId > 0)
            {
                var contactGroup = ContactGroupInfoProvider.GetContactGroupInfo(groupId);

                if (contactGroup == null)
                {
                    RedirectToAccessDenied(GetString("general.invalidparameters"));
                    return;
                }

                IEnumerable <string> contactIds = null;

                switch (what)
                {
                // All items
                case What.All:
                    // Get selected IDs based on where condition
                    DataSet contacts = ContactInfoProvider.GetContacts().Where(where).Column("ContactID");
                    if (!DataHelper.DataSourceIsEmpty(contacts))
                    {
                        // Get array list with IDs
                        contactIds = DataHelper.GetUniqueValues(contacts.Tables[0], "ContactID", true);
                    }
                    break;

                // Selected items
                case What.Selected:
                    // Get selected IDs from unigrid
                    contactIds = gridElem.SelectedItems;
                    break;
                }

                if (contactIds != null)
                {
                    // Add each selected contact to the contact group, skip contacts that are already members of the group
                    foreach (string item in contactIds)
                    {
                        int contactId = item.ToInteger(0);

                        if (contactId > 0)
                        {
                            ContactGroupMemberInfoProvider.SetContactGroupMemberInfo(groupId, contactId, ContactGroupMemberTypeEnum.Contact, MemberAddedHowEnum.Manual);
                        }
                    }
                    // Show result message with contact group's display name
                    ShowConfirmation(string.Format(GetString("om.contact.massaction.addedtogroup"), HTMLHelper.HTMLEncode(ResHelper.LocalizeString(contactGroup.ContactGroupDisplayName))));
                }
            }
            break;

        default:
            return;
        }

        // Reload unigrid
        gridElem.ResetSelection();
        gridElem.ReloadData();
        pnlUpdate.Update();
    }
    private void StartNewProcess(What what, string where)
    {
        try
        {
            AutomationManager manager = AutomationManager.GetInstance(CurrentUser);

            List<string> contactIds = null;

            switch (what)
            {
                case What.All:
                    // Get selected IDs based on where condition
                    DataSet contacts = ContactGroupMemberInfoProvider.GetRelationships().Where(where).Column("ContactGroupMemberRelatedID");
                    if (!DataHelper.DataSourceIsEmpty(contacts))
                    {
                        contactIds = DataHelper.GetUniqueValues(contacts.Tables[0], "ContactGroupMemberRelatedID", true);
                    }
                    break;

                case What.Selected:
                    contactIds = gridElem.SelectedItems;
                    break;
            }

            if (contactIds != null)
            {
                string error = String.Empty;
                using (CMSActionContext context = new CMSActionContext())
                {
                    context.AllowAsyncActions = false;
                    int processId = ValidationHelper.GetInteger(hdnIdentifier.Value, 0);

                    foreach (string contactId in contactIds)
                    {
                        var contact = ContactInfoProvider.GetContactInfo(ValidationHelper.GetInteger(contactId, 0));

                        try
                        {
                            manager.StartProcess(contact, processId);
                        }
                        catch (ProcessRecurrenceException ex)
                        {
                            error += "<div>" + ex.Message + "</div>";
                        }
                    }
                }

                if (String.IsNullOrEmpty(error))
                {
                    string confirmation = GetString(what == What.All ? "ma.process.started" : "ma.process.startedselected");
                    ShowConfirmation(confirmation);
                }
                else
                {
                    ShowError(GetString("ma.process.error"), error, null);
                }
            }
        }
        catch (Exception ex)
        {
            LogAndShowError("Automation", "STARTPROCESS", ex);
        }
    }
    private void RemoveContacts(What what, string where)
    {
        ContactGroupMemberInfoProvider.DeleteContactGroupMembers(where, cgi.ContactGroupID, false, false);

        switch (what)
        {
            case What.All:
                ShowConfirmation(GetString("om.contact.massaction.removedall"));
                break;

            case What.Selected:
                ShowConfirmation(GetString("om.contact.massaction.removed"));
                break;
        }
    }
    private void ChangeStatus(What what)
    {
        int statusId = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);
        string where = null;

        switch (what)
        {
            case What.All:
                {
                    where = SqlHelper.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
                    where = "ContactID IN (SELECT ContactGroupMemberRelatedID FROM OM_ContactGroupMember WHERE " + where + ")";
                }
                break;

            case What.Selected:
                where = SqlHelper.GetWhereCondition<int>("ContactID", gridElem.SelectedItems, false);
                break;
        }

        ContactInfoProvider.UpdateContactStatus(statusId, where);

        ShowConfirmation(GetString("om.contact.massaction.statuschanged"));
    }
 public BinSettingsContainer(CurrentUserInfo user, What what)
     : this()
 {
     User = user;
     CurrentWhat = what;
 }
    /// <summary>
    /// Mass operation button "OK" click.
    /// </summary>
    protected void btnOk_Click(object sender, EventArgs e)
    {
        // Get where condition depending on mass action selection
        string where = null;

        What what = (What)ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        switch (what)
        {
        // All items
        case What.All:
            where = SqlHelper.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
            break;

        // Selected items
        case What.Selected:
            where = SqlHelper.GetWhereCondition <int>("ContactID", gridElem.SelectedItems, false);
            break;
        }

        Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);

        switch (action)
        {
        // Action 'Change status'
        case Action.ChangeStatus:
            // Get selected status ID from hidden field
            int statusId = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);
            // If status ID is 0, the status will be removed
            if (statusId >= 0)
            {
                ContactInfoProvider.UpdateContactStatus(statusId, where);
                ShowConfirmation(GetString("om.contact.massaction.statuschanged"));
            }
            break;

        // Action 'Add to contact group'
        case Action.AddToGroup:
            // Get contact group ID from hidden field
            int groupId = ValidationHelper.GetInteger(hdnIdentifier.Value, 0);
            if (groupId > 0)
            {
                var contactGroup = ContactGroupInfoProvider.GetContactGroupInfo(groupId);

                if (contactGroup == null)
                {
                    RedirectToAccessDenied(GetString("general.invalidparameters"));
                    return;
                }

                if (contactGroup.ContactGroupSiteID != CurrentSite.SiteID)
                {
                    RedirectToAccessDenied(GetString("general.invalidparameters"));
                    return;
                }

                List <string> contactIds = null;
                switch (what)
                {
                // All items
                case What.All:
                    // Get selected IDs based on where condition
                    DataSet contacts = ContactInfoProvider.GetContacts().Where(where).Column("ContactID");
                    if (!DataHelper.DataSourceIsEmpty(contacts))
                    {
                        // Get array list with IDs
                        contactIds = DataHelper.GetUniqueValues(contacts.Tables[0], "ContactID", true);
                    }
                    break;

                // Selected items
                case What.Selected:
                    // Get selected IDs from unigrid
                    contactIds = gridElem.SelectedItems;
                    break;
                }

                if (contactIds != null)
                {
                    // Add each selected contact to the contact group, skip contacts that are already members of the group
                    foreach (string item in contactIds)
                    {
                        int contactId = item.ToInteger(0);

                        if (contactId > 0)
                        {
                            ContactGroupMemberInfoProvider.SetContactGroupMemberInfo(groupId, contactId, ContactGroupMemberTypeEnum.Contact, MemberAddedHowEnum.Manual);
                        }
                    }
                    // Show result message with contact group's display name
                    ShowConfirmation(String.Format(GetString("om.contact.massaction.addedtogroup"), ResHelper.LocalizeString(contactGroup.ContactGroupDisplayName)));
                }
            }
            break;

        // Merge click
        case Action.Merge:
            DataSet selectedContacts = ContactHelper.GetContactListInfos(null, where, null, -1, null);
            if (!DataHelper.DataSourceIsEmpty(selectedContacts))
            {
                // Get selected contact ID from hidden field
                int contactID = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);
                // If contact ID is 0 then new contact must be created
                if (contactID == 0)
                {
                    int siteID;
                    if (filter.DisplaySiteSelector || filter.DisplayGlobalOrSiteSelector)
                    {
                        siteID = filter.SelectedSiteID;
                    }
                    else
                    {
                        siteID = SiteID;
                    }

                    SetDialogParameters(selectedContacts, ContactHelper.GetNewContact(ContactHelper.MERGED, true, siteID));
                }
                // Selected contact to be merged into
                else if (contactID > 0)
                {
                    SetDialogParameters(selectedContacts, ContactInfoProvider.GetContactInfo(contactID));
                }
                OpenWindow();
            }

            break;

        default:
            return;
        }

        // Reload unigrid
        gridElem.ClearSelectedItems();
        gridElem.ReloadData();
        pnlUpdate.Update();
    }
    protected void btnOk_OnClick(object sender, EventArgs e)
    {
        pnlLog.Visible = true;

        CurrentError = string.Empty;

        int actionValue = ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        Action action = (Action)actionValue;

        int whatValue = ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);
        currentWhat = (What)whatValue;

        BinSettingsContainer binSettings = new BinSettingsContainer(mCurrentUser, currentWhat);

        switch (currentWhat)
        {
            case What.SelectedDocuments:
                if (ugRecycleBin.SelectedItems.Count <= 0)
                {
                    return;
                }

                binSettings.SelectedItems = ugRecycleBin.SelectedItems;
                break;
        }

        switch (action)
        {
            case Action.Restore:
                {
                    ctlAsyncLog.TitleText = GetString("Recyclebin.RestoringDocuments");
                    RunAsync(p => Restore(binSettings));
                }
                break;

            case Action.Delete:
                {
                    ctlAsyncLog.TitleText = GetString("recyclebin.emptyingbin");
                    RunAsync(p => EmptyBin(binSettings));
                }
                break;
        }
    }
Exemple #27
0
 public void TransportControl(object control, object value)
 {
     what     = What.OOB_CONTROL_SOURCE;
     xcontrol = control;
     xvalue   = value;
 }
    private void StartNewProcess(What what, string where)
    {
        try
        {
            AutomationManager manager = AutomationManager.GetInstance(CurrentUser);

            List <string> contactIds = null;

            switch (what)
            {
            case What.All:
                // Get selected IDs based on where condition
                DataSet contacts = ContactGroupMemberInfoProvider.GetRelationships().Where(where).Column("ContactGroupMemberRelatedID");
                if (!DataHelper.DataSourceIsEmpty(contacts))
                {
                    contactIds = DataHelper.GetUniqueValues(contacts.Tables[0], "ContactGroupMemberRelatedID", true);
                }
                break;

            case What.Selected:
                contactIds = gridElem.SelectedItems;
                break;
            }

            if (contactIds != null)
            {
                string error = String.Empty;
                using (CMSActionContext context = new CMSActionContext())
                {
                    context.AllowAsyncActions = false;
                    int processId = ValidationHelper.GetInteger(hdnIdentifier.Value, 0);

                    foreach (string contactId in contactIds)
                    {
                        var contact = ContactInfoProvider.GetContactInfo(ValidationHelper.GetInteger(contactId, 0));

                        try
                        {
                            manager.StartProcess(contact, processId);
                        }
                        catch (ProcessRecurrenceException ex)
                        {
                            error += "<div>" + ex.Message + "</div>";
                        }
                    }
                }

                if (String.IsNullOrEmpty(error))
                {
                    string confirmation = GetString(what == What.All ? "ma.process.started" : "ma.process.startedselected");
                    ShowConfirmation(confirmation);
                }
                else
                {
                    ShowError(GetString("ma.process.error"), error, null);
                }
            }
        }
        catch (Exception ex)
        {
            LogAndShowError("Automation", "STARTPROCESS", ex);
        }
    }
Exemple #29
0
 public void TransportPacket(Who recipient, FlexBuffer buf)
 {
     what            = What.PACKETSOURCEPACKET;
     this.xrecipient = recipient;
     this.xbuf       = buf.GetAvailBytes();
 }
    protected void btnOk_OnClick(object sender, EventArgs e)
    {
        pnlLog.Visible = true;

        CurrentError = string.Empty;
        CurrentLog.Close();
        EnsureLog();

        int    actionValue = ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        Action action      = (Action)actionValue;

        int whatValue = ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        currentWhat = (What)whatValue;

        ctlAsync.Parameter = new BinSettingsContainer(CurrentUser, currentWhat, CurrentSite);
        switch (action)
        {
        case Action.Restore:
        case Action.RestoreToCurrentSite:
        case Action.RestoreWithoutSiteBindings:
            switch (currentWhat)
            {
            case What.AllObjects:
                break;

            case What.SelectedObjects:
                if (ugRecycleBin.SelectedItems.Count <= 0)
                {
                    return;
                }
                break;
            }

            titleElemAsync.TitleText = GetString("objectversioning.Recyclebin.Restoringobjects");

            switch (action)
            {
            case Action.Restore:
                RunAsync(RestoreWithChildren);
                break;

            case Action.RestoreToCurrentSite:
                RunAsync(RestoreToCurrentSite);
                break;

            case Action.RestoreWithoutSiteBindings:
                RunAsync(RestoreWithoutSiteBindings);
                break;
            }

            break;

        case Action.Delete:
            switch (currentWhat)
            {
            case What.AllObjects:
                break;

            case What.SelectedObjects:
                break;
            }
            titleElemAsync.TitleText = GetString("recyclebin.emptyingbin");
            RunAsync(EmptyBin);
            break;
        }
    }
    protected void btnOk_OnClick(object sender, EventArgs e)
    {
        pnlLog.Visible = true;

        CurrentError = string.Empty;
        CurrentLog.Close();
        EnsureLog();

        int actionValue = ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        Action action = (Action)actionValue;

        int whatValue = ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);
        currentWhat = (What)whatValue;

        ctlAsync.Parameter = new BinSettingsContainer(CurrentUser, currentWhat, CurrentSite);
        switch (action)
        {
            case Action.Restore:
            case Action.RestoreToCurrentSite:
            case Action.RestoreWithoutSiteBindings:
                switch (currentWhat)
                {
                    case What.AllObjects:
                        titleElemAsync.TitleImage = GetImageUrl("CMSModules/CMS_RecycleBin/restoreall.png");
                        break;

                    case What.SelectedObjects:
                        titleElemAsync.TitleImage = GetImageUrl("CMSModules/CMS_RecycleBin/restoreselected.png");
                        if (ugRecycleBin.SelectedItems.Count <= 0)
                        {
                            return;
                        }
                        break;
                }

                titleElemAsync.TitleText = GetString("objectversioning.Recyclebin.Restoringobjects");

                switch (action)
                {
                    case Action.Restore:
                        RunAsync(RestoreWithChilds);
                        break;

                    case Action.RestoreToCurrentSite:
                        RunAsync(RestoreToCurrentSite);
                        break;

                    case Action.RestoreWithoutSiteBindings:
                        RunAsync(RestoreWithoutSiteBindings);
                        break;
                }

                break;

            case Action.Delete:
                switch (currentWhat)
                {
                    case What.AllObjects:
                        titleElemAsync.TitleImage = GetImageUrl("CMSModules/CMS_RecycleBin/emptybin.png");
                        break;

                    case What.SelectedObjects:
                        titleElemAsync.TitleImage = GetImageUrl("CMSModules/CMS_RecycleBin/emptyselected.png");
                        break;
                }
                titleElemAsync.TitleText = GetString("recyclebin.emptyingbin");
                RunAsync(EmptyBin);
                break;
        }
    }
        public QueryResult Search(string query)
        {
            //API example: http://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=wikipedia&srprop=timestamp
            _client.BaseUrl = string.Format(UseTLS ? "https://{0}.wikipedia.org/w/" : "http://{0}.wikipedia.org/w/", Language.GetStringValue());

            RestRequest request = new RestRequest("api.php", Method.GET);

            //Required
            request.AddParameter("action", "query");
            request.AddParameter("list", "search");
            request.AddParameter("srsearch", query);
            request.AddParameter("format", Format.ToString().ToLower());

            //Optional
            if (Infos.HasElements())
            {
                request.AddParameter("srinfo", string.Join("|", Infos).ToLower());
            }

            if (Limit != 0)
            {
                request.AddParameter("srlimit", Limit);
            }

            if (Offset != 0)
            {
                request.AddParameter("sroffset", Offset);
            }

            if (Namespaces.HasElements())
            {
                request.AddParameter("srnamespace", string.Join("|", Namespaces).ToLower());
            }

            if (Properties.HasElements())
            {
                request.AddParameter("srprop", string.Join("|", Properties).ToLower());
            }

            if (Redirects)
            {
                request.AddParameter("srredirects", Redirects.ToString().ToLower());
            }

            if (What != What.Title)
            {
                request.AddParameter("srwhat", What.ToString().ToLower());
            }

            if (ServedBy)
            {
                request.AddParameter("servedby", ServedBy.ToString().ToLower());
            }

            if (!string.IsNullOrEmpty(RequestID))
            {
                request.AddParameter("requestid", RequestID);
            }

            //Output
            RestResponse response = (RestResponse)_client.Execute(request);

            IDeserializer deserializer;

            switch (Format)
            {
            case Format.XML:
                deserializer = new XmlAttributeDeserializer();
                break;

            case Format.JSON:
                deserializer = new JsonDeserializer();
                break;

            default:
                deserializer = new XmlAttributeDeserializer();
                break;
            }

            //The format that Wikipedia uses
            deserializer.DateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'";

            deserializer.RootElement = "query";

            QueryResult results = deserializer.Deserialize <QueryResult>(response);

            //For convinience, we autocreate Uris that point directly to the wiki page.
            if (results.Search != null)
            {
                foreach (Search search in results.Search)
                {
                    search.Url = UseTLS ? new Uri("https://" + Language.GetStringValue() + ".wikipedia.org/wiki/" + search.Title) : new Uri("http://" + Language.GetStringValue() + ".wikipedia.org/wiki/" + search.Title);
                }
            }

            return(results);
        }
Exemple #33
0
 private void AssertWhat(What what, Monitor <What> mon)
 {
     mon.WaitUntilEqAndSet(what, TIMEOUT, default(What));
 }
Exemple #34
0
    /// <summary>
    /// Mass operation button "OK" click.
    /// </summary>
    protected void btnOk_Click(object sender, EventArgs e)
    {
        // Get where condition depending on mass action selection
        string where = null;

        What what = (What)ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        switch (what)
        {
        // All items
        case What.All:
            where = SqlHelper.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
            break;

        // Selected items
        case What.Selected:
            where = SqlHelper.GetWhereCondition <int>("AccountID", gridElem.SelectedItems, false);
            break;
        }

        Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);

        switch (action)
        {
        // Action 'Change status'
        case Action.ChangeStatus:
        {
            // Get selected status ID from hidden field
            int statusId = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);
            // If status ID is 0, the status will be removed
            if (statusId >= 0)
            {
                AccountInfoProvider.UpdateAccountStatus(statusId, where);
                ShowConfirmation(GetString("om.account.massaction.statuschanged"));
            }
        }
        break;

        // Action 'Add to contact group'
        case Action.AddToGroup:
        {
            // Get contact group ID from hidden field
            int groupId = ValidationHelper.GetInteger(hdnIdentifier.Value, 0);
            if (groupId > 0)
            {
                IEnumerable <string> accountIds = null;

                switch (what)
                {
                // All items
                case What.All:
                    // Get selected IDs based on where condition
                    DataSet accounts = AccountInfoProvider.GetAccounts().Where(where).Column("AccountID");
                    if (!DataHelper.DataSourceIsEmpty(accounts))
                    {
                        // Get array list with IDs
                        accountIds = DataHelper.GetUniqueValues(accounts.Tables[0], "AccountID", true);
                    }
                    break;

                // Selected items
                case What.Selected:
                    // Get selected IDs from UniGrid
                    accountIds = gridElem.SelectedItems;
                    break;
                }

                if (accountIds != null)
                {
                    // Add each selected account to the contact group, skip accounts that are already members of the group
                    foreach (string item in accountIds)
                    {
                        int accountId = ValidationHelper.GetInteger(item, 0);
                        if ((accountId > 0) && (ContactGroupMemberInfoProvider.GetContactGroupMemberInfoByData(groupId, accountId, ContactGroupMemberTypeEnum.Account) == null))
                        {
                            ContactGroupMemberInfoProvider.SetContactGroupMemberInfo(groupId, accountId, ContactGroupMemberTypeEnum.Account, MemberAddedHowEnum.Account);
                        }
                    }
                    // Get contact group to show result message with its display name
                    ContactGroupInfo group = ContactGroupInfoProvider.GetContactGroupInfo(groupId);
                    if (group != null)
                    {
                        ShowConfirmation(String.Format(GetString("om.account.massaction.addedtogroup"), ResHelper.LocalizeString(group.ContactGroupDisplayName)));
                    }
                }
            }
        }
        break;


        // Merge click
        case Action.Merge:
            DataSet selectedAccounts = AccountHelper.GetAccounListInfos(null, where, null, -1, null);
            if (!DataHelper.DataSourceIsEmpty(selectedAccounts))
            {
                // Get selected account ID from hidden field
                int accountID = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);
                // If account ID is 0 then new contact must be created
                if (accountID == 0)
                {
                    int siteID;
                    if (filter.DisplaySiteSelector || filter.DisplayGlobalOrSiteSelector)
                    {
                        siteID = filter.SelectedSiteID;
                    }
                    else
                    {
                        siteID = SiteID;
                    }

                    SetDialogParameters(selectedAccounts, AccountHelper.GetNewAccount(AccountHelper.MERGED, siteID));
                }
                // Selected contact to be merged into
                else if (accountID > 0)
                {
                    SetDialogParameters(selectedAccounts, AccountInfoProvider.GetAccountInfo(accountID));
                }
                OpenWindow();
            }
            break;

        default:
            return;
        }

        // Reload UniGrid
        gridElem.ResetSelection();
        gridElem.ReloadData();
        pnlUpdate.Update();
    }
 public BinSettingsContainer(CurrentUserInfo user, What what, SiteInfo site)
     : this()
 {
     User = user;
     CurrentWhat = what;
     Site = site;
 }
    protected void btnOk_Click(object sender, EventArgs e)
    {
        if (CommunityGroupID == 0)
        {
            // Check forums modify permissions
            if (!MembershipContext.AuthenticatedUser.IsAuthorizedPerResource("cms.forums", PERMISSION_MODIFY))
            {
                RedirectToAccessDenied("cms.forums", PERMISSION_MODIFY);
            }
        }
        else
        {
            // Check group permissions
            CMSDeskPage.CheckGroupPermissions(CommunityGroupID, PERMISSION_MANAGE);
        }

        Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        What   what   = What.Selected; //(What)ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        List <int> items = new List <int>();

        switch (what)
        {
        // Only selected posts
        case What.Selected:
            foreach (string item in gridPosts.SelectedItems)
            {
                items.Add(ValidationHelper.GetInteger(item, 0));
            }
            break;

        // On posts in unigrid
        case What.All:
            DataSet ds = gridPosts.GridView.DataSource as DataSet;
            if (!DataHelper.DataSourceIsEmpty(ds))
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    int postId = ValidationHelper.GetInteger(dr["PostId"], 0);
                    items.Add(postId);
                }
            }
            break;
        }

        // For all specified forum posts
        foreach (int postId in items)
        {
            ForumPostInfo fpi = ForumPostInfoProvider.GetForumPostInfo(postId);
            if (fpi != null)
            {
                switch (action)
                {
                // Approve post
                case Action.Approve:
                    fpi.Approve();
                    break;

                // Approve subtree
                case Action.ApproveSubTree:
                    fpi.Approve(MembershipContext.AuthenticatedUser.UserID, true);
                    break;

                // Reject post
                case Action.Reject:
                    fpi.Reject();
                    break;

                // Reject subtree
                case Action.RejectSubTree:
                    fpi.Reject(true);
                    break;

                // Delete post
                case Action.Delete:
                    ForumPostInfoProvider.DeleteForumPostInfo(fpi);
                    break;
                }
            }
        }

        // If something happened
        if (items.Count > 0)
        {
            // Get rid of selection
            gridPosts.ResetSelection();

            // Reload unigrid to see changes
            gridPosts.ReloadData();

            // Force refresh post tree
            ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "RefreshPostTree", ScriptHelper.GetScript("SelectInTree(" + PostId + ", true);"));
        }
    }
    protected void btnOk_OnClick(object sender, EventArgs e)
    {
        pnlLog.Visible = true;
        //pnlContent.Visible = false;

        CurrentError = string.Empty;
        CurrentLog.Close();
        EnsureLog();

        int actionValue = ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        Action action = (Action)actionValue;

        int whatValue = ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);
        currentWhat = (What)whatValue;

        ctlAsync.Parameter = new BinSettingsContainer(currentUser, currentWhat);
        switch (action)
        {
            case Action.Restore:
                switch (currentWhat)
                {
                    case What.AllDocuments:
                        break;

                    case What.SelectedDocuments:
                        if (ugRecycleBin.SelectedItems.Count <= 0)
                        {
                            return;
                        }
                        break;
                }
                titleElemAsync.TitleText = GetString("Recyclebin.RestoringDocuments");
                RunAsync(Restore);
                break;

            case Action.Delete:
                switch (currentWhat)
                {
                    case What.AllDocuments:
                        break;

                    case What.SelectedDocuments:
                        break;
                }
                titleElemAsync.TitleText = GetString("recyclebin.emptyingbin");
                RunAsync(EmptyBin);
                break;
        }
    }
Exemple #38
0
 public void TransportMessage(Who recipient, Org.Apache.Etch.Bindings.Csharp.Msg.Message msg)
 {
     this.what      = What.TRANSPORT_MESSAGE;
     this.recipient = recipient;
     this.msg       = msg;
 }
    protected void btnOk_Click(object sender, EventArgs e)
    {
        if (mModifyAccountContact)
        {
            Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);
            What   what   = (What)ValidationHelper.GetInteger(drpWhat.SelectedItem.Value, 0);

            string where = string.Empty;

            switch (what)
            {
            // All items
            case What.All:
                where = SqlHelper.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
                where = string.Format("ContactID={0} AND AccountID IN (SELECT AccountID FROM View_OM_AccountContact_AccountJoined WHERE {1})", mContactInfo.ContactID, where);
                break;

            // Selected items
            case What.Selected:
                where = SqlHelper.GetWhereCondition <int>("AccountContactID", gridElem.SelectedItems, false);
                break;

            default:
                return;
            }

            switch (action)
            {
            // Action 'Remove'
            case Action.Remove:
                // Reset accounts' main contact IDs if the contact was set as primary or secondary contact
                AccountContactInfoProvider.ResetAccountMainContacts(0, mContactInfo.ContactID, where);
                // Delete the relations between contact and accounts
                AccountContactInfoProvider.DeleteAllAccountContacts(where);
                // Show result message
                if (what == What.Selected)
                {
                    ShowConfirmation(GetString("om.account.massaction.removed"));
                }
                else
                {
                    ShowConfirmation(GetString("om.account.massaction.removedall"));
                }
                break;

            // Action 'Select role'
            case Action.SelectRole:
                // Get selected role ID from hidden field
                int roleId = ValidationHelper.GetInteger(hdnValue.Value, -1);
                if (roleId >= 0 && mModifyAccountContact)
                {
                    AccountContactInfoProvider.UpdateContactRole(roleId, where);
                    ShowConfirmation(GetString("om.contact.massaction.roleassigned"));
                }
                break;

            default:
                return;
            }

            // Reload unigrid
            gridElem.ResetSelection();
            gridElem.ReloadData();
            pnlUpdate.Update();
        }
        // No permission modify
        else
        {
            CMSPage.RedirectToAccessDenied(ModuleName.CONTACTMANAGEMENT, "Modify");
        }
    }
 /// <summary>
 /// Printable version of the Reponse data
 /// </summary>
 /// <returns></returns>
 public override string ToString()
 {
     return($"{What.ToString()}[{MessageId}]: {(Type == Type.Code ? Code.ToString() : Message)}");
 }
    /// <summary>
    /// Mass operation button "OK" click.
    /// </summary>
    protected void btnOk_Click(object sender, EventArgs e)
    {
        string resultMessage = string.Empty;

        // Get where condition depending on mass action selection
        string where;
        List <string> contactIds = null;

        What what = (What)ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        switch (what)
        {
        // All items
        case What.All:
            // Get all contacts with scores based on filter condition
            var contacts = GetContactsWithScore();

            if (!DataHelper.DataSourceIsEmpty(contacts))
            {
                // Get array list with IDs
                contactIds = DataHelper.GetUniqueValues(contacts.Tables[0], "ContactID", true);
            }
            break;

        // Selected items
        case What.Selected:
            // Get selected IDs from unigrid
            contactIds = gridElem.SelectedItems;
            break;
        }

        // Prepare where condition
        if ((contactIds != null) && (contactIds.Count > 0))
        {
            where = SqlHelper.GetWhereCondition <int>("ContactID", contactIds, false);
        }
        else
        {
            where = "0=1";
        }

        Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);

        switch (action)
        {
        // Action 'Change status'
        case Action.ChangeStatus:
            // Get selected status ID from hidden field
            int statusId = ValidationHelper.GetInteger(hdnIdentifier.Value, -1);
            // If status ID is 0, the status will be removed
            if (statusId >= 0)
            {
                ContactInfoProvider.UpdateContactStatus(statusId, where);
                resultMessage = GetString("om.contact.massaction.statuschanged");
            }
            break;

        // Action 'Add to contact group'
        case Action.AddToGroup:
            // Get contact group ID from hidden field
            int groupId = ValidationHelper.GetInteger(hdnIdentifier.Value, 0);
            if ((groupId > 0) && (contactIds != null))
            {
                // Add each selected contact to the contact group, skip contacts that are already members of the group
                foreach (string item in contactIds)
                {
                    int contactId = ValidationHelper.GetInteger(item, 0);
                    if (contactId > 0)
                    {
                        ContactGroupMemberInfoProvider.SetContactGroupMemberInfo(groupId, contactId, ContactGroupMemberTypeEnum.Contact, MemberAddedHowEnum.Manual);
                    }
                }
                // Get contact group to show result message with its display name
                ContactGroupInfo group = ContactGroupInfoProvider.GetContactGroupInfo(groupId);
                if (group != null)
                {
                    resultMessage = String.Format(GetString("om.contact.massaction.addedtogroup"), group.ContactGroupDisplayName);
                }
            }
            break;

        default:
            return;
        }

        if (!string.IsNullOrEmpty(resultMessage))
        {
            lblInfo.Text    = resultMessage;
            lblInfo.Visible = true;
        }

        // Reload unigrid
        gridElem.ClearSelectedItems();
        gridElem.ReloadData();
        pnlUpdate.Update();
    }
Exemple #42
0
    /// <summary>
    /// Button OK click event handler.
    /// </summary>
    protected void btnOk_Click(object sender, EventArgs e)
    {
        if (modifyAccountContact)
        {
            string resultMessage = string.Empty;

            Action action = (Action)ValidationHelper.GetInteger(drpAction.SelectedItem.Value, 0);
            What   what   = (What)ValidationHelper.GetInteger(drpWhat.SelectedItem.Value, 0);

            string where = string.Empty;

            switch (what)
            {
            // All items
            case What.All:
                where = SqlHelperClass.AddWhereCondition(gridElem.WhereCondition, gridElem.WhereClause);
                where = string.Format("AccountID={0} AND ContactID IN (SELECT ContactID FROM View_OM_AccountContact_ContactJoined WHERE {1})", ai.AccountID, where);
                break;

            // Selected items
            case What.Selected:
                where = SqlHelperClass.GetWhereCondition <int>("AccountContactID", ContactHelper.GetSafeArray(gridElem.SelectedItems), false);
                break;

            default:
                return;
            }

            switch (action)
            {
            // Action 'Remove'
            case Action.Remove:
                // Reset account's main contact IDs if any of the contacts was set as primary or secondary contact
                AccountContactInfoProvider.ResetAccountMainContacts(ai.AccountID, 0, where);
                // Delete the relations between account and contacts
                AccountContactInfoProvider.DeleteAllAccountContacts(where);
                resultMessage = GetString("om.contact.massaction.removed");
                break;

            // Action 'Select role'
            case Action.SelectRole:
                // Get selected role ID from hidden field
                int roleId = ValidationHelper.GetInteger(hdnValue.Value, -1);
                if (roleId >= 0)
                {
                    AccountContactInfoProvider.UpdateContactRole(roleId, where);
                    resultMessage = GetString("om.contact.massaction.roleassigned");
                }
                break;

            default:
                return;
            }

            if (!string.IsNullOrEmpty(resultMessage))
            {
                lblInfo.Text    = resultMessage;
                lblInfo.Visible = true;
            }

            // Reload unigrid
            gridElem.ClearSelectedItems();
            gridElem.ReloadData();
            pnlUpdate.Update();
        }
        // No permission modify
        else
        {
            if (this.SiteID > 0)
            {
                CMSPage.RedirectToCMSDeskAccessDenied("CMS.ContactManagement", "ModifyAccounts");
            }
            else
            {
                CMSPage.RedirectToCMSDeskAccessDenied("CMS.ContactManagement", "ModifyGlobalAccounts");
            }
        }
    }
Exemple #43
0
    protected void btnOk_OnClick(object sender, EventArgs e)
    {
        pnlLog.Visible = true;

        CurrentError = string.Empty;

        int    actionValue = ValidationHelper.GetInteger(drpAction.SelectedValue, 0);
        Action action      = (Action)actionValue;

        int whatValue = ValidationHelper.GetInteger(drpWhat.SelectedValue, 0);

        currentWhat = (What)whatValue;

        BinSettingsContainer binSettings = new BinSettingsContainer(CurrentUser, currentWhat, CurrentSite);

        switch (currentWhat)
        {
        case What.SelectedObjects:
            if (ugRecycleBin.SelectedItems.Count <= 0)
            {
                return;
            }

            binSettings.SelectedItems = ugRecycleBin.SelectedItems;
            break;
        }

        switch (action)
        {
        case Action.Restore:
        case Action.RestoreToCurrentSite:
        case Action.RestoreWithoutSiteBindings:
        {
            ctlAsyncLog.TitleText = GetString("objectversioning.Recyclebin.Restoringobjects");

            switch (action)
            {
            case Action.Restore:
                RunAsync(p => RestoreWithChildren(binSettings));
                break;

            case Action.RestoreToCurrentSite:
                RunAsync(p => RestoreToCurrentSite(binSettings));
                break;

            case Action.RestoreWithoutSiteBindings:
                RunAsync(p => RestoreWithoutSiteBindings(binSettings));
                break;
            }
        }
        break;

        case Action.Delete:
        {
            ctlAsyncLog.TitleText = GetString("recyclebin.emptyingbin");

            RunAsync(p => EmptyBin(binSettings));
        }
        break;
        }
    }
Exemple #44
0
 public BinSettingsContainer(CurrentUserInfo user, What what)
     : this()
 {
     User        = user;
     CurrentWhat = what;
 }