public void GetCustomerByProvider()
        {
            //Get related customers by Provider
            CompanyCustomer.Models.Customer.CustomerModel oReturn =
                CompanyCustomer.Controller.CompanyCustomer.GetCustomerByProvider("1CA3A147", null);

            Assert.AreEqual(true, oReturn.RelatedProvider.Count >= 1 && oReturn.RelatedProvider != null);
        }
        public void GetCustomerInfoByProvider()
        {
            int TotalRows = 0;

            CompanyCustomer.Models.Customer.CustomerModel oReturn =
                CompanyCustomer.Controller.CompanyCustomer.GetCustomerInfoByProvider(118, true, 0, 1000000, out TotalRows);

            Assert.AreEqual(true, oReturn.RelatedProvider.Count >= 1 && TotalRows > 0);
        }
        public CompanyCustomer.Models.Customer.CustomerModel GetCustomerInfoByProvider(int CustomerProviderId, bool Enable, int PageNumber, int RowCount, out int TotalRows)
        {
            TotalRows = 0;

            List <System.Data.IDbDataParameter> lstParams = new List <IDbDataParameter>();

            lstParams.Add(DataInstance.CreateTypedParameter("vCustomerProviderId", CustomerProviderId));
            lstParams.Add(DataInstance.CreateTypedParameter("vEnable", Enable == true ? 1 : 0));
            lstParams.Add(DataInstance.CreateTypedParameter("vPageNumber", PageNumber));
            lstParams.Add(DataInstance.CreateTypedParameter("vRowCount", RowCount));

            ADO.Models.ADOModelResponse response = DataInstance.ExecuteQuery(new ADO.Models.ADOModelRequest()
            {
                CommandExecutionType = ADO.Models.enumCommandExecutionType.DataTable,
                CommandText          = "CC_GetCustomerInfoByProvider",
                CommandType          = CommandType.StoredProcedure,
                Parameters           = lstParams,
            });

            CompanyCustomer.Models.Customer.CustomerModel oReturn = null;

            if (response.DataTableResult != null &&
                response.DataTableResult.Rows.Count > 0)
            {
                TotalRows = response.DataTableResult.Rows[0].Field <int>("TotalRows");

                oReturn = new Models.Customer.CustomerModel()
                {
                    RelatedProvider = new List <Models.Customer.CustomerProviderModel>()
                    {
                        new Models.Customer.CustomerProviderModel()
                        {
                            CustomerProviderId   = response.DataTableResult.Rows[0].Field <int>("CustomerProviderId"),
                            CustomerProviderInfo =
                                (from cpi in response.DataTableResult.AsEnumerable()
                                 where !cpi.IsNull("CustomerProviderInfoId")
                                 group cpi by new
                            {
                                CustomerProviderInfoId = cpi.Field <int>("CustomerProviderInfoId"),
                                TrackingId = cpi.Field <int>("TrackingId"),
                                TrackingName = cpi.Field <string>("TrackingName"),
                                TrackingValue = cpi.Field <string>("TrackingValue"),
                                Enable = cpi.Field <UInt64>("Enable") == 1 ? true : false,
                                CreateDate = cpi.Field <DateTime>("CreateDate"),
                            } into cpinf
                                 select new ProveedoresOnLine.Company.Models.Util.GenericItemInfoModel()
                            {
                                ItemInfoId = cpinf.Key.CustomerProviderInfoId,
                                ItemInfoType = new Company.Models.Util.CatalogModel()
                                {
                                    ItemId = cpinf.Key.TrackingId,
                                    ItemName = cpinf.Key.TrackingName,
                                },
                                LargeValue = cpinf.Key.TrackingValue,
                                Enable = cpinf.Key.Enable,
                                CreateDate = cpinf.Key.CreateDate,
                            }).ToList()
                        }
                    }
                };
            }
            return(oReturn);
        }