/// <summary>
        /// The check service provider.
        /// </summary>
        /// <param name="serviceProvider">
        /// The service provider.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        private bool CheckServiceProvider(WebsiteServiceProvider serviceProvider, int userId)
        {
            bool response;

            switch (serviceProvider.State)
            {
            case ObjectStatus.ObjectState.Update:
                response = this.UpdateProvider(serviceProvider, userId);
                break;

            case ObjectStatus.ObjectState.Delete:
                response = this.DeleteProvider(serviceProvider, userId);
                break;

            case ObjectStatus.ObjectState.Create:
                response = this.CreateServiceProvider(serviceProvider);
                break;

            default:
                response = false;
                break;
            }

            return(response);
        }
        /// <summary>
        /// The reset for invalid model.
        /// </summary>
        /// <param name="provider"> The provider. </param>
        private void ResetForInvalidModel(WebsiteServiceProvider provider)
        {
            // Get everything set back up before sending the user back.
            this.SetupViewBag();
            if (provider.Services == null)
            {
                provider.Services = new WebServiceAreas
                {
                    ServiceAreas = new List <int>()
                };
            }

            // Reset the state lists.
            var countryList = this.dataLogics.GetCountries();
            var usa         = countryList.Find(country => country.FullName == "United States");
            var states      = this.dataLogics.GetStates(usa.Id);

            foreach (var location in provider.Locations)
            {
                location.StateId = int.Parse(location.StateIdString);
                location.States  = new SelectList(states, "Id", "Name");

                if (location.Coverage == null)
                {
                    location.Coverage = new List <Coverage>();
                }
            }
        }
        /// <summary>
        /// The delete provider.
        /// </summary>
        /// <param name="serviceProvider">
        /// The service provider.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        private bool DeleteProvider(WebsiteServiceProvider serviceProvider, int userId)
        {
            var name = serviceProvider.Name;

            if (!this.DeleteLocations(serviceProvider.Locations))
            {
                return(false);
            }

            if (!this.DeleteProviderServices(serviceProvider))
            {
                return(false);
            }

            if (!this.serviceProviderRepo.DeleteProvider(serviceProvider))
            {
                return(false);
            }
            else
            {
                return(this.serviceProviderRepo.LogServiceProviderEdit(new ServiceProviderEdit
                {
                    ProviderId = null,
                    UserId = userId,
                    DateTime = DateTime.Now,
                    Action = "Deleted",
                    DeletedProviderName = serviceProvider.Name
                }));
            }
        }
        public void MyTestInitialize()
        {
            this.controller = new ServiceProviderController();

            this.originalLocation = new ServiceProviderLocation
            {
                Id            = 1,
                StateIdString = "34",
                Contact       = new ServiceProviderContactRequired
                {
                    Id = 1223
                },
                Coverage = new List <Coverage>
                {
                    new Coverage {
                        CountyId = 1, CountryId = 1, Id = 2, StateId = 1
                    }
                }
            };

            this.originalProvider = new WebsiteServiceProvider
            {
                Id        = 4,
                Name      = "Test",
                Type      = 2,
                Locations = new List <ServiceProviderLocation> {
                    this.originalLocation
                }
            };
        }
