protected void ButtonMove_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow item in GridView1.Rows)
        {
            if (item.RowType == DataControlRowType.DataRow)
            {
                var checkBoxDelete = (CheckBox)item.FindControl("CheckBoxDelete");
                var hiddenFieldAddressId = (HiddenField)item.FindControl("hiddenFieldAddressId");
                if (checkBoxDelete.Checked)
                {
                    int idToMove = int.Parse(hiddenFieldAddressId.Value);
                    var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
                    var address = (from a in db.Addresses
                                   where a.AddressId == idToMove
                                   select a).First();
                    address.TerritoryId = int.Parse(DropDownListTNumber.SelectedValue);
                    db.SubmitChanges();

                }
            }
            LabelMessage.Text = "Addresses Moved to territory #" + DropDownListTNumber.SelectedItem.Text;

        }
        Reload();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Request.QueryString["Action"] == "delete")
            {
                string x = Request.QueryString["x"].ToString();
                string y = Request.QueryString["y"].ToString();
                var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
                var addressToDelete = (from deleteAddress in db.Addresses
                                       where deleteAddress.TerritoryId == TerritoryId
                                       & deleteAddress.Long.Contains(x)
                                       & deleteAddress.Lat.Contains(y)
                                       select deleteAddress).FirstOrDefault();
                if (addressToDelete != null)
                {
                    Address.Delete(addressToDelete.AddressId);
                }

            }

            DoDataBind();

            City thisCity = new City(CurrentUser.CurrentAccount.CityId);

        }
        this.LiteralKey.Text = System.Web.Configuration.WebConfigurationManager.AppSettings["GMAPKEY"];
    }
示例#3
0
        public static List<string> GetGlobalListExcludingMine(int languageId)
        {
            var db = new TerritoryDBDataContext();
            // get the list of names that other people specifically said they want
            var presetList = (from n in db.Names
                              where
                                  n.LanguageId == languageId
                                  && n.AccountId != CurrentUser.CurrentAccount.AccountId
                              orderby n.IsFirstName, n.FirstOrLastName
                              select
                                  n.FirstOrLastName.Trim().ToLower()).ToList();
            // get the list of CONFIRMED addresses and use the last names

            var allAccountIdsSameLanguage = (from a in db.Accounts
                                             where a.LanguageId == languageId &
                                                 a.AccountId != CurrentUser.CurrentAccount.AccountId
                                             select a.AccountId).ToList();
            var allTerritoryIdsSameLanguage = (from t in db.Territories
                                               where allAccountIdsSameLanguage.Contains(t.AccountId)
                                               select t.TerritoryId).ToList();
            var effectiveList = (from a in db.Addresses
                                 where allTerritoryIdsSameLanguage.Contains(a.TerritoryId)
                                 && a.LanguageId == CurrentUser.CurrentAccount.LanguageId
                                 select a.LastName.ToLower()).Distinct().ToList();

            presetList.AddRange(effectiveList);
            return TitleCase(presetList.Distinct().ToList());
        }
    private void DoDataBind()
    {
        if (CurrentUser.TerritoryId > 0)
        {
            var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();

            currentTerritory  = (from t in db.Territories
                     where t.TerritoryId == CurrentUser.TerritoryId
                     select t).First();
        }
        divAssign.Visible = false;
        divReturn.Visible = false;
        divFeedback.Visible = false;
        switch (currentTerritory.Status)
        {
            case TerritorySite.BL.Linq.Territory.TerritoryStatus.Available:
                divAssign.Visible = true;
                break;
            case TerritorySite.BL.Linq.Territory.TerritoryStatus.Assigned:
                divReturn.Visible = true;
                break;
            case TerritorySite.BL.Linq.Territory.TerritoryStatus.Cleanup:
                divFeedback.Visible = true;
                break;
            case TerritorySite.BL.Linq.Territory.TerritoryStatus.Unknown:
                break;
            default:
                break;
        }
    }
 public static AddressUploadBatch GetLatestUploadForCurrentTerritory()
 {
     var db = new TerritoryDBDataContext();
     var latest = (from batch in db.AddressUploadBatches
                   where batch.TerritoryId == CurrentUser.TerritoryId
                   orderby batch.AddressUploadBatchId descending
                   select batch).Take(1).FirstOrDefault();
     return latest;
 }
