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();
    }
示例#2
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();
 }
示例#4
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();
     }
 }
        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);
        }
        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;
        }
 private void BatchFinished(AddressUploadBatch batch)
 {
     var db = new TerritoryDBDataContext();
     db.AddressUploadBatches.Attach(batch);
     batch.Status = "COMPLETED";
     batch.DateCompleted = DateTime.Now;
     db.SubmitChanges();
 }
示例#8
0
        public static void AssignPinsCurrentTerritory()
        {
            var db = new TerritoryDBDataContext();
            var addressList = (from a in db.Addresses
                               where a.TerritoryId == CurrentUser.TerritoryId
                         &&
                         (
                            a.LanguageId == CurrentUser.CurrentAccount.LanguageId
                            ||
                            a.LanguageId == 509
                         )
                               select a).ToList();
            addressList = (from a in addressList
                           orderby a.IsGeoCoded descending, a.StreetName, a.HouseNumber
                           select a).ToList();
            int count = 1;
            foreach (var address in addressList)
            {

                address.AssignmentPinNumber = count;
                address.HasBeenWorked = false;
                address.NotAtHomeCount = 0;
                count++;

            }
            db.SubmitChanges();
        }
示例#9
0
 public void DeleteAllAddresses()
 {
     if (TerritoryId > 0)
     {
         var db= new TerritoryDBDataContext();
         var addressesToDelete = (from a in db.Addresses where a.TerritoryId == TerritoryId select a).ToList();
         db.Addresses.DeleteAllOnSubmit(addressesToDelete);
         db.SubmitChanges();
     }
 }
 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);
         }
     }
 }
 protected void buttonNH_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)
         {
             if (addr.NotAtHomeCount == -1)
             {
                 addr.NotAtHomeCount = 1;
             }
             addr.NotAtHomeCount = addr.NotAtHomeCount + 1;
             addr.HasBeenWorked = false;
             db.SubmitChanges();
             ReturnTo(addr);
             //Response.Redirect("ContactList.aspx?TerritoryId=" + territoryIdGuid + "&s=" + addr.StreetName);
         }
     }
 }