Esempio n. 5
0
        /// <summary>
        /// The create website service provider.
        /// </summary>
        /// <param name="databaseProvider">
        /// The database provider.
        /// </param>
        /// <returns>
        /// The <see cref="WebsiteServiceProvider"/>.
        /// </returns>
        private WebsiteServiceProvider CreateWebsiteServiceProvider(ServiceProvider databaseProvider)
        {
            var locations = new List <ServiceProviderLocation>();

            foreach (var databaseLocation in databaseProvider.Locations)
            {
                var location = this.CreateLocation(databaseLocation);

                locations.Add(location);
            }

            var services = this.CreateProviderServices(databaseProvider);

            var serviceProvider = new WebsiteServiceProvider
            {
                Description = databaseProvider.Description,
                DisplayRank = databaseProvider.DisplayRank,
                Id          = databaseProvider.ID,
                Locations   = locations,
                Name        = databaseProvider.ProviderName,
                State       = ObjectStatus.ObjectState.Read,
                Services    = services,
                Type        = databaseProvider.ServiceTypes,
                TypeName    = databaseProvider.ServiceType.Name,
                IsActive    = databaseProvider.Active
            };

            return(serviceProvider);
        }
        public void GetDetailsTest()
        {
            var sampleCategory = new WebsiteCategory
            {
                Crime        = false,
                Description  = "description",
                Id           = 1,
                Name         = "Name",
                ServiceTypes = new List <WebsiteCategoryType> {
                    new WebsiteCategoryType {
                        Id = 2, Name = "Category1"
                    }
                }
            };

            var sampleServiceProvider = new WebsiteServiceProvider
            {
                Description = "Service Provider",
                DisplayRank = 3,
                Id          = 2,
                IsActive    = true,
                Name        = "My Name",
                Type        = 1,
                Services    = new WebServiceAreas {
                    ServiceAreas = new List <int> {
                        1, 3
                    }
                },
                Locations = new List <ServiceProviderLocation>
                {
                    new ServiceProviderLocation
                    {
                        Id      = 1,
                        Display = true,
                        Name    = "Location Name",
                        City    = "Dayton",
                        Zip     = "12344"
                    }
                }
            };
            var categoryList = new List <WebsiteCategory> {
                sampleCategory
            };

            var controller = new SpecialPopulationsController();

            using (ShimsContext.Create())
            {
                ShimDataLogics.AllInstances.GetWebsiteCategories = logics => categoryList;
                ShimDatabaseToWebServiceProvider.AllInstances.GetServiceProviderInt32 =
                    (provider, i) => sampleServiceProvider;
                var result      = controller.Details(2, null) as ViewResult;
                var resultModel = result.Model;
                Assert.IsNotNull(result);
                Assert.AreEqual(sampleServiceProvider, resultModel);
            }
        }
        /// <summary>
        /// The delete provider services.
        /// </summary>
        /// <param name="serviceProvider">
        /// The service provider.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        private bool DeleteProviderServices(WebsiteServiceProvider serviceProvider)
        {
            var providerCoverages = this.dataAccess.GetProviderServices(serviceProvider.Id);

            if (providerCoverages == null || providerCoverages.Count <= 0)
            {
                return(false);
            }

            return(this.DeleteProviderServices(providerCoverages));
        }
        public ActionResult Details(int id, int?locationId)
        {
            DatabaseToWebServiceProvider dbConverter = new DatabaseToWebServiceProvider();
            var dataLogics = new DataLogics();
            WebsiteServiceProvider provider = dbConverter.GetServiceProvider(id);
            var categories = dataLogics.GetWebsiteCategories();

            categories.Sort((category1, category2) => category1.Name.CompareTo(category2.Name));
            ViewBag.AllCategories = categories;

            return(this.View(provider));
        }
        public ActionResult Create(WebsiteServiceProvider provider)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    this.ResetForInvalidModel(provider);

                    this.SetErrorMessage();

                    return(this.View(provider));
                }

                // In each location, don't create a location contact if no information is given.
                foreach (var curLocation in provider.Locations)
                {
                    curLocation.StateId = int.Parse(curLocation.StateIdString);
                    if (this.IsContactPersonEmpty(curLocation.ContactPerson))
                    {
                        curLocation.ContactPerson = null;
                    }
                }

                var webToDb = new WebToDatabaseServiceProvider();
                provider.State = ObjectStatus.ObjectState.Create;

                // Need an empty service areas object if no service areas were included.
                if (provider.Services == null)
                {
                    provider.Services = new WebServiceAreas();
                }

                webToDb.UpdateServiceProvider(provider, this.UserId);
                this.TempData["Info"] = string.Format("The provider {0} was created succesfully.", provider.Name);
                return(this.RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                this.SetupViewBag();
                this.SetupLocationStateDropdown(provider);
                foreach (var curLocation in provider.Locations.Where(curLocation => curLocation.Coverage == null))
                {
                    curLocation.Coverage = new List <Coverage>();
                }

                this.TempData["Error"] = "An error occured while saving the service provider.";
                return(this.View(provider));
            }
        }
        /// <summary>
        /// The create database provider.
        /// </summary>
        /// <param name="provider">
        /// The provider.
        /// </param>
        /// <returns>
        /// The <see cref="int"/>.
        /// </returns>
        private int CreateDatabaseProvider(WebsiteServiceProvider provider)
        {
            var databaseProvider = new ServiceProvider
            {
                Description  = provider.Description,
                DisplayRank  = provider.DisplayRank,
                ProviderName = provider.Name,
                ServiceTypes = provider.Type,
                Active       = provider.IsActive
            };

            var providerId = this.serviceProviderRepo.CreateServiceProvider(databaseProvider);

            return(providerId);
        }
        public void EditProviderLocationAddCoverageTest()
        {
            using (ShimsContext.Create())
            {
                var updatedLocation1 = new ServiceProviderLocation
                {
                    Id            = 1,
                    StateIdString = "34",
                    Contact       = new ServiceProviderContactRequired
                    {
                        Id = 1223
                    },
                    ContactPerson = new ServiceProviderContactPerson
                    {
                        Id = 0
                    },
                    Coverage = new List <Coverage>
                    {
                        new Coverage {
                            CountyId = 1, CountryId = 1, Id = 2, StateId = 1
                        },
                        new Coverage {
                            CountyId = 5, CountryId = 1, Id = 0, StateId = 1
                        }
                    }
                };


                var updatedProvider = new WebsiteServiceProvider
                {
                    Id        = 4,
                    Name      = "Test2",
                    Type      = 2,
                    Locations = new List <ServiceProviderLocation> {
                        updatedLocation1
                    }
                };

                ShimDataLogics.AllInstances.GetServiceProviderByIdInt32 = (access, id) => this.originalProvider;
                ShimWebToDatabaseServiceProvider.AllInstances.UpdateServiceProviderWebsiteServiceProviderInt32 =
                    (provider, serviceProvider, userId) => true;
                var result = this.controller.Edit(updatedProvider);

                Assert.AreEqual(ObjectStatus.ObjectState.Update, updatedProvider.State);
                Assert.AreEqual(ObjectStatus.ObjectState.Update, updatedProvider.Locations[0].Coverage[0].State);
                Assert.AreEqual(ObjectStatus.ObjectState.Create, updatedProvider.Locations[0].Coverage[1].State);
            }
        }
        public ActionResult Edit(WebsiteServiceProvider provider)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    this.ResetForInvalidModel(provider);
                    this.SetErrorMessage();
                    return(this.View(provider));
                }

                var original = this.dataLogics.GetServiceProviderById(provider.Id);

                if (provider.Services == null)
                {
                    provider.Services = new WebServiceAreas
                    {
                        State        = ObjectStatus.ObjectState.Update,
                        ServiceAreas = new List <int>()
                    };
                }

                // Check against original locations to see which are new, and what has been removed.
                this.SetStateFlagsLocations(provider, original);

                provider.State = ObjectStatus.ObjectState.Update;

                var webToDb = new WebToDatabaseServiceProvider();
                webToDb.UpdateServiceProvider(provider, this.UserId);

                this.TempData["Info"] = string.Format("The provider {0} was updated succesfully.", provider.Name);

                if (User.IsInRole("1"))
                {
                    return(this.RedirectToAction("Index"));
                }

                return(this.RedirectToAction("Details", new { id = provider.Id }));
            }
            catch (Exception ex)
            {
                return(this.View());
            }
        }
        /// <summary>
        /// The create service provider.
        /// </summary>
        /// <param name="provider">
        /// The provider.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        private bool CreateServiceProvider(WebsiteServiceProvider provider)
        {
            var databaseProviderId = this.CreateDatabaseProvider(provider);

            if (databaseProviderId == 0)
            {
                return(false);
            }

            var createdServiceAreas = this.CreateServiceAreas(provider.Services.ServiceAreas, databaseProviderId);

            if (!createdServiceAreas)
            {
                return(false);
            }

            var created = this.CreateLocations(provider.Locations, databaseProviderId);

            return(created);
        }
        /// <summary>
        /// Setup the selected value for each location's selected state.  Used when editing a provider form for an
        /// existing provider. Also used for repopulating a new provider's values with an error message.
        /// </summary>
        /// <param name="provider"> The provider. </param>
        private void SetupLocationStateDropdown(WebsiteServiceProvider provider)
        {
            // Set up the dropdowns.
            var countryList = this.dataLogics.GetCountries();
            var usa         = countryList.Find(country => country.FullName == "United States");
            var states      = this.dataLogics.GetStates(usa.Id);

            // Set up defaults for locations.
            foreach (var location in provider.Locations)
            {
                if (location.ContactPerson == null)
                {
                    location.ContactPerson = new ServiceProviderContactPerson {
                        Contact = new ServiceProviderContact()
                    };
                }

                location.StateIdString = location.StateId.ToString(CultureInfo.InvariantCulture);
                location.States        = new SelectList(states, "Id", "Name");
            }
        }
