예제 #1
0
        public void CreateNewLocation(LocationDetailsDataContract locationDetails)
        {
            ExecuteFaultHandledOperation(() =>
            {
                ILocationsMasterRepository locationsMasterRepository
                                = _DataRepositoryFactory.GetDataRepository<ILocationsMasterRepository>();
                ILocationDetailsRepository locationDetailsRepository
                                = _DataRepositoryFactory.GetDataRepository<ILocationDetailsRepository>();

                LocationsMaster newLocation = new LocationsMaster() { LocationKey = Guid.NewGuid().ToString() };
                newLocation.LocationName = locationDetails.LocationName;
                newLocation.LatLng = locationDetails.LatLong;
                newLocation.LocationImage = locationDetails.ImageURL;
                locationsMasterRepository.Add(newLocation);

                for (int count = 0; count < 4; count++)
                {
                    LocationDetails locationDetail = new LocationDetails() { LocationDetailsKey = Guid.NewGuid().ToString(), LocationKey = newLocation.LocationKey };
                    locationDetail.IsDeleted = false;
                    switch (count)
                    {
                        case 0:
                            locationDetail.ActivityDescription = locationDetails.Description;
                            locationDetail.ActivityHeader = BusinessResource.DESCRIPTION; break;

                        case 1:
                            locationDetail.ActivityDescription = locationDetails.MustDrink;
                            locationDetail.ActivityHeader = BusinessResource.MUSTDRINK; break;

                        case 2:
                            locationDetail.ActivityDescription = locationDetails.MustEat;
                            locationDetail.ActivityHeader = BusinessResource.MUSTEAT; break;

                        case 3:
                            locationDetail.ActivityDescription = locationDetails.GettingAround;
                            locationDetail.ActivityHeader = BusinessResource.GETTINGAROUND; break;
                    }
                    locationDetailsRepository.Add(locationDetail);
                }
            });
        }
예제 #2
0
        public void UpdateLocationDetails(LocationDetailsDataContract locationDetails)
        {
            ExecuteFaultHandledOperation(() =>
            {
                ILocationsMasterRepository locationsMasterRepository
                                = _DataRepositoryFactory.GetDataRepository<ILocationsMasterRepository>();
                ILocationDetailsRepository locationDetailsRepository
                                = _DataRepositoryFactory.GetDataRepository<ILocationDetailsRepository>();

                LocationsMaster location = locationsMasterRepository.Get(locationDetails.LocationKey);
                location.LocationName = locationDetails.LocationName;
                location.LatLng = locationDetails.LatLong;
                location.LocationImage = locationDetails.ImageURL;
                locationsMasterRepository.Update(location);
                List<LocationDetails> allLocations = new List<LocationDetails>();

                allLocations = locationDetailsRepository.GetAllDetailsForSelectedLocation(locationDetails.LocationKey).ToList();

                if (allLocations.Count() > 0)
                {
                    foreach (var locationDetail in allLocations)
                    {
                        if (locationDetail.ActivityHeader == BusinessResource.DESCRIPTION)
                        {
                            locationDetail.ActivityDescription = locationDetails.Description;
                        }
                        else if (locationDetail.ActivityHeader == BusinessResource.GETTINGAROUND)
                        {
                            locationDetail.ActivityDescription = locationDetails.GettingAround;
                        }
                        else if (locationDetail.ActivityHeader == BusinessResource.MUSTDRINK)
                        {
                            locationDetail.ActivityDescription = locationDetails.MustDrink;
                        }
                        else if (locationDetail.ActivityHeader == BusinessResource.MUSTEAT)
                        {
                            locationDetail.ActivityDescription = locationDetails.MustEat;
                        }
                    }
                    locationDetailsRepository.UpdateAll(allLocations);
                }
                else
                {
                    for (int count = 0; count < 4; count++)
                    {
                        LocationDetails locationDetail = new LocationDetails() { LocationDetailsKey = Guid.NewGuid().ToString(), LocationKey = locationDetails.LocationKey };
                        locationDetail.IsDeleted = false;
                        switch (count)
                        {
                            case 0:
                                locationDetail.ActivityDescription = locationDetails.Description;
                                locationDetail.ActivityHeader = BusinessResource.DESCRIPTION; break;

                            case 1:
                                locationDetail.ActivityDescription = locationDetails.MustDrink;
                                locationDetail.ActivityHeader = BusinessResource.MUSTDRINK; break;

                            case 2:
                                locationDetail.ActivityDescription = locationDetails.MustEat;
                                locationDetail.ActivityHeader = BusinessResource.MUSTEAT; break;

                            case 3:
                                locationDetail.ActivityDescription = locationDetails.GettingAround;
                                locationDetail.ActivityHeader = BusinessResource.GETTINGAROUND; break;
                        }
                        locationDetailsRepository.Add(locationDetail);
                    }
                }
            });
        }