public IenResult SaveItem(NonVACareItem item)
        {
            // *** Creates a new Non VA Care Item ***

            IenResult result = new IenResult();

            // *** Create the command ***
            DsioSaveExternalEntityCommand command = new DsioSaveExternalEntityCommand(broker);

            // *** Create the entity to save ***
            DsioNonVAItem dsioItem = new DsioNonVAItem();

            //dsioItem.OriginalEntityName = item.OriginalName;
            dsioItem.Ien                 = item.Ien;
            dsioItem.EntityName          = item.Name;
            dsioItem.Address.StreetLine1 = item.AddressLine1;
            dsioItem.Address.StreetLine2 = item.AddressLine2;
            dsioItem.Address.City        = item.City;
            dsioItem.Address.State       = item.State;
            dsioItem.Address.ZipCode     = item.ZipCode;
            dsioItem.TelephoneList.Add(new DsioTelephone()
            {
                Number = item.PhoneNumber, Usage = DsioTelephone.WorkPhoneUsage
            });
            dsioItem.TelephoneList.Add(new DsioTelephone()
            {
                Number = item.FaxNumber, Usage = DsioTelephone.FaxUsage
            });
            dsioItem.PrimaryContact = item.PrimaryContact;

            //dsioItem.Inactive = (item.Inactive) ? "YES" : "NO";
            dsioItem.Inactive = (item.Inactive) ? "1" : "0";
            //dsioItem.EntityType = (item.ItemType== NonVACareItemType.Provider) ? "PROVIDER" : "FACILITY";
            dsioItem.EntityType = (item.ItemType == NonVACareItemType.Provider) ? "P" : "F";

            // *** Add the arguments ***
            command.AddCommandArguments(dsioItem);

            // *** Execute the command ***
            RpcResponse response = command.Execute();

            // *** Gather results ***
            result.Success = (response.Status == RpcResponseStatus.Success);
            result.Message = response.InformationalMessage;

            if (result.Success)
            {
                result.Ien = command.Ien;
            }

            return(result);
        }
        private NonVACareItem GetNonVACareItem(DsioNonVAItem dsioItem)
        {
            // *** Create a strongly typed item ***
            NonVACareItem item = new NonVACareItem()
            {
                Ien          = dsioItem.Ien,
                Name         = dsioItem.EntityName,
                OriginalName = dsioItem.EntityName,
                AddressLine1 = dsioItem.Address.StreetLine1,
                AddressLine2 = dsioItem.Address.StreetLine2,
                City         = dsioItem.Address.City,
                State        = dsioItem.Address.State,
                ZipCode      = dsioItem.Address.ZipCode,
                //Inactive = (dsioItem.Inactive == "YES") ? true : false,
                Inactive       = (dsioItem.Inactive == "1") ? true : false,
                PrimaryContact = dsioItem.PrimaryContact
            };

            if (dsioItem.TelephoneList != null)
            {
                foreach (DsioTelephone dsioTel in dsioItem.TelephoneList)
                {
                    if (dsioTel.Usage == DsioTelephone.WorkPhoneUsage)
                    {
                        item.PhoneNumber = dsioTel.Number;
                    }
                    else if (dsioTel.Usage == DsioTelephone.FaxUsage)
                    {
                        item.FaxNumber = dsioTel.Number;
                    }
                }
            }

            switch (dsioItem.EntityType)
            {
            case "PROVIDER":
            case "P":
                item.ItemType = NonVACareItemType.Provider;
                break;

            case "FACILITY":
            case "F":
                item.ItemType = NonVACareItemType.Facility;
                break;

            default:
                item.ItemType = NonVACareItemType.Provider;
                break;
            }

            return(item);
        }
        private NonVACareItemsResult GetList(string commandArgument, int page, int itemsPerPage, bool includeInactive)
        {
            // *** Get a list of all non va items ***

            NonVACareItemsResult result = new NonVACareItemsResult();

            // *** Create the command ***
            DsioGetExternalEntityCommand command = new DsioGetExternalEntityCommand(broker);

            // *** Add the arguments ***
            command.AddCommandArguments(commandArgument, page, itemsPerPage);

            // *** Execute the command ***
            RpcResponse response = command.Execute();

            // *** Gather the results ***
            result.Success = (response.Status == RpcResponseStatus.Success);
            result.Message = response.InformationalMessage;

            // *** Check for success ***
            if (result.Success)
            {
                result.TotalResults = command.TotalResults;

                if (result.TotalResults > 0)
                {
                    // *** Go through each returned item ***
                    foreach (DsioNonVAItem dsioItem in command.NonVAEntities)
                    {
                        NonVACareItem item = GetNonVACareItem(dsioItem);

                        // *** Add if active or including inactive ***
                        if ((item.Inactive == false) || (includeInactive))
                        {
                            result.Items.Add(item);
                        }
                    }
                }
            }

            return(result);
        }