protected string GetDaps() { Project_Organisms projectOrganisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectOrganismID(Convert.ToInt32(Page.RouteData.Values["project_organism_id"])); List <Dap> tempDaps = new DapBLL().GetDapsByTreeDetailsID(projectOrganisms.TreeDetails.First().TreeDetailsID).ToList(); string daps = ""; foreach (Dap tempDap in tempDaps) { daps += Convert.ToDouble(tempDap.DapValue).ToString() + ","; } daps = (daps.Count() > 1) ? daps.Substring(0, daps.Count() - 1) : daps; return(daps); }
protected void ButtonDeleteSelected_Click(object sender, System.EventArgs e) { try { // Create a List to hold the ProjectID values to delete List <Int32> TreeDetailIDsToDelete = new List <Int32>(); List <Int32> ProjectOrganismsIDsToDelete = new List <Int32>(); List <Int32> DapIDsToDelete = new List <Int32>(); // Iterate through the Projects.Rows property foreach (GridViewRow row in gridViewTreeDetails.Rows) { // Access the CheckBox CheckBox cb = (CheckBox)(row.FindControl("chkTreeDetailsSelector")); if (cb != null && cb.Checked) { // Save the ProjectID value for deletion // First, get the ProjectID for the selected row Int32 treeDetailsID = (Int32)gridViewTreeDetails.DataKeys[row.RowIndex].Value; Eisk.BusinessEntities.TreeDetail treeDetail = new TreeDetailBLL().GetTreeDetailByTreeDetailsID(treeDetailsID); List <Int32> tempDaps = new DapBLL().GetDapsByTreeDetailsID(treeDetailsID).Select(instance => instance.DapID).ToList(); // Add it to the List... ProjectOrganismsIDsToDelete.Add(treeDetail.ProjectOrganismID); TreeDetailIDsToDelete.Add(treeDetail.TreeDetailsID); DapIDsToDelete.AddRange(tempDaps); } } using (DatabaseContext _DatabaseContext = new DatabaseContext()) { foreach (int dapID in DapIDsToDelete) { Dap dap = _DatabaseContext.Daps.First(instance => instance.DapID == dapID); _DatabaseContext.Daps.DeleteObject(dap); _DatabaseContext.SaveChanges(); } foreach (int treeDetailsID in TreeDetailIDsToDelete) { TreeDetail treeDetail = _DatabaseContext.TreeDetails.First(instance => instance.TreeDetailsID == treeDetailsID); _DatabaseContext.TreeDetails.DeleteObject(treeDetail); _DatabaseContext.SaveChanges(); } foreach (int ProjectOrganismID in ProjectOrganismsIDsToDelete) { Project_Organisms project_Organism = _DatabaseContext.Project_Organisms.First(instance => instance.ProjectOrganismID == ProjectOrganismID); _DatabaseContext.Project_Organisms.DeleteObject(project_Organism); _DatabaseContext.SaveChanges(); } //Sort Numbers after deleting int projectIDINT = Convert.ToInt32(RouteData.Values["Project_id"]); List <TreeDetail> treeDetails = _DatabaseContext.TreeDetails .Where(instance => instance.Project_Organisms.ProjectID == projectIDINT) .OrderBy(instance => instance.Number) .ToList(); int number = 1; foreach (TreeDetail tDetail in treeDetails) { tDetail.Number = number; number++; } // _DatabaseContext.SaveChanges(); } // Add a confirmation message ltlMessage.Text += String.Format(MessageFormatter.GetFormattedSuccessMessage("Eliminación de árboles satisfactoria. <b>{0}</b> árboles eliminados"), ProjectOrganismsIDsToDelete.Count); } catch (Exception ex) { ltlMessage.Text = ExceptionManager.DoLogAndGetFriendlyMessageForException(ex); } //binding the grid gridViewTreeDetails.PageIndex = 0; gridViewTreeDetails.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); gridViewTreeDetails.DataBind(); }