iMIS Community facilitates the collaborative development of iMIS applications and solutions among the customers, partners, and developers of Advanced Solutions International.

Telerik DatePicker doesn't display in IE in 15.1.3

In one of my iParts, I'm using a Telerik RadGrid using the EditForms mode for editing a row.

<asp:Panel ID="body" runat="server" CssClass="PanelBody">
<telerik:RadGrid ID="RADGrid" runat="server" CssClass="MultiDE" >
    <MasterTableView CssClass="Grid" EditMode="EditForms">
      <Columns>

When my grid includes a datetime field, this is rendered as a text input followed by an icon to open the DatePicker calendar.  At least, that's how it is on 15.1.2.

paymentGatewayService configuration for a custom PaymentGatewayProvider

With the current configuration:

<configuration>
  <configSections>
    <sectionGroup name="system.web">
      <section name="paymentGatewayService" type="Asi.iBO.Commerce.PaymentGatewayServiceSection, Asi.iBO" allowDefinition="MachineToApplication" restartOnExternalChanges="true" />
    </sectionGroup>
  </configSections>

  <system.web>
    <paymentGatewayService defaultProvider="MockCustomPaymentGatewayProvider">
      <providers>
        <add name="MockCustomPaymentGatewayProvider" type="Crown.Imis.IntegrationTests.MockCustomPaymentGatewayProvider, Crown.Imis.IntegrationTests" authorizationAccounts="AUTHORIZE" />
      </providers>
    </paymentGatewayService>
  </system.web>
...
</configuration>

Raiser's Edge Conversion (pdf files)

Has anyone converted pdf files from Raiser's Edge to iMIS 15?

I have been told the pdf files are actually stored in the RE database.

Any assistance would be appreciated!

Modify the event grid (for Event List) - ASPX/IMIS Newbie

Hello Everyone, it's the Newbie again.

I want to alter the appearance of the event grid found in Courses/Core/Events/Events.aspx  => ie. asiweb:Lister2 id="EventsGrid"

but I am a complete newbie to all things iMIS and ASPX etc.  Where do I find a list of avaliable asiweb objects (ie. Lister2)? And any tips / references on getting started with aspx etc?  I love the forum but many of the questions/discussions are over my head right now....

Stored Procedure for attaching file to an Activity

Morning,

Has anyone had any experience with attaching a file to a Customer Activity record using a stored procedure?

We use TaskCentre to run a stored procedure to generate activities for emails but would like to start adding a pdf version of the email as an activity (the same way iEmail does).
Before I go down the road of trying to write it I wanted to see if their was generic code floating around.

Unexpected CPayment behavior

This NUnit TestFixture demonstrates some unexpected behavior in CPayments.  Note that you will need to alter or provide some of the values to run on your machine, if you so choose, but I think you can see by reading this some gotchas to look out for:

using System;
using System.Configuration;

using Asi.iBO;
using Asi.iBO.Financials;
using NUnit.Framework;

namespace Crown.Imis.IntegrationTests
{
    [TestFixture, Explicit("demos")]
    public class CPaymentGotchaDemonstrations
    {
        [TestFixtureSetUp]
        public void TestFixtureSetUp()
        {
            iboAdmin.InitializeSystem(ConfigurationManager.ConnectionStrings["DataSource.iMIS.Connection"].ConnectionString);
        }

        [Test]
        [ExpectedException(typeof(ArgumentOutOfRangeException))]
        public void Demo_Setting_CreditCardNumber_toVisaTestNumberAfterSetting_CashAccountCode_CausesUnhandledException()
        {
            var payment = new CPayment(CStaffUser.GetDefaultStaffUser())
            {
                CashAccountCode = "VISA",
                CreditCardNumber = "4007000000027"  // VISA test number, eh?
            };
        }