Esempio n. 15
0
        /// <summary>
        /// The update provider.
        /// </summary>
        /// <param name="serviceProvider">
        /// The service provider.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        public bool UpdateProvider(WebsiteServiceProvider serviceProvider)
        {
            try
            {
                var databaseServiceProvider = this.db.ServiceProviders.Single(d => d.ID == serviceProvider.Id);

                databaseServiceProvider.Description  = serviceProvider.Description;
                databaseServiceProvider.ProviderName = serviceProvider.Name;
                databaseServiceProvider.DisplayRank  = serviceProvider.DisplayRank;
                databaseServiceProvider.Active       = serviceProvider.IsActive;
                databaseServiceProvider.ServiceTypes = serviceProvider.Type;

                this.db.Entry(databaseServiceProvider).State = EntityState.Modified;
                this.db.SaveChanges();

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
Esempio n. 16
0
        /// <summary>
        /// The delete provider.
        /// </summary>
        /// <param name="serviceProvider">
        /// The service provider.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        public bool DeleteProvider(WebsiteServiceProvider serviceProvider)
        {
            try
            {
                var provider = this.db.ServiceProviders.Single(s => s.ID == serviceProvider.Id);

                foreach (var editRecord in provider.ServiceProviderEdits)
                {
                    editRecord.DeletedProviderName = provider.ProviderName;
                    editRecord.ProviderId          = null;
                }
                this.db.SaveChanges();

                this.db.ServiceProviders.Remove(provider);
                this.db.SaveChanges();

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public ActionResult Create()
        {
            // Load non-model related data.
            this.SetupViewBag();

            // Create a location list with one blank location.
            var locationList = new List <ServiceProviderLocation> {
                this.BuildBlankLocation()
            };

            // Create a blank provider with any defaults.
            var provider = new WebsiteServiceProvider
            {
                Locations = locationList,
                Services  = new WebServiceAreas {
                    ServiceAreas = new List <int>()
                },
                Type        = 1,
                DisplayRank = 3,
            };

            return(this.View(provider));
        }
        /// <summary>
        /// The update provider.
        /// </summary>
        /// <param name="serviceProvider">
        /// The service provider.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        private bool UpdateProvider(WebsiteServiceProvider serviceProvider, int userId)
        {
            if (!this.UpdateAreas(serviceProvider.Services, serviceProvider.Id))
            {
                return(false);
            }

            if (!this.CheckLocations(serviceProvider.Locations, serviceProvider.Id))
            {
                return(false);
            }

            var response = this.serviceProviderRepo.UpdateProvider(serviceProvider);

            this.serviceProviderRepo.LogServiceProviderEdit(new ServiceProviderEdit
            {
                ProviderId = serviceProvider.Id,
                UserId     = userId,
                DateTime   = DateTime.Now,
                Action     = "Changed"
            });

            return(response);
        }
        public void EditProviderRemoveLocationTest()
        {
            using (ShimsContext.Create())
            {
                var originalLocation2 = new ServiceProviderLocation
                {
                    Id      = 0,
                    Contact = new ServiceProviderContactRequired
                    {
                        Id = 0
                    },
                    ContactPerson = new ServiceProviderContactPerson
                    {
                        Id = 0
                    },
                    Coverage = new List <Coverage>
                    {
                        new Coverage {
                            CountyId = 4, CountryId = 1, Id = 2, StateId = 1
                        }
                    }
                };

                this.originalProvider.Locations.Add(originalLocation2);

                var updatedLocation = new ServiceProviderLocation
                {
                    Id            = 1,
                    StateIdString = "34",
                    Coverage      = new List <Coverage>
                    {
                        new Coverage {
                            CountyId = 1, CountryId = 1, Id = 2, StateId = 1
                        }
                    },
                    Contact = new ServiceProviderContactRequired
                    {
                        Id    = 2123,
                        Email = "*****@*****.**"
                    },
                    ContactPerson = new ServiceProviderContactPerson
                    {
                        FistName = "asdfas",
                        LastName = "q234asdf",
                        Contact  = new ServiceProviderContact {
                            Id = 1, Email = "*****@*****.**"
                        }
                    }
                };

                var updatedProvider = new WebsiteServiceProvider
                {
                    Id        = 4,
                    Name      = "Test2",
                    Type      = 2,
                    Locations = new List <ServiceProviderLocation> {
                        updatedLocation
                    }
                };

                ShimDataLogics.AllInstances.GetServiceProviderByIdInt32 = (access, id) => this.originalProvider;
                ShimWebToDatabaseServiceProvider.AllInstances.UpdateServiceProviderWebsiteServiceProviderInt32 =
                    (provider, serviceProvider, userId) => true;
                var result = this.controller.Edit(updatedProvider);

                Assert.AreEqual(ObjectStatus.ObjectState.Update, updatedProvider.State);

                Assert.AreEqual(ObjectStatus.ObjectState.Update, updatedProvider.Locations[0].State);
                Assert.AreEqual(ObjectStatus.ObjectState.Delete, updatedProvider.Locations[1].State);
            }
        }
        /// <summary>
        /// Sets the state flags and puts in deleted items for the locations in a provider.
        /// </summary>
        /// <param name="provider">The updated provider</param>
        /// <param name="original">The original provider to compare against</param>
        private void SetStateFlagsLocations(WebsiteServiceProvider provider, WebsiteServiceProvider original)
        {
            // Go through each location.  Add removed items back in with deleted flag.
            foreach (var location in provider.Locations)
            {
                location.StateId = int.Parse(location.StateIdString);
                location.State   = location.Id == 0 ? ObjectStatus.ObjectState.Create : ObjectStatus.ObjectState.Update;

                // Get the original location and set the current location's new/update/delete flags
                var location1             = location;
                var originalLocationFound = original.Locations.Where(x => x.Id == location1.Id).ToList();
                if (originalLocationFound.Count > 0)
                {
                    // Set the flags for the contact person
                    var originalLocation = originalLocationFound.First();
                    if (originalLocation.ContactPerson != null)
                    {
                        location.ContactPerson.State         = ObjectStatus.ObjectState.Update;
                        location.ContactPerson.Contact.State = ObjectStatus.ObjectState.Update;
                    }

                    // If the contact person is blank, check if the original was blank.  If it wasn't delete the contact.
                    // Otherwise keep the contact person as null.
                    if (this.IsContactPersonEmpty(location.ContactPerson))
                    {
                        if (originalLocation.ContactPerson != null)
                        {
                            location.ContactPerson.State = ObjectStatus.ObjectState.Delete;
                        }
                        else
                        {
                            location.ContactPerson = null;
                        }
                    }
                    else
                    {
                        // If the original is null but now it has a contact person, create one.
                        if (originalLocation.ContactPerson == null)
                        {
                            location.ContactPerson.State         = ObjectStatus.ObjectState.Create;
                            location.ContactPerson.Contact.State = ObjectStatus.ObjectState.Create;
                        }
                    }


                    location.Contact.State = ObjectStatus.ObjectState.Update;

                    this.SetStateFlagsCoverages(location, originalLocation);
                }
                else
                {
                    if (this.IsContactPersonEmpty(location.ContactPerson))
                    {
                        location.ContactPerson = null;
                    }
                }
            }

            // Get the deleted items and set them to be deleted
            var deletedItems = new List <ServiceProviderLocation>();
            var deletedList  = from curLocation
                               in original.Locations
                               let found = provider.Locations.Find(x => x.Id == curLocation.Id)
                                           let hasBeenDeleted = found == null
                                                                where hasBeenDeleted
                                                                select curLocation;

            foreach (var curLocation in deletedList)
            {
                curLocation.State = ObjectStatus.ObjectState.Delete;
                deletedItems.Add(curLocation);
            }

            if (deletedItems.Count > 0)
            {
                provider.Locations.AddRange(deletedItems);
            }
        }
 /// <summary>
 /// The update service provider.
 /// </summary>
 /// <param name="provider">
 /// The provider.
 /// </param>
 /// <returns>
 /// The <see cref="bool"/>.
 /// </returns>
 public bool UpdateServiceProvider(WebsiteServiceProvider provider, int userId)
 {
     return(this.CheckServiceProvider(provider, userId));
 }
        public void MyTestInitialize()
        {
            this.target = new WebToDatabaseServiceProvider();

            this.state = new State {
                Abbreviation = "OH", CountryID = 1, FullName = "Ohio", ID = 1
            };
            this.country = new Country {
                Abbreviation = "USA", ID = 1, FullName = "United States of America"
            };
            this.county = new County {
                ID = 1, Name = "test county", StateId = 1, State = this.state
            };

            this.contact = new ServiceProviderContact
            {
                Email       = "*****@*****.**",
                Id          = 1,
                Website     = "www.test.org",
                PhoneNumber = "9373608284",
                HelpLine    = "9373608888",
                State       = ObjectStatus.ObjectState.Update
            };

            this.locationContact = new ServiceProviderContactRequired
            {
                Email       = "*****@*****.**",
                Id          = 1,
                Website     = "www.test.org",
                PhoneNumber = "9373608284",
                HelpLine    = "9373608888",
                State       = ObjectStatus.ObjectState.Update
            };

            this.contactPerson = new ServiceProviderContactPerson
            {
                Id       = 1,
                Contact  = this.contact,
                FistName = "test",
                LastName = "user",
                JobTitle = "Tester",
                State    = ObjectStatus.ObjectState.Update
            };
            this.coverage1 = new Coverage
            {
                CountryId   = 1,
                CountryName = "USA",
                CountyId    = 1,
                CountyName  = "Clark",
                Id          = 1,
                State       = ObjectStatus.ObjectState.Update,
                StateId     = 1,
                StateName   = "Ohio"
            };
            this.coverage2 = new Coverage
            {
                CountryId   = 1,
                CountryName = "USA",
                CountyId    = 2,
                CountyName  = "Clark 2",
                Id          = 1,
                State       = ObjectStatus.ObjectState.Update,
                StateId     = 1,
                StateName   = "Ohio"
            };
            this.coverageList = new List <Coverage> {
                this.coverage1, this.coverage2
            };

            this.location1 = new ServiceProviderLocation
            {
                Name          = "Location1",
                Coverage      = this.coverageList,
                CountryId     = 1,
                Contact       = this.locationContact,
                ContactPerson = this.contactPerson,
                City          = "testville 1",
                Id            = 1,
                Display       = true,
                Zip           = "45344",
                Street        = "Test way 1",
                StateId       = this.state.ID,
                State         = ObjectStatus.ObjectState.Update
            };
            this.location2 = new ServiceProviderLocation
            {
                Name      = "Location2",
                Coverage  = this.coverageList,
                CountryId = 1,
                Contact   = this.locationContact,
                City      = "testville 2",
                Id        = 2,
                Display   = true,
                Zip       = "45344",
                Street    = "Test way 2",
                StateId   = this.state.ID,
                State     = ObjectStatus.ObjectState.Update
            };

            this.locations = new List <ServiceProviderLocation> {
                this.location1, this.location2
            };

            this.webServiceAreas = new WebServiceAreas
            {
                ServiceAreas = new List <int> {
                    1, 2, 3
                },
                State = ObjectStatus.ObjectState.Update
            };

            this.websiteServiceProvider = new WebsiteServiceProvider
            {
                Locations   = this.locations,
                Services    = this.webServiceAreas,
                Description = "Test Web Provider",
                DisplayRank = 1,
                Id          = 1,
                Name        = "test provider 1",
                Type        = 1,
                IsActive    = true,
                State       = ObjectStatus.ObjectState.Update
            };
        }