示例#6
0
    protected void ButtonQuickLaunch_Click(object sender, EventArgs e)
    {
        var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
        CurrentUser.TerritoryId = (from t in db.Territories
                          where t.TerritoryNumber == int.Parse(TextBoxGoToTerritory.Text) &&
                          t.AccountId == CurrentUser.CurrentAccount.AccountId
                          select t.TerritoryId).FirstOrDefault();

        Response.Redirect("TerritoryEdit.aspx");
    }
    private void DoDataBind()
    {
        if (CurrentUser.TerritoryId > 0)
        {
            var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();

            currentTerritory = (from t in db.Territories
                                where t.TerritoryId == CurrentUser.TerritoryId
                                select t).First();
        }
    }
示例#8
0
 public static void AddLastNameToMyList(string name, int languageId)
 {
     var db = new TerritoryDBDataContext();
     var newName = new Name();
     newName.IsFirstName = false;
     newName.FirstOrLastName = name;
     newName.LanguageId = languageId;
     newName.AccountId = CurrentUser.CurrentAccount.AccountId;
     db.Names.InsertOnSubmit(newName);
     db.SubmitChanges();
 }
 public static void Log(string address, double latitude, double longitude, IGeocoder provider, string error)
 {
     var db = new TerritoryDBDataContext();
     GeocodingLog newEntry = new GeocodingLog();
     newEntry.AccountId = CurrentUser.CurrentAccount.AccountId;
     newEntry.Lat = latitude;
     newEntry.Address= address;
     newEntry.Long = longitude;
     newEntry.Provider = provider.GetType().Name;
     newEntry.RequestDateTime = DateTime.Now;
     db.GeocodingLogs.InsertOnSubmit(newEntry);
     db.SubmitChanges();
 }
示例#10
0
 public int GetBurnForLast24Hour(DateTime when, IGeocoder provider)
 {
     var db = new TerritoryDBDataContext();
     DateTime minDate = when.AddDays(-1);
     DateTime maxDate = when;
     string providerString = provider.GetType().Name;
     var count = (from h in db.GeocodingLogs
                  where h.RequestDateTime >= minDate &&
                  h.RequestDateTime <= when
                  && h.Provider == providerString
                  select h).Count();
     return count;
 }
    public void DoDataBind()
    {
        var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
        var territories = (from t in db.Territories
                           where t.AccountId == CurrentUser.CurrentAccount.AccountId
                           & t.TerritoryNumber > 0
                           orderby t.TerritoryNumber
                           select t).ToList();
        if (this.DropDownList1.SelectedValue != "All")
        {
            territories = (from t in territories
                           where t.Status.ToString() == this.DropDownList1.SelectedValue
                           select t).ToList();
        }

        if (tsearch.Text != string.Empty)
        {
            List<TerritorySite.BL.Linq.Territory> s = new List<TerritorySite.BL.Linq.Territory>();
            foreach (var t in territories)
            {
                foreach (var str in tsearch.Text.Split(' '))
                {
                    if (t.TerritoryNumber != null)
                    {
                        if (t.TerritoryNumber.ToString() == str)
                        {
                            if (!s.Contains(t))
                            {
                                s.Add(t);
                            }
                        }
                    }
                    if (t.AssignmentNotes != null)
                    {
                        if (t.AssignmentNotes.ToLower().Contains(str.ToLower()))
                        {
                            if (!s.Contains(t))
                            {
                                s.Add(t);
                            }
                        }
                    }
                }
            }
            territories = s;
        }

        this.Repeater1.DataSource = territories;
        this.Repeater1.DataBind();
    }