        [Test]
        [ExpectedException(typeof(Asi.iBO.InvalidCardNumberException))]
        public void Demo_Setting_CreditCardNumber_to011201539123After_CashAccountCode_Causes_InvalidCardNumberException()
        {
            var payment = new CPayment(CStaffUser.GetDefaultStaffUser())
            {
                CashAccountCode = "VISA",
                CreditCardNumber = "011201539123"   // it's irrelevant how I came up with this number.  No idea yet on what is wrong with it.
            };
        }

        [Test]
        public void Demo_Setting_PaymentType_After_CreditCardNumber_Clears_CreditCardNumber()
        {
            var payment = new CPayment(CStaffUser.GetDefaultStaffUser())
            {
                CreditCardNumber = "4007000000027", // VISA test number
                PaymentType = EnumPaymentType.Check
            };

            Assert.IsNullOrEmpty(payment.CreditCardNumber);
        }

        [Test]
        public void Demo_SettingCashAccountCodeChangesPaymentTypeToCreditWhenCashAccountIsCreditType()
        {
            var payment = new CPayment(CStaffUser.GetDefaultStaffUser());
            payment.PaymentType = EnumPaymentType.Check;
            payment.CashAccountCode = "VISA";

            Assert.AreEqual(EnumPaymentType.CreditCard, payment.PaymentType);
        }
    }
}

getting and inserting cash accounts

For automated tests, I need to get CCashAccounts from the database and insert CCashAccounts into the database.  How can I do this?  Is there some parent object I need to use to obtain or insert CCashAccounts?

Blog interrupted by newly discovered shortcut

Last Friday, I had started to blog about a couple of new shortcuts I learned of on Lifehacker.com.  Just before posting, I accidentally discovered another one that blew away the content of my post.

In Windows Explorer (Vista and 7):

  • Rename Files Fast with the Tab Key - I started using this with file preview to quickly rename scanned files that the scanner delivers as datestamp.pdf.  This method also helps overcome the frustion of delays when trying to right-click to rename files on far-remote mapped drives or WebDAV drives.
  • Rename Windows Files in Bulk  - I was happy to find this.  Not too long ago, I resorted to a batch file to do a very similar rename.

Also be sure to check out The Best New Windows 7 Keyboard Shortcuts

Using a Query as a source for IQA

I have a client who wants a list of a particular member type (REG) who reside in Canada or in Washington State.

This is really easy to do with SQL: SELECT Full_Name, ID, State_Province, Country, Member_Type FROM Name WHERE STATE_PROVINCE = 'WA' OR COUNTRY = 'Canada'

I tried using IQA in the following ways:

  1. Create a query where I use the CsContact BO and Filter Member Type = "Regular" AND State Province = "Washington" OR Member Type = "Regular" AND Country = "Canada" Depending on the order, I either get all Washington or All Canada, but never both.  If I try Member Type = "Regular" and State Province = "Washington" or Country = "Canada" I get the same results, depending on the order
     
  2. I tried creating two queries - one where Member Type = "Regular" and Country = "Canada" and one where Member Type = "Regular" and State Province = "Washington" then used left outer joins to the CsContact BO for each of them, but got multiple lines for each result and only ID numbers, no other fields
     
  3. I created a query to just show Member Type = "Regular" and then used it as my source for a query where Country = "Canada" or State Province = "Washington" and was able to get only Canada and Washington but for every member type.

The only solution I could find was to use State Province and select all the Canadian provinces as well as Washington.  This works for now, but in the future they will be asking me for this type of thing again and it may not be possible to make the filtering selections from one field.  Did I do something wrong with my joins or my filters?

command script to refresh the IIS world

This is a command script I use to reset the iMIS world completely in my local development environment, making sure nothing's cached in IIS or ASP.NET.  The script stops the Publishing and Workflow services, stops IIS, deletes the files in the ASP.NET cache, starts everything back up, and recycles the application pool used by iMIS.

Copy the lines below and save them in a .cmd file.  It needs to be run as administrator.