示例#12
0
    private void DoDataBind()
    {
        if (TerritoryId > 0)
        {
            var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
            var ToDo = (from a in db.Addresses
                        where

                        a.TerritoryId == TerritoryId
                        select new { StreetName = a.StreetName }).Distinct().ToList();
            Repeater1.DataSource = ToDo;
            Repeater1.DataBind();

        }
    }
 protected void ButtonKeepThemAll_Click(object sender, EventArgs e)
 {
     var db = new TerritoryDBDataContext();
     AddressUploadBatch latestBatch = AddressUploadBatch.GetLatestUploadForCurrentTerritory();
     if (latestBatch.CanGeoCode())
     {
         latestBatch.GeoCode();
         db.sp_UploadedAdress_MoveIntoAddressTable(CurrentUser.CurrentAccount.Language.LanguageId, latestBatch.AddressUploadBatchId);
         Response.Redirect("MapCleanup.aspx?AutoCleanup=yes");
     }
     else
     {
         DisplayCantProceedBecauseOfGeocode(latestBatch);
     }
 }
示例#14
0
 public static void DeleteNameFromMyList(string name, int languageId)
 {
     var db = new TerritoryDBDataContext();
     var toDelete = (from n in db.Names
                     where n.FirstOrLastName == name &
                     n.LanguageId == languageId &
                     n.IsFirstName == false
                     & n.AccountId == CurrentUser.CurrentAccount.AccountId
                     select n).FirstOrDefault();
     if (toDelete != null)
     {
         db.Names.DeleteOnSubmit(toDelete);
         db.SubmitChanges();
     }
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        var db = new TerritoryDBDataContext();
        var latestBatch = AddressUploadBatch.GetLatestUploadForCurrentTerritory();
        var addresses = latestBatch.UploadedAddresses;
        var totalNumber = addresses.Count;
        var geocoded = (from a in addresses where a.Lat != null select a).Count();
        var notGeocoded = (from a in addresses where a.Lat == null select a).Count();
        LabelProgressText.Text = string.Format("Geocoded {0} / {1}", geocoded.ToString(), notGeocoded.ToString());

        var percentage = 0;
        if (geocoded > 0)
        {
            percentage = (geocoded / notGeocoded) * 100;
        }
        ProgressBar.Style.Add("width", percentage.ToString("d"));
    }
    private void BindPage()
    {
        PanelAssigned.Visible = false;
        PanelBeingReturned.Visible = false;
        PanelNotAssigned.Visible = false;
        PanelMobileReturn.Visible = false;
        var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
        var territory = (from t in db.Territories
                         where t.TerritoryId == CurrentUser.TerritoryId
                         select t).First();

        if (territory.AssignmentGUID.ToString() == string.Empty)
        {
            PanelNotAssigned.Visible = true;
        }
        else
        {
            var assignment = (from a in db.TerritoryAssignments
                              where a.Guid == territory.AssignmentGUID
                              select a).First();
            LabelAssignedTo.Text = assignment.AssignedTo;

            if (assignment.ReturnedOn.HasValue)
            {
                if (assignment.CleanupAssignedTo  == null )
                {
                    PanelMobileReturn.Visible = true;
                    LabelMobileAssignedTo.Text = assignment.AssignedTo;
                    LabelMobileNotes.Text = assignment.Note;
                }
                else
                {
                    PanelBeingReturned.Visible = true;
                    LabelCleanupAssignedTo.Text = assignment.AssignedTo;
                    LabelCleanupNote.Text = assignment.CleanupAssignedTo;
                }
            }

            else
            {
                PanelAssigned.Visible = true;
                LabelAssignedTo.Text = assignment.AssignedTo;
                LabelExistingNote.Text = assignment.Note;
            }
        }
    }
    private void DoDataBind()
    {
        if (AddressId > 0 & TerritoryId > 0)
        {
            var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
            var addr = (from a in db.Addresses
                        where a.AddressId == addressId
                        &
                        a.TerritoryId == TerritoryId
                        select a).FirstOrDefault();
            if (addr != null)
            {

                this.lStreetName.Text = addr.StreetName;
                this.lStreetName2.Text = addr.StreetName;
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request["t"]!= null & Request["t"] != string.Empty)
        {
            var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
            var territoryId = (from t in db.Territories
                               where t.AccountId == CurrentUser.CurrentAccount.AccountId
                               &
                               t.TerritoryNumber == int.Parse(Request["t"].ToString())
                               select t).First();
            CurrentUser.TerritoryId = territoryId.TerritoryId;
            Response.Redirect("TerritoryDetail.aspx");

        }else if (!Page.IsPostBack)
        {
            DoDataBind();
        }
    }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (TerritorySite.BL.Linq.Territory.IsCurrentTerritoryAssigned())
     {
         if (!IsPostBack)
         {
             var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
             var territory = (from t in db.Territories
                              where t.TerritoryId == CurrentUser.TerritoryId
                              select t).FirstOrDefault();
             LabelGuid.Text = territory.AssignmentGUID.ToString();
         }
     }
     else
     {
         PanelPrint.Visible = false;
         LabelError.Text = "<br/><br/>You must assign this territory before you can print it";
     }
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
        var currentTerritory = (from t in db.Territories
                                where t.TerritoryId == CurrentUser.TerritoryId
                                select t).FirstOrDefault();
        if (currentTerritory.IsAssigned | currentTerritory.IsBeingReturned )
        {
            RadTabStrip1.Tabs[2].Visible  = false;
            RadTabStrip1.Tabs[4].Visible  = false;

        }
        else
        {
            RadTabStrip1.Tabs[2].Visible = true;
            RadTabStrip1.Tabs[4].Visible = true;
        }

        if (Request.RawUrl.ToLower().Contains("territoryedit.aspx"))
        {
            RadTabStrip1.SelectedIndex = 0;
        }
        else if (Request.RawUrl.ToLower().Contains("assignments.aspx"))
        {
            RadTabStrip1.SelectedIndex = 1;
        }
        else if (Request.RawUrl.ToLower().Contains("territorydesigner.aspx"))
        {
            RadTabStrip1.SelectedIndex = 2;
        }
        else if (Request.RawUrl.ToLower().Contains("printcenter.aspx"))
        {
            RadTabStrip1.SelectedIndex = 3;
        }
        else if (Request.RawUrl.ToLower().Contains("mapcleanup.aspx"))
        {
            RadTabStrip1.SelectedIndex = 4;
        }
    }
 protected void ButtonNeverHome_Click(object sender, EventArgs e)
 {
     if (AddressId > 0 & TerritoryId > 0)
     {
         var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
         var addr = (from a in db.Addresses
                     where a.AddressId == addressId
                     &
                     a.TerritoryId == TerritoryId
                     select a).FirstOrDefault();
         if (addr != null)
         {
             //addr.FirstName = tFirstName.Text;
             //addr.LastName = tLastName.Text;
             //addr.LanguageId = int.Parse(ddlLanguage.SelectedValue);
             addr.NotAtHomeCount = -1;
             addr.HasBeenWorked = true;
             db.SubmitChanges();
             ReturnTo(addr);
         }
     }
 }
示例#22
0
        public static List<string> GetMyLastNames(int languageId)
        {
            var db = new TerritoryDBDataContext();
            // get the list of names that I specifically said that I want
            var presetList = (from n in db.Names
                              where
                                  n.LanguageId == languageId
                                  && n.AccountId == CurrentUser.CurrentAccount.AccountId
                              orderby n.IsFirstName, n.FirstOrLastName
                              select
                                  n.FirstOrLastName.ToLower()).ToList();
            // get the list of CONFIRMED addresses and use the last names
            List<int> myTerritoryIds = CurrentUser.CurrentAccount.TerritoryRecords().Select(x => x.TerritoryId).ToList();
            var effectiveList = (from a in db.Addresses
                                 where myTerritoryIds.Contains(a.TerritoryId)
                                 && a.LanguageId == CurrentUser.CurrentAccount.LanguageId
                                 select a.LastName.ToLower()).Distinct().ToList();

            presetList.AddRange(effectiveList);
            var returnList = presetList.Distinct().ToList();
            return TitleCase(returnList);
        }
    private void DoDataBind()
    {
        var db = new TerritoryDBDataContext();
        var latestBatch = AddressUploadBatch.GetLatestUploadForCurrentTerritory();
        db.sp_UploadedAddress_RemoveRecordsWeAlreadyHave(latestBatch.AddressUploadBatchId);
        var lastNames = (from address in latestBatch.UploadedAddresses
                         orderby address.LAST_NAME
                         select address.LAST_NAME.ToUpper() ).Distinct();
        this.CheckBoxListLastNames.DataSource = lastNames;
        this.CheckBoxListLastNames.DataBind();

        var listOfLastNames = Name.GetMyLastNames(CurrentUser.CurrentAccount.Language.LanguageId);
        foreach (var thisLastName in listOfLastNames)
        {
            var item = CheckBoxListLastNames.Items.FindByValue(thisLastName.ToUpper());
            if (item != null)
            {
                item.Selected = true;
                item.Attributes.Add("style", "background-color:green; color:white;");
                item.Text += " *";
            }
        }
    }
示例#24
0
    protected void ButtonGO_Click(object sender, EventArgs e)
    {
        var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
        var territories = (from t in db.Territories
                           where

                           t.AssignmentGUID.ToString().ToLower().Substring(0,6) == TextBoxCode.Text.ToLower()
                           &
                           t.TerritoryNumber == int.Parse(tTerritoryNumber.Text)
                           select t).ToList();
        if (territories.Count == 0)
        {
            SetError("Invalid Code", true);
        }
        else if (territories.Count == 1)
        {
            Response.Redirect("PublisherMainMenu.aspx?TerritoryId=" + territories[0].AssignmentGUID.ToString());
        }
        else
        {
            SetError("The code you entered matches more than one territory. To solve this problem the territory should be re-assigned.", true);
        }
    }
        private AddressUploadBatch CreateNewBatch()
        {
            var db = new TerritoryDBDataContext();
            FileInfo thisFileInfo = new FileInfo(_fileName);
            // before uploading a new batch let's delete
            // any other batch that might be related to the same session (file name = session)
            var listToDelete = (from au in db.AddressUploadBatches
                                where au.FileName == thisFileInfo.Name
                                select au);
            db.AddressUploadBatches.DeleteAllOnSubmit(listToDelete);
            db.SubmitChanges();

            // delete all uploads older than 1 day (to clean up the database)
            var cutoffDate = DateTime.Now.AddDays(-1);
            listToDelete = (from au in db.AddressUploadBatches
                            where au.DateStarted < cutoffDate
                            select au);
            db.AddressUploadBatches.DeleteAllOnSubmit(listToDelete);
            db.SubmitChanges();

            var newBatch = new AddressUploadBatch();
            newBatch.DateStarted = DateTime.Now;
            newBatch.Status = "STARTED";
            newBatch.TerritoryId = CurrentUser.TerritoryId;
            newBatch.FileName = thisFileInfo.Name;
            db.AddressUploadBatches.InsertOnSubmit(newBatch);
            db.SubmitChanges();
            return newBatch;
        }
        public void DoBulkUpload(bool deleteExisting)
        {
            if (!IsUploadValid())
            {
                if (!_ignoreErrors)
                {
                    return;
                }
            }
            var currentBatch = CreateNewBatch();

            try
            {
                if (deleteExisting)
                {
                    Territory.CurrentTerritory().DeleteAllAddresses();
                }
                var uploadedData = GetUploadedData();

                List<UploadedAddress> uploadedAddresses = new List<UploadedAddress>();
                int rowPosition = 1;
                foreach (DataRow thisRow in uploadedData.Rows)
                {
                    try
                    {
                        UploadedAddress newAddress = new UploadedAddress();
                        newAddress.AddressUploadBatchId = currentBatch.AddressUploadBatchId;
                        newAddress.APT = thisRow["apt"].ToString();
                        if (uploadedData.Columns.Contains("Area_Code"))
                        {
                            newAddress.AREA_CODE = thisRow["Area_Code"].ToString();
                        }
                        newAddress.CITY = thisRow["city"].ToString();
                        newAddress.DIR = thisRow["DIR"].ToString();
                        newAddress.FIRST_NAME = thisRow["FIRST_NAME"].ToString();
                        string originalHouseNumber = thisRow["HOUSE_#"].ToString();
                        string numbersOnlyHouseNumber = Regex.Replace(originalHouseNumber, "[^.0-9]", "");
                        if (originalHouseNumber != numbersOnlyHouseNumber)
                        {
                            newAddress.APT += originalHouseNumber.Replace(numbersOnlyHouseNumber, string.Empty);
                        }
                        newAddress.HOUSE__ = numbersOnlyHouseNumber;
                        newAddress.LAST_NAME = thisRow["LAST_NAME"].ToString();
                        newAddress.PHONE = thisRow["PHONE"].ToString();
                        newAddress.STATE = thisRow["STATE"].ToString();
                        newAddress.STREET = thisRow["STREET"].ToString();
                        newAddress.TerritoryId = CurrentUser.TerritoryId;
                        newAddress.ZIP = thisRow["ZIP"].ToString();
                        uploadedAddresses.Add(newAddress);
                        rowPosition++;
                    }
                    catch (Exception ex)
                    {
                        _errorList.Add("There was an error on row " + rowPosition + " Detailed Error: " + ex.Message);
                        break;
                    }

                }

                // upload addresses
                if (_errorList.Count == 0)
                {
                    var db = new TerritoryDBDataContext();
                    db.UploadedAddresses.InsertAllOnSubmit(uploadedAddresses);
                    db.SubmitChanges();

                }
                else
                {
                    return;
                }

            }
            catch (Exception Ex)
            {
                throw Ex;

            }
            BatchFinished(currentBatch);
        }
    protected void ButtonReturn_Click(object sender, EventArgs e)
    {
        if (TerritoryId > 0)
        {
            var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
            var territory = (from t in db.Territories
                             where t.TerritoryId == TerritoryId
                             select t).First();
            if (territory.IsAssigned)
            {
                TerritorySite.BL.Linq.Territory.ReturnTerritory(territory.TerritoryId, "Return by Publisher", DateTime.Now);
            }
            else if (territory.IsBeingReturned )
            {
                TerritorySite.BL.Linq.Territory.FeedBackCompleteTerritory(territory.TerritoryId);

            }
            Response.Redirect("ThankYou.aspx?m=Your territory has been returned");
        }
    }
    private void DoDataBind()
    {
        if (TerritoryId > 0)
        {
            var db = new TerritorySite.BL.Linq.TerritoryDBDataContext();
            var territory = (from t in db.Territories
                             where t.TerritoryId == TerritoryId
                             select t).First();
            var assignment = (from a in db.TerritoryAssignments
                              where a.Guid.Equals(new Guid(Request["territoryid"]))
                              select a).FirstOrDefault();
            LabelAssignmentDate.Text = assignment.AssignedOn.Value.ToShortDateString();
            LabelReturnBy.Text = assignment.ExpiresOn.Value.ToShortDateString();
            LabelTerritoryNumber.Text = territory.TerritoryNumber.ToString();

            var addresses = (from a in territory.Addresses
                             where a.AssignmentPinNumber > 0
                             select a).ToList();
            total = addresses.Count();
            done = (from a in addresses where a.HasBeenWorked == true select a).Count();
            nh = (from a in addresses where a.NotAtHomeCount > 0 select a).Count();

        }
        else
        {
            Response.Redirect("ThankYou.aspx?m=Invalid Territory");
        }
    }
示例#29
0
 //public static List<StateProvince> GetByCountryId(int countryID)
 //{
 //    var db = new TerritoryDBDataContext();
 //    return (from state in db.StateProvinces
 //            where state.CountryId == countryID
 //            & state.RegionCode != string.Empty
 //            orderby state.Description
 //            select state).ToList();
 //}
 public static List<City> GetCitiesForCurrentAccount()
 {
     var db = new TerritoryDBDataContext();
     return (from c in db.CityAccountMaps  where c.AccountID == CurrentUser.CurrentAccount.AccountId select c.City).ToList();
 }
 private void BatchFinished(AddressUploadBatch batch)
 {
     var db = new TerritoryDBDataContext();
     db.AddressUploadBatches.Attach(batch);
     batch.Status = "COMPLETED";
     batch.DateCompleted = DateTime.Now;
     db.SubmitChanges();
 }