protected void gridViewOrganisms_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName != "Page") { ProjectBLL projectBLL = new ProjectBLL(); Project project = projectBLL.GetProjectByProjectID(Convert.ToInt32(Page.RouteData.Values["project_id"])); OrganismBLL organismBLL = new OrganismBLL(); Organism organism = organismBLL.GetOrganismByOrganismID(Convert.ToInt32(e.CommandArgument)); Project_OrganismsBLL project_OrganismsBLL = new Project_OrganismsBLL(); Project_Organisms project_Organism = new Project_Organisms(); project_Organism.ProjectID = project.ProjectID; project_Organism.ProjectReference.EntityKey = project.EntityKey; project_Organism.OrganismID = organism.OrganismID; project_Organism.OrganismReference.EntityKey = organism.EntityKey; project_Organism.CreatedDate = DateTime.Now; project_Organism.EditedDate = DateTime.Now; project_OrganismsBLL.CreateNewProject_Organisms(project_Organism); Response.RedirectToRoute("organismsinproject", new { project_id = (Page.RouteData.Values["project_id"] as string) }); } }
protected void lbGenerateCSV_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(3000); string projectID = new Page().RouteData.Values["project_id"] as string; // Validar 1 o más arboles List <Project_Organisms> project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(Convert.ToInt32(projectID)); if (project_Organisms.Count == 0) { ltlMessage.Text = MessageFormatter.GetFormattedNoticeMessage("Generación de reportes cancelada. Entre al menos un arbol al proyecto para permitir la generación de reportes."); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "codeBehindToJS", " hideDiv(); ", false); return; } hfReports.Value = Page.GetRouteUrl("tl-report-details-csv", new { edit_mode = "edit", project_id = RouteData.Values["Project_id"], reports = "a" }); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "codeBehindToJS", " EndRequest(null,null); ", false); }
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 string getTrees() { List <Project_Organisms> project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(Convert.ToInt32(RouteData.Values["project_id"])); List <object> trees = new List <object>(); foreach (Project_Organisms project_Organism in project_Organisms) { TreeDetail treeDetail = project_Organism.TreeDetails.ToList()[0]; var tree = new { treeDetail.ActionProposed.ActionProposedDesc, treeDetail.ActionProposed.ActionProposedID, treeDetail.ActionProposed.Color.ColorDesc, treeDetail.ActionProposed.Color.ColorID, treeDetail.ActionProposed.Color.Code, treeDetail.MaritimeZone, treeDetail.Littoral, treeDetail.Commentary, treeDetail.Condition.ConditionDesc, treeDetail.Condition.ConditionID, treeDetail.CreatedDate, treeDetail.CreatorUserID, treeDetail.Dap, treeDetail.Dap_Counter, treeDetail.EditedDate, treeDetail.EditorUserID, treeDetail.Height, treeDetail.Lat, treeDetail.Lon, treeDetail.X, treeDetail.Y, treeDetail.Number, treeDetail.ProjectOrganismID, treeDetail.Project_Organisms.ProjectID, treeDetail.Project_Organisms.OrganismID, treeDetail.Project_Organisms.Organism.CommonName.CommonNameDesc, treeDetail.Project_Organisms.Organism.CommonName.CommonNameID, treeDetail.Project_Organisms.Organism.ScientificName.ScientificNameDesc, treeDetail.Project_Organisms.Organism.ScientificName.ScientificNameID, treeDetail.TreeDetailsID, treeDetail.Varas }; trees.Add(tree); } return(new JavaScriptSerializer().Serialize(trees)); }
protected void btnCloneBase_Click(object sender, EventArgs e) { pnlCloneError.Style["display"] = "none"; lblCloneError.Text = ""; string message = ""; Project_Organisms project_Organism; if (!Project_OrganismsBLL.TryParse_ByNumber(txtCloneBase.Text, out project_Organism)) { message = " • Número del Árbol a ser Copiado Inválido<br />"; } else { var treeInfo = project_Organism.TreeDetails.First(); lblNumber.Text = treeInfo.Number.Value.ToString(); lblNombreComun.Text = project_Organism.Organism.CommonName.CommonNameDesc; lblVaras.Text = treeInfo.Varas.Value.ToString(); pnlCloneVarasChk.Visible = treeInfo.Varas.Value != 0; pnlCloneVaras.Visible = treeInfo.Varas.Value != 0; lblDap.Text = String.Format("{0:0.####################################}", treeInfo.Dap) + "' "; pnlCloneDapChk.Visible = treeInfo.Dap != 0; pnlCloneDap.Visible = treeInfo.Dap != 0; lblAltura.Text = String.Format("{0:0.####################################}", treeInfo.Height.Value) + "'' "; lblAcciónPropuesta.Text = treeInfo.ActionProposed.ActionProposedDesc; lblCondicion.Text = treeInfo.Condition.ConditionDesc; lblLitoral.Text = treeInfo.Littoral ? "Si" : "No"; lblMaritimoTerrestre.Text = treeInfo.MaritimeZone ? "Si" : "No"; txtCloneBase.Style["background-color"] = "#E3E9EF"; txtCloneBase.Enabled = false; } if (!string.IsNullOrEmpty(message)) { pnlCloneError.Style["display"] = "block"; pnlLoading.Style["display"] = "block"; pnlClone.Style["display"] = "block"; lblCloneError.Text = "<strong>Favor validar los siguientes detalles:</strong><br />" + message; return; } btnCloneBase.Visible = false; btnCloneBaseClear.Visible = true; pnlCloneRange.Style["display"] = (rbtCloneRange.Checked) ? "block" : "none"; }
protected void ButtonAddNewTreeDetails_Click(object sender, System.EventArgs e) { ProjectInfoTreeLocation ProjectInfoTreeLocation = new ProjectInfoTreeLocationBLL().GetProjectInfoTreeLocationsByProjectID(Convert.ToInt32(RouteData.Values["Project_id"]))[0]; int count = new Project_OrganismsBLL().GetTotalCountForAllProject_OrganismsByProjectID(Convert.ToInt32(RouteData.Values["Project_id"])); Response.RedirectToRoute("tl-tree-details", new { edit_mode = "new", Project_id = RouteData.Values["Project_id"], project_organism_id = 0, number = count + 1, x = ProjectInfoTreeLocation.X, y = ProjectInfoTreeLocation.Y, lat = ProjectInfoTreeLocation.Lat, lon = ProjectInfoTreeLocation.Lon }); }
protected void ButtonDeleteSelected_Click(object sender, System.EventArgs e) { try { // Create a List to hold the OrganismID values to delete List <Int32> OrganismIDsToDelete = new List <Int32>(); // Iterate through the Organisms.Rows property foreach (GridViewRow row in gridViewOrganisms.Rows) { // Access the CheckBox CheckBox cb = (CheckBox)(row.FindControl("chkOrganismSelector")); if (cb != null && cb.Checked) { // Save the OrganismID value for deletion // First, get the OrganismID for the selected row Int32 OrganismID = (Int32)gridViewOrganisms.DataKeys[row.RowIndex].Value; Project_OrganismsBLL project_OrganismsBLL = new Project_OrganismsBLL(); Eisk.BusinessEntities.Project_Organisms project_Organisms = project_OrganismsBLL.GetProject_OrganismByProjectIDOrganismID(Convert.ToInt32((Page.RouteData.Values["project_id"] as string)), OrganismID); // Add it to the List... OrganismIDsToDelete.Add(project_Organisms.ProjectOrganismID); // Add a confirmation message ltlMessage.Text += String.Format(MessageFormatter.GetFormattedSuccessMessage("Delete successful. <b>{0}</b> - <b>{1}</b>(<b>{2}</b>) has been deleted"), project_Organisms.Organism.OrganismType.OrganismTypeName, project_Organisms.Organism.CommonName, project_Organisms.Organism.ScientificName); } } //perform the actual delete new Project_OrganismsBLL().DeleteProject_Organisms(OrganismIDsToDelete); } catch (Exception ex) { ltlMessage.Text = ExceptionManager.DoLogAndGetFriendlyMessageForException(ex); } //binding the grid gridViewOrganisms.PageIndex = 0; gridViewOrganisms.DataBind(); }
protected void gridViewTreeDetails_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "lb") { string project_organism_id = ((System.Web.UI.WebControls.ImageButton)(e.CommandSource)).CommandArgument; var project_organism = new Project_OrganismsBLL().GetProject_OrganismsByProjectOrganismID(Convert.ToInt32(project_organism_id)); var treeDetails = project_organism.TreeDetails.First(); string x = Page.GetRouteUrl("tl-tree-details", new { edit_mode = "edit", Project_id = project_organism.ProjectID.ToString(), project_organism_id = project_organism.ProjectOrganismID.ToString(), number = treeDetails.Number.ToString(), x = treeDetails.X.ToString(), y = treeDetails.Y.ToString(), lat = treeDetails.Lat.ToString(), lon = treeDetails.Lon.ToString() }); x += "?s=i" + "&ac=" + ddlActionProposed.Value as string + "&ob=" + ddlOrderBy.SelectedValue as string + "&r=" + (rbReverse.Checked ? "1" : "0") as string + "&c=" + (cbCepas.Checked ? "1" : "0") as string + "&l=" + (chkLittoral.Checked ? "1" : "0") as string + "&m=" + (chkMaritimeZone.Checked ? "1" : "0") as string + "&sri=" + (gridViewTreeDetails.PageIndex * gridViewTreeDetails.PageSize).ToString() + "&mr=" + gridViewTreeDetails.PageSize as string + "&pi=" + gridViewTreeDetails.PageIndex as string + (!string.IsNullOrEmpty(txtFilter.Text) ? "&f=" + txtFilter.Text as string : ""); Response.Redirect(x); } }
protected void Page_Load(object sender, EventArgs e) { string projectID = (Page.RouteData.Values["project_id"] as string); List <string> repsIdsToCreate = (Page.RouteData.Values["reports"] as string).Split(',').ToList(); List <Rep> repsToCreate = new List <Rep>(); foreach (string repID in repsIdsToCreate) { repsToCreate.Add(new RepBLL().GetRepByRepID(Convert.ToInt32(repID))); } bool isFullHeader = Convert.ToBoolean(Page.RouteData.Values["headeroneachreport"] as string);// cbHeaderOnEachReport.Checked; Eisk.BusinessEntities.Project project = new ProjectBLL().GetProjectByProjectID(Convert.ToInt32(projectID)); Eisk.BusinessEntities.User user = new UserBLL().GetUserByUserName((HttpContext.Current.User.Identity).Name); Eisk.BusinessEntities.UserInfo userInfo = user.UserInfoes.First(instance => instance.UserID == user.UserID); DateTime time = DateTime.Now; string name = Reports.Translate(project.ProjectInfoes.First().ProjectName); string path = System.Web.HttpContext.Current.Server.MapPath(@System.Configuration.ConfigurationManager.AppSettings["ProjectsRoot"]) + projectID.ToString(); // check folder exists if (!Directory.Exists(path)) { Directory.CreateDirectory(path); System.IO.File.WriteAllText(path + "/" + name + ".xlsx", ""); } FileInfo newFile = new FileInfo(path + @"\" + name + ".xlsx"); File.Delete(path + @"\" + name + ".xlsx"); using (ExcelPackage pck = new ExcelPackage(newFile)) { ProjectInfo projectInfo = new ProjectInfoBLL().GetProjectInfoesByProjectID(Convert.ToInt32(projectID)).First(); List <Project_Organisms> project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(Convert.ToInt32(projectID)); int totalPages = 0; int currentPageNumber = 0; int maxLines = Convert.ToInt32(@System.Configuration.ConfigurationManager.AppSettings["reportsMaxLines"]); List <TreeDetail> treeDetails = new List <TreeDetail>(); List <TreeDetail> treeComentaries = new List <TreeDetail>(); List <TreesSummary> actionProposedID0Items = new List <TreesSummary>(); List <TreesSummary> actionProposedID1Items = new List <TreesSummary>(); List <TreesSummary> actionProposedID2Items = new List <TreesSummary>(); List <TreesSummary> actionProposedID3Items = new List <TreesSummary>(); List <TreesSummary> actionProposedID4Items = new List <TreesSummary>(); int treeDetailsCount = 0; int actionProposedID0ItemsCount = 0; int actionProposedID1ItemsCount = 0; int actionProposedID2ItemsCount = 0; int actionProposedID3ItemsCount = 0; int actionProposedID4ItemsCount = 0; List <Index> idexes = new List <Index>(); if (repsToCreate.Select(instance => instance.RepID).Contains(1)) { idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 1).Select(instance => instance.RepName).First(), 1, totalPages + 1, totalPages + 1 )); totalPages += 1; } if (repsToCreate.Select(instance => instance.RepID).Contains(2)) { treeDetails = new TreeDetailBLL().GetTreeDetailsByProjectID(Convert.ToInt32(projectID)); treeDetailsCount += Reports.GetPageCountOrDefault(maxLines, treeDetails.Count); idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 2).Select(instance => instance.RepName).First(), 2, totalPages + 1, totalPages + treeDetailsCount )); totalPages += treeDetailsCount; } if (repsToCreate.Select(instance => instance.RepID).Contains(3)) { actionProposedID0Items = new TreesSummaryBLL().GetItems(project_Organisms, 0, true); actionProposedID0ItemsCount = Reports.GetPageCountOrDefault(maxLines, actionProposedID0Items.Count); ; idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 3).Select(instance => instance.RepName).First(), 3, totalPages + 1, totalPages + actionProposedID0ItemsCount )); totalPages += actionProposedID0ItemsCount; } if (repsToCreate.Select(instance => instance.RepID).Contains(4)) { actionProposedID1Items = new TreesSummaryBLL().GetItems(project_Organisms, 1, true); actionProposedID1ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID1Items.Count); idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 4).Select(instance => instance.RepName).First(), 4, totalPages + 1, totalPages + actionProposedID1ItemsCount )); totalPages += actionProposedID1ItemsCount; } if (repsToCreate.Select(instance => instance.RepID).Contains(5)) { actionProposedID2Items = new TreesSummaryBLL().GetItems(project_Organisms, 2, true); actionProposedID2ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID2Items.Count); idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 5).Select(instance => instance.RepName).First(), 5, totalPages + 1, totalPages + actionProposedID2ItemsCount )); totalPages += actionProposedID2ItemsCount; } if (repsToCreate.Select(instance => instance.RepID).Contains(6)) { actionProposedID3Items = new TreesSummaryBLL().GetItems(project_Organisms, 3, true); actionProposedID3ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID3Items.Count); idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 6).Select(instance => instance.RepName).First(), 6, totalPages + 1, totalPages + actionProposedID3ItemsCount )); totalPages += actionProposedID3ItemsCount; } if (repsToCreate.Select(instance => instance.RepID).Contains(7)) { actionProposedID4Items = new TreesSummaryBLL().GetItems(project_Organisms, 4, true); actionProposedID4ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID4Items.Count); idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 7).Select(instance => instance.RepName).First(), 7, totalPages + 1, totalPages + actionProposedID4ItemsCount )); totalPages += actionProposedID4ItemsCount; } if (repsToCreate.Select(instance => instance.RepID).Contains(8)) { idexes.Add( new Index( repsToCreate.Where(instance => instance.RepID == 8).Select(instance => instance.RepName).First(), 1, totalPages + 1, totalPages + 1 )); totalPages += 1; } if (repsToCreate.Select(instance => instance.RepID).Contains(2)) // Se repite el ID de inventario de arboles para anejar comentarios muy largos { treeComentaries = treeDetails.AsQueryable().DynamicOrderBy("Number").Where(instance => instance.Commentary.Trim().Length > 100).ToList(); int totalTreeDetailsLines = 0; int pageCount = 0; foreach (var treeDetail in treeComentaries) { int lines = (int)Math.Ceiling((double)treeDetail.Commentary.Length / 200D); if (totalTreeDetailsLines + lines > maxLines * pageCount) { pageCount++; } totalTreeDetailsLines += lines; } if (treeComentaries.Count > 0) { idexes.Add( new Index( "Comentarios (Continuación)", 0, totalPages + 1, totalPages + pageCount )); } //int pageCount = (int)Math.Ceiling((double)totalTreeDetailsLines / (double)maxLines); totalPages += pageCount; } bool hasIndex = Convert.ToBoolean(Page.RouteData.Values["createindex"] as string); if (hasIndex)//cbCreateIndex.Checked) { Reports.Index(isFullHeader, currentPageNumber, totalPages, "Tabla de Contenido", project, userInfo, idexes, time, pck); } foreach (Int32 reportID in repsToCreate.Select(instance => instance.RepID)) { switch (reportID) { case 1: { Reports.ProjectInfo(isFullHeader, hasIndex, currentPageNumber, totalPages, project, userInfo, time, pck); currentPageNumber += 1; } break; case 2: { Reports.TreeInventory(isFullHeader, hasIndex, currentPageNumber, totalPages, project, userInfo, treeDetails.AsQueryable().DynamicOrderBy("Number").ToList(), time, pck, maxLines); currentPageNumber += treeDetailsCount; } break; case 3: { // actionProposedID = 0; ALL Reports.TreesSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, project, userInfo, actionProposedID0Items, time, pck, maxLines); currentPageNumber += actionProposedID0ItemsCount; } break; case 4: { // actionProposedID = 1; Corte y Remoción Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Corte y Remoción", project, userInfo, actionProposedID1Items, time, pck, maxLines); currentPageNumber += actionProposedID1ItemsCount; } break; case 5: { // actionProposedID = 2; Protección Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Protección", project, userInfo, actionProposedID2Items, time, pck, maxLines); currentPageNumber += actionProposedID2ItemsCount; } break; case 6: { // actionProposedID = 3; Poda Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Poda", project, userInfo, actionProposedID3Items, time, pck, maxLines); currentPageNumber += actionProposedID3ItemsCount; } break; case 7: { // actionProposedID = 4; Transplante Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Transplante", project, userInfo, actionProposedID4Items, time, pck, maxLines); currentPageNumber += actionProposedID4ItemsCount; } break; case 8: { using (ExcelPackage pck2 = new OfficeOpenXml.ExcelPackage()) { ExcelWorksheet wsTemplate = null; pck2.Load(File.OpenRead(System.Web.HttpContext.Current.Server.MapPath(@"~\App_Resources\Excel\Totales.xlsx"))); wsTemplate = pck2.Workbook.Worksheets.First(); Reports.ProjectResults(isFullHeader, hasIndex, currentPageNumber, totalPages, project_Organisms, project, userInfo, time, pck, wsTemplate); currentPageNumber += 1; } } break; default: break; } } if (treeComentaries.Count > 0 && treeDetailsCount > 0) { Reports.Comentaries(isFullHeader, hasIndex, currentPageNumber, totalPages, "Comentarios (Continuación)", project, userInfo, treeComentaries, time, pck, maxLines); } pck.Save(); pck.Dispose(); } System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.ClearContent(); response.Clear(); response.ContentType = "application/ms-excel"; response.AddHeader("Content-Disposition", "attachment; filename=" + name + ".xlsx"); response.WriteFile(path + @"/" + name + ".xlsx"); response.End(); }
protected void FormViewTlProject_Organism_ItemUpdating(object sender, FormViewUpdateEventArgs e) { User editor = new UserBLL().GetUserByUserName((HttpContext.Current.User.Identity).Name); Project_Organisms project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectOrganismID((int)e.Keys["ProjectOrganismID"]); using (DatabaseContext _DatabaseContext = new DatabaseContext()) { // TreeDetail TextBox txtVaras = (TextBox)formViewTlProject_Organism.FindControl("txtVaras"); HiddenField hfDap = (HiddenField)formViewTlProject_Organism.FindControl("hfDap"); TextBox txtHeight = (TextBox)formViewTlProject_Organism.FindControl("txtHeight"); TextBox txtCommentary = (TextBox)formViewTlProject_Organism.FindControl("txtCommentary"); Label lblNumber = (Label)formViewTlProject_Organism.FindControl("lblNumber"); TextBox txtX = (TextBox)formViewTlProject_Organism.FindControl("txtX"); TextBox txtY = (TextBox)formViewTlProject_Organism.FindControl("txtY"); TextBox txtLat = (TextBox)formViewTlProject_Organism.FindControl("txtLat"); TextBox txtLon = (TextBox)formViewTlProject_Organism.FindControl("txtLon"); RadioButtonList rblActionProposed = (RadioButtonList)formViewTlProject_Organism.FindControl("rblActionProposed"); RadioButtonList rblCondition = (RadioButtonList)formViewTlProject_Organism.FindControl("rblCondition"); // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Edgardo Ramos - 20130928 CheckBox chkLittoral = (CheckBox)formViewTlProject_Organism.FindControl("chkLittoral"); CheckBox chkMaritimeZone = (CheckBox)formViewTlProject_Organism.FindControl("chkMaritimeZone"); CheckBox cbCepa = (CheckBox)formViewTlProject_Organism.FindControl("cbCepa"); // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- TreeDetail treeDetail = _DatabaseContext.TreeDetails.First(instance => instance.ProjectOrganismID == project_Organisms.ProjectOrganismID); //Delete existing Daps foreach (Dap item in _DatabaseContext.Daps.Where(instance => instance.TreeDetailsID == treeDetail.TreeDetailsID).ToList()) { _DatabaseContext.Daps.DeleteObject(item); } if (cbCepa.Checked)// Is Cepa { treeDetail.Dap = 0; treeDetail.Dap_Counter = 0; treeDetail.Varas = Convert.ToInt32(string.IsNullOrEmpty(txtVaras.Text) ? "0" : txtVaras.Text); } else { treeDetail.Varas = 0; var dapsList = hfDap.Value.Split(',').ToList(); if (dapsList.Count == 1) // Solo un Dap { decimal dap = Convert.ToDecimal(dapsList[0]); treeDetail.Dap = dap; treeDetail.Dap_Counter = 1; Dap dapObj = new Dap(); dapObj.DapValue = dap; dapObj.TreeDetailsID = treeDetail.TreeDetailsID; dapObj.TreeDetailReference.EntityKey = treeDetail.EntityKey; _DatabaseContext.Daps.AddObject(dapObj); } else // 1 o Mas de un Dap { string[] daps = hfDap.Value.Split(','); double dapTotal = 0; foreach (string dap in daps) { dapTotal += Convert.ToDouble(dap); } treeDetail.Dap = Convert.ToDecimal(Math.Round(Math.Sqrt(Math.Pow(dapTotal, 2D) / Convert.ToDouble(daps.Count())) * 100) / 100); treeDetail.Dap_Counter = daps.Count(); foreach (string dapString in daps) { Dap dap = new Dap(); dap.DapValue = Convert.ToDecimal(dapString); dap.TreeDetailsID = treeDetail.TreeDetailsID; dap.TreeDetailReference.EntityKey = treeDetail.EntityKey; _DatabaseContext.Daps.AddObject(dap); } } } treeDetail.Height = Convert.ToDecimal(txtHeight.Text); treeDetail.Commentary = (txtCommentary.Text.Length > txtCommentary.MaxLength) ? txtCommentary.Text.Substring(0, txtCommentary.MaxLength) : txtCommentary.Text; treeDetail.Number = Convert.ToInt32(lblNumber.Text); // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Edgardo Ramos - 20130928 decimal dec; RadioButtonList rblPosition = (RadioButtonList)formViewTlProject_Organism.FindControl("rblPosition"); if (rblPosition.SelectedValue == "0") // Nad83 { treeDetail.X = decimal.TryParse(txtX.Text, out dec) ? Convert.ToDecimal(txtX.Text) : 0; treeDetail.Y = decimal.TryParse(txtY.Text, out dec) ? Convert.ToDecimal(txtY.Text) : 0; if (treeDetail.X != 0 && treeDetail.Y != 0) { Dictionary <string, object> anewpointObj = Utility.ConvertToLatLng(treeDetail.X.ToString(), treeDetail.Y.ToString(), @"~/App_Resources/client-scripts/tl/"); treeDetail.Lat = Convert.ToDecimal(anewpointObj["y"]); txtLat.Text = treeDetail.Lat.ToString(); treeDetail.Lon = Convert.ToDecimal(anewpointObj["x"]); txtLon.Text = treeDetail.Lon.ToString(); } else { treeDetail.Lat = 0; treeDetail.Lon = 0; } } else // StatePlanes { treeDetail.Lat = decimal.TryParse(txtLat.Text, out dec) ? Convert.ToDecimal(txtLat.Text) : 0; treeDetail.Lon = decimal.TryParse(txtLon.Text, out dec) ? Convert.ToDecimal(txtLon.Text) : 0; if (treeDetail.Lat != 0 && treeDetail.Lon != 0) { Dictionary <string, object> anewpointObj = Utility.ConvertToStatePlane(treeDetail.Lon.ToString(), treeDetail.Lat.ToString(), @"~/App_Resources/client-scripts/tl/"); treeDetail.X = Convert.ToDecimal(anewpointObj["x"]); txtX.Text = treeDetail.X.ToString(); treeDetail.Y = Convert.ToDecimal(anewpointObj["y"]); txtY.Text = treeDetail.Y.ToString(); } else { treeDetail.X = 0; treeDetail.Y = 0; } } //treeDetail.X = Convert.ToDecimal(txtX.Text); //treeDetail.Y = Convert.ToDecimal(txtY.Text); //treeDetail.Lat = Convert.ToDecimal(txtLat.Text); //treeDetail.Lon = Convert.ToDecimal(txtLon.Text); treeDetail.Littoral = chkLittoral.Checked; treeDetail.MaritimeZone = chkMaritimeZone.Checked; // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- treeDetail.EditedDate = DateTime.Now; treeDetail.EditorUserID = editor.UserID; ActionProposed actionProposed = new ActionProposedBLL().GetActionProposedByActionProposedID(Convert.ToInt32(rblActionProposed.SelectedValue)); treeDetail.ActionProposedID = actionProposed.ActionProposedID; treeDetail.ActionProposedReference.EntityKey = actionProposed.EntityKey; Condition condition = new ConditionBLL().GetConditionByConditionID(Convert.ToInt32(rblCondition.SelectedValue)); treeDetail.ConditionID = condition.ConditionID; treeDetail.ConditionReference.EntityKey = condition.EntityKey; treeDetail.ProjectOrganismID = project_Organisms.ProjectOrganismID; treeDetail.Project_OrganismsReference.EntityKey = project_Organisms.EntityKey; _DatabaseContext.SaveChanges(); // } Type myType = (typeof(Project_Organisms)); PropertyInfo[] props = myType.GetProperties(); string[] arrNewValues = new string[e.NewValues.Keys.Count]; e.NewValues.Keys.CopyTo(arrNewValues, 0); foreach (var prop in props) { if (("System.String,System.Int,System.DateTime,System.Guid,System.Boolean").IndexOf((prop.PropertyType).FullName) >= 0) // Si la propiedad es de tipo Guid, String, Int, Boolean o DateTime { if (!arrNewValues.Contains(prop.Name)) { e.NewValues[prop.Name] = prop.GetValue(project_Organisms, null); } } } e.NewValues["ProjectID"] = RouteData.Values["Project_id"].ToString(); e.NewValues["OrganismID"] = ((HiddenField)formViewTlProject_Organism.FindControl("hfOrganism")).Value; e.NewValues["EditorUserId"] = editor.UserID.ToString(); e.NewValues["EditedDate"] = DateTime.Now; }
protected void OdsProject_Organism_Details_Inserted(object sender, System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs e) { int result = Convert.ToInt32(e.ReturnValue, System.Globalization.CultureInfo.CurrentCulture.NumberFormat); //string lat = ""; //string lon = ""; if (result != 0) { Project_Organisms project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectOrganismID(result); ProjectInfoTreeLocation projectInfoTreeLocation = new ProjectInfoTreeLocationBLL().GetProjectInfoTreeLocationsByProjectID(project_Organisms.ProjectID)[0]; bool fromInventory = false; UserBLL userBLL = new UserBLL(); Eisk.BusinessEntities.User user = userBLL.GetUserByUserName((HttpContext.Current.User.Identity).Name); if (user != null) { // TreeDetail TextBox txtVaras = (TextBox)formViewTlProject_Organism.FindControl("txtVaras"); HiddenField hfDap = (HiddenField)formViewTlProject_Organism.FindControl("hfDap"); TextBox txtDap = (TextBox)formViewTlProject_Organism.FindControl("txtDap"); TextBox txtDapCounter = (TextBox)formViewTlProject_Organism.FindControl("txtDapCounter"); TextBox txtHeight = (TextBox)formViewTlProject_Organism.FindControl("txtHeight"); TextBox txtCommentary = (TextBox)formViewTlProject_Organism.FindControl("txtCommentary"); Label lblNumber = (Label)formViewTlProject_Organism.FindControl("lblNumber"); TextBox txtX = (TextBox)formViewTlProject_Organism.FindControl("txtX"); TextBox txtY = (TextBox)formViewTlProject_Organism.FindControl("txtY"); TextBox txtLat = (TextBox)formViewTlProject_Organism.FindControl("txtLat"); TextBox txtLon = (TextBox)formViewTlProject_Organism.FindControl("txtLon"); RadioButtonList rblActionProposed = (RadioButtonList)formViewTlProject_Organism.FindControl("rblActionProposed"); RadioButtonList rblCondition = (RadioButtonList)formViewTlProject_Organism.FindControl("rblCondition"); // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Edgardo Ramos - 20130928 CheckBox chkLittoral = (CheckBox)formViewTlProject_Organism.FindControl("chkLittoral"); CheckBox chkMaritimeZone = (CheckBox)formViewTlProject_Organism.FindControl("chkMaritimeZone"); // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- TreeDetail treeDetail = new TreeDetail(); if (!string.IsNullOrEmpty(txtVaras.Text) && txtVaras.Text != "0") // Is Cepa { treeDetail.Dap = 0; treeDetail.Dap_Counter = 0; } else if (txtDapCounter.Text == "1") // Solo un Dap { //treeDetail.Dap = Convert.ToDecimal(txtDap.Text);// new DapBLL().GetDap(0); //treeDetail.Dap_Counter = Convert.ToInt32(txtDapCounter.Text); //new DapBLL().GetDapCount(0); treeDetail.Dap = Convert.ToDecimal(hfDap.Value); // new DapBLL().GetDap(0); treeDetail.Dap_Counter = Convert.ToInt32(1); //new DapBLL().GetDapCount(0); } else // Mas de un Dap { string[] daps = hfDap.Value.Split(','); double dapTotal = 0; foreach (string dap in daps) { dapTotal += Convert.ToDouble(dap); }//dapTotal;// new DapBLL().GetDap(0); treeDetail.Dap = Convert.ToDecimal(Math.Round(Math.Sqrt(Math.Pow(dapTotal, 2D) / Convert.ToDouble(daps.Count())) * 100) / 100); treeDetail.Dap_Counter = Convert.ToInt32(txtDapCounter.Text); //new DapBLL().GetDapCount(0); } treeDetail.Varas = Convert.ToInt32(string.IsNullOrEmpty(txtVaras.Text) ? "0" : txtVaras.Text); treeDetail.Height = Convert.ToDecimal(txtHeight.Text); treeDetail.Commentary = (txtCommentary.Text.Length > txtCommentary.MaxLength) ? txtCommentary.Text.Substring(0, txtCommentary.MaxLength) : txtCommentary.Text; treeDetail.Number = Convert.ToInt32(lblNumber.Text); // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Edgardo Ramos - 20130928 decimal dec; RadioButtonList rblPosition = (RadioButtonList)formViewTlProject_Organism.FindControl("rblPosition"); if (rblPosition.SelectedValue == "0") // Nad83 { treeDetail.X = decimal.TryParse(txtX.Text, out dec) ? Convert.ToDecimal(txtX.Text) : 0; treeDetail.Y = decimal.TryParse(txtY.Text, out dec) ? Convert.ToDecimal(txtY.Text) : 0; if (treeDetail.X != 0 && treeDetail.Y != 0) { Dictionary <string, object> anewpointObj = Utility.ConvertToLatLng(treeDetail.X.ToString(), treeDetail.Y.ToString(), @"~/App_Resources/client-scripts/tl/"); treeDetail.Lat = Convert.ToDecimal(anewpointObj["y"]); txtLat.Text = treeDetail.Lat.ToString(); treeDetail.Lon = Convert.ToDecimal(anewpointObj["x"]); txtLon.Text = treeDetail.Lon.ToString(); } else { treeDetail.Lat = 0; treeDetail.Lon = 0; } } else // StatePlanes { treeDetail.Lat = decimal.TryParse(txtLat.Text, out dec) ? Convert.ToDecimal(txtLat.Text) : 0; treeDetail.Lon = decimal.TryParse(txtLon.Text, out dec) ? Convert.ToDecimal(txtLon.Text) : 0; if (treeDetail.Lat != 0 && treeDetail.Lon != 0) { Dictionary <string, object> anewpointObj = Utility.ConvertToStatePlane(treeDetail.Lon.ToString(), treeDetail.Lat.ToString(), @"~/App_Resources/client-scripts/tl/"); treeDetail.X = Convert.ToDecimal(anewpointObj["x"]); txtX.Text = treeDetail.X.ToString(); treeDetail.Y = Convert.ToDecimal(anewpointObj["y"]); txtY.Text = treeDetail.Y.ToString(); } else { treeDetail.X = 0; treeDetail.Y = 0; } } //treeDetail.X = Convert.ToDecimal(txtX.Text); //treeDetail.Y = Convert.ToDecimal(txtY.Text); //treeDetail.Lat = Convert.ToDecimal(txtLat.Text); //treeDetail.Lon = Convert.ToDecimal(txtLon.Text); treeDetail.Littoral = chkLittoral.Checked; treeDetail.MaritimeZone = chkMaritimeZone.Checked; // --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- treeDetail.CreatedDate = DateTime.Now; treeDetail.CreatorUserID = user.UserID; treeDetail.EditedDate = DateTime.Now; treeDetail.EditorUserID = user.UserID; ActionProposed actionProposed = new ActionProposedBLL().GetActionProposedByActionProposedID(Convert.ToInt32(rblActionProposed.SelectedValue)); treeDetail.ActionProposedID = actionProposed.ActionProposedID; treeDetail.ActionProposedReference.EntityKey = actionProposed.EntityKey; Condition condition = new ConditionBLL().GetConditionByConditionID(Convert.ToInt32(rblCondition.SelectedValue)); treeDetail.ConditionID = condition.ConditionID; treeDetail.ConditionReference.EntityKey = condition.EntityKey; treeDetail.ProjectOrganismID = project_Organisms.ProjectOrganismID; treeDetail.Project_OrganismsReference.EntityKey = project_Organisms.EntityKey; int treeDetailID = new TreeDetailBLL().CreateNewTreeDetail(treeDetail); if (treeDetail.Varas != null && treeDetail.Varas > 0) // Is Cepa { // } else if (txtDapCounter.Text == "1") // Solo un Dap { Dap dap = new Dap(); dap.DapValue = Convert.ToDecimal(hfDap.Value); dap.TreeDetailsID = treeDetailID; dap.TreeDetailReference.EntityKey = treeDetail.EntityKey; new DapBLL().CreateNewDap(dap); } else // Mas de un Dap { string[] daps = hfDap.Value.Split(','); foreach (string dapString in daps) { Dap dap = new Dap(); dap.DapValue = Convert.ToDecimal(dapString); dap.TreeDetailsID = treeDetailID; dap.TreeDetailReference.EntityKey = treeDetail.EntityKey; new DapBLL().CreateNewDap(dap); } } fromInventory = Convert.ToDecimal(projectInfoTreeLocation.X) == Convert.ToDecimal(treeDetail.X) && Convert.ToDecimal(projectInfoTreeLocation.Y) == Convert.ToDecimal(treeDetail.Y); // } if (fromInventory) { Response.RedirectToRoute("tl-treeinventory", new { project_id = RouteData.Values["project_id"] }); } else { Response.RedirectToRoute("tl", new { Project_id = RouteData.Values["Project_id"] }); Response.RedirectLocation += "?poid=" + project_Organisms.ProjectOrganismID + "&lat=0&lon=0"; } //Response.RedirectToRoute("tl-tree-details_edit", new { edit_mode = "edit", project_id = Page.RouteData.Values["project_id"] as string, project_organism_id = result }); } }
protected void lbtGenerateReports_Click(object sender, EventArgs e) { ltlMessage.Text = ""; try { // Create a List to hold the ProjectID values to delete List <Rep> repsToCreate = new List <Rep>(); StringBuilder sbReports = new StringBuilder(); // Iterate through the Projects.Rows property foreach (GridViewRow row in gridViewReports.Rows) { // Access the CheckBox CheckBox cb = (CheckBox)(row.FindControl("chkReportSelector")); if (cb != null && cb.Checked) { Rep rep = new RepBLL().GetRepByRepID((Int32)gridViewReports.DataKeys[row.RowIndex].Value); repsToCreate.Add(rep); sbReports.Append(rep.RepID + ","); } } // Al menos un reporte seleccionado if (repsToCreate.Count == 0) { ltlMessage.Text = MessageFormatter.GetFormattedNoticeMessage("Generación de reportes cancelada. Seleccione al menos un reporte para generar."); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "codeBehindToJS", " hideDiv(); ", false); return; } // Validar 1 o más arboles string projectID = (Page.RouteData.Values["project_id"] as string); List <Project_Organisms> project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(Convert.ToInt32(projectID)); if (project_Organisms.Count == 0) { ltlMessage.Text = MessageFormatter.GetFormattedNoticeMessage("Generación de reportes cancelada. Entre al menos un arbol al proyecto para permitir la generación de reportes."); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "codeBehindToJS", " hideDiv(); ", false); return; } // Validar Desconocido y/o Accion Propuesta Det Luego string message; ValidateItems(project_Organisms, out message); if (!(message == "")) { ltlMessage.Text = MessageFormatter.GetFormattedNoticeMessage("Generación de reportes cancelada. Al menos un arbol " + message); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "codeBehindToJS", " hideDiv(); ", false); return; } System.Threading.Thread.Sleep(3000); hfReports.Value = Page.GetRouteUrl("tl-report-details", new { edit_mode = "edit", project_id = RouteData.Values["Project_id"], headeroneachreport = cbHeaderOnEachReport.Checked, createindex = cbCreateIndex.Checked, reports = sbReports.ToString().Substring(0, sbReports.ToString().Length - 1) }); this.ClientScript.RegisterClientScriptBlock(this.GetType(), "codeBehindToJS", " EndRequest(null,null); ", false); } catch (Exception ex) { ltlMessage.Text = ExceptionManager.DoLogAndGetFriendlyMessageForException(ex); } }
protected void btnCloneSelected_Click(object sender, EventArgs e) { pnlCloneError.Style["display"] = "none"; lblCloneError.Text = ""; string invalidMessage = ""; string successMessage = ""; bool dapOrVaras = false; if (pnlCloneDap.Visible) { dapOrVaras = chkCloneDap.Checked; } else { dapOrVaras = chkCloneVaras.Checked; } #region Validate Characteristics if ( !chkCloneNombre.Checked && !dapOrVaras && !chkAltura.Checked && !chkAcciónPropuesta.Checked && !chkCondicion.Checked && !chkLitoral.Checked && !chkMaritimoTerrestre.Checked && !chkComentarios.Checked ) { invalidMessage += " • Seleccione al menos una característica <br />"; } #endregion #region Validate Árbol a ser Clonado Project_Organisms project_OrganismBase; if (!Project_OrganismsBLL.TryParse_ByNumber(txtCloneBase.Text, out project_OrganismBase)) { invalidMessage = " • Número del Árbol a ser Copiado Inválido<br />"; } #endregion List <Project_Organisms> ProjectOrganismsIDsToClone = new List <Project_Organisms>(); Project_Organisms project_OrganismFROM = null; Project_Organisms project_OrganismTO = null; if (!rbtCloneRange.Checked && rbtCloneSelect.Checked) {// Selected #region validate selected // 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); ProjectOrganismsIDsToClone.Add(treeDetail.Project_Organisms); } } if (ProjectOrganismsIDsToClone.Count == 0) { invalidMessage += " • Para copiar las características a los árboles previamente seleccionados debe seleccionar al menos uno <br />"; } #endregion } else {// Range #region validate range if (!Project_OrganismsBLL.TryParse_ByNumber(txtCloneFrom.Text, out project_OrganismFROM)) { invalidMessage += " • Número del Árbol " + '"' + "Desde" + '"' + " Inválido <br />"; } if (!Project_OrganismsBLL.TryParse_ByNumber(txtCloneTo.Text, out project_OrganismTO)) { invalidMessage += " • Número del Árbol " + '"' + "Hasta" + '"' + " Inválido <br />"; } if (project_OrganismFROM != null && project_OrganismTO != null) { if (project_OrganismFROM.TreeDetails.First().Number > project_OrganismTO.TreeDetails.First().Number) { invalidMessage += " • Número del Árbol " + '"' + "Desde" + '"' + " menor que " + '"' + "Hasta" + '"' + " <br />"; } } #endregion } if (!string.IsNullOrEmpty(invalidMessage)) { pnlCloneError.Style["display"] = "block"; pnlLoading.Style["display"] = "block"; pnlClone.Style["display"] = "block"; pnlCloneRange.Style["display"] = (rbtCloneRange.Checked) ? "block" : "none"; lblCloneError.Text = "<strong>Favor validar los siguientes detalles:</strong><br />" + invalidMessage; return; } else { using (DatabaseContext _DatabaseContext = new DatabaseContext()) { var treeDetailBASE = project_OrganismBase.TreeDetails.First(); if (!rbtCloneRange.Checked && rbtCloneSelect.Checked) {// Selected foreach (var projectOrganism in ProjectOrganismsIDsToClone) { var projectOrganismTHIS = _DatabaseContext.Project_Organisms.Where(i => i.ProjectOrganismID == projectOrganism.ProjectOrganismID).First(); var treeDetailTHIS = _DatabaseContext.TreeDetails.First(i => i.ProjectOrganismID == projectOrganismTHIS.ProjectOrganismID); if (chkCloneNombre.Checked) { Organism organism = new OrganismBLL().GetOrganismByOrganismID(project_OrganismBase.OrganismID); projectOrganismTHIS.OrganismID = organism.OrganismID; projectOrganismTHIS.OrganismReference.EntityKey = organism.EntityKey; } foreach (var item in _DatabaseContext.Daps.Where(instance => instance.TreeDetailsID == treeDetailTHIS.TreeDetailsID).ToList()) { _DatabaseContext.Daps.DeleteObject(item); } if (chkCloneVaras.Checked) { treeDetailTHIS.Varas = treeDetailBASE.Varas; } if (chkCloneDap.Checked) { treeDetailTHIS.Dap = treeDetailBASE.Dap; treeDetailTHIS.Dap_Counter = treeDetailBASE.Dap_Counter; foreach (var dap in treeDetailBASE.Daps) { Dap dapTHIS = new Dap(); dapTHIS.DapValue = dap.DapValue; dapTHIS.TreeDetailsID = treeDetailTHIS.TreeDetailsID; dapTHIS.TreeDetailReference.EntityKey = treeDetailTHIS.EntityKey; _DatabaseContext.Daps.AddObject(dapTHIS); } } if (chkAltura.Checked) { treeDetailTHIS.Height = treeDetailBASE.Height; } if (chkAcciónPropuesta.Checked) { ActionProposed actionProposed = new ActionProposedBLL().GetActionProposedByActionProposedID(Convert.ToInt32(treeDetailBASE.ActionProposedID)); treeDetailTHIS.ActionProposedID = actionProposed.ActionProposedID; treeDetailTHIS.ActionProposedReference.EntityKey = actionProposed.EntityKey; } if (chkCondicion.Checked) { Condition condition = new ConditionBLL().GetConditionByConditionID(Convert.ToInt32(treeDetailBASE.ConditionID)); treeDetailTHIS.ConditionID = condition.ConditionID; treeDetailTHIS.ConditionReference.EntityKey = condition.EntityKey; } if (chkLitoral.Checked) { treeDetailTHIS.Littoral = treeDetailBASE.Littoral; } if (chkMaritimoTerrestre.Checked) { treeDetailTHIS.MaritimeZone = treeDetailBASE.MaritimeZone; } if (chkComentarios.Checked) { treeDetailTHIS.Commentary = treeDetailBASE.Commentary; } } successMessage = "Las siguientes cararcterísticas del árbol #" + txtCloneBase.Text + " han sido copiadas satisfactóriamente a los " + ProjectOrganismsIDsToClone.Count + " árboles seleccionados: "; } else {// Range int from = project_OrganismFROM.TreeDetails.FirstOrDefault().Number.Value; int to = project_OrganismTO.TreeDetails.FirstOrDefault().Number.Value; for (int i = from; i <= to; i++) { var projectOrganismTHIS = _DatabaseContext.Project_Organisms.Where(instance => instance.TreeDetails.FirstOrDefault().Number == i).First(); var treeDetailTHIS = _DatabaseContext.TreeDetails.First(instance => instance.ProjectOrganismID == projectOrganismTHIS.ProjectOrganismID); if (chkCloneNombre.Checked) { Organism organism = new OrganismBLL().GetOrganismByOrganismID(project_OrganismBase.OrganismID); projectOrganismTHIS.OrganismID = organism.OrganismID; projectOrganismTHIS.OrganismReference.EntityKey = organism.EntityKey; } foreach (var item in _DatabaseContext.Daps.Where(instance => instance.TreeDetailsID == treeDetailTHIS.TreeDetailsID).ToList()) { _DatabaseContext.Daps.DeleteObject(item); } if (chkCloneVaras.Checked) { treeDetailTHIS.Varas = treeDetailBASE.Varas; } if (chkCloneDap.Checked) { treeDetailTHIS.Dap = treeDetailBASE.Dap; treeDetailTHIS.Dap_Counter = treeDetailBASE.Dap_Counter; foreach (var dap in treeDetailBASE.Daps) { Dap dapTHIS = new Dap(); dapTHIS.DapValue = dap.DapValue; dapTHIS.TreeDetailsID = treeDetailTHIS.TreeDetailsID; dapTHIS.TreeDetailReference.EntityKey = treeDetailTHIS.EntityKey; _DatabaseContext.Daps.AddObject(dapTHIS); } } if (chkAltura.Checked) { treeDetailTHIS.Height = treeDetailBASE.Height; } if (chkAcciónPropuesta.Checked) { ActionProposed actionProposed = new ActionProposedBLL().GetActionProposedByActionProposedID(Convert.ToInt32(treeDetailBASE.ActionProposedID)); treeDetailTHIS.ActionProposedID = actionProposed.ActionProposedID; treeDetailTHIS.ActionProposedReference.EntityKey = actionProposed.EntityKey; } if (chkCondicion.Checked) { Condition condition = new ConditionBLL().GetConditionByConditionID(Convert.ToInt32(treeDetailBASE.ConditionID)); treeDetailTHIS.ConditionID = condition.ConditionID; treeDetailTHIS.ConditionReference.EntityKey = condition.EntityKey; } if (chkLitoral.Checked) { treeDetailTHIS.Littoral = treeDetailBASE.Littoral; } if (chkMaritimoTerrestre.Checked) { treeDetailTHIS.MaritimeZone = treeDetailBASE.MaritimeZone; } if (chkComentarios.Checked) { treeDetailTHIS.Commentary = treeDetailBASE.Commentary; } } successMessage = "Las siguientes cararcterísticas del árbol <b>#" + txtCloneBase.Text + "</b> han sido copiadas satisfactóriamente a los árboles desde el árbol <b>#" + from + "</b> al árbol <b>#" + to + "</b>: <br />"; } if (chkCloneNombre.Checked) { successMessage += "<b> • Nombre Común - Nombre Científico</b><br />"; } if (chkCloneVaras.Checked) { successMessage += "<b> • Varas</b><br />"; } if (chkCloneDap.Checked) { successMessage += "<b> • D.A.P</b><br />"; } if (chkAltura.Checked) { successMessage += "<b> • Altura (pies)</b><br />"; } if (chkAcciónPropuesta.Checked) { successMessage += "<b> • Acción Propuesta</b><br />"; } if (chkCondicion.Checked) { successMessage += "<b> • Condición</b><br />"; } if (chkLitoral.Checked) { successMessage += "<b> • Árbol en la Servidumbre de Vigilancia de Litoral</b><br />"; } if (chkMaritimoTerrestre.Checked) { successMessage += "<b> • Árbol en la Zona Marítimo Terrestre</b><br />"; } if (chkComentarios.Checked) { successMessage += "<b> • Comentarios</b>"; } _DatabaseContext.SaveChanges(); pnlCloneRange.Style["display"] = (rbtCloneRange.Checked) ? "block" : "none"; gridViewTreeDetails.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); gridViewTreeDetails.DataBind(); ltlMessage.Text += MessageFormatter.GetFormattedSuccessMessage(successMessage); btnClear_Click(null, null); pnlClone.Style["display"] = "none"; pnlLoading.Style["display"] = "none"; } } }
protected void Page_Load(object sender, EventArgs e) { string projectID = (Page.RouteData.Values["project_id"] as string); string repsIdsToCreate = (Page.RouteData.Values["reports"] as string); // Validar 1 o más arboles List <Project_Organisms> project_Organisms = new List <Project_Organisms>(); if (repsIdsToCreate == "a") { project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(Convert.ToInt32(projectID)); } else if (repsIdsToCreate == "b") { project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(Convert.ToInt32(projectID)).Where(i => i.TreeDetails.First().ActionProposedID == 2 || i.TreeDetails.First().ActionProposedID == 2).ToList(); } else { return; } Eisk.BusinessEntities.Project project = new ProjectBLL().GetProjectByProjectID(Convert.ToInt32(projectID)); string name = Reports.Translate(project.ProjectInfoes.First().ProjectName).Replace(" ", "_"); if (repsIdsToCreate == "b") { name += "(Proteccion_Poda)"; } string path = System.Web.HttpContext.Current.Server.MapPath(@System.Configuration.ConfigurationManager.AppSettings["ProjectsRoot"]) + projectID.ToString(); // check folder exists if (File.Exists(path)) { File.Delete(path); } if (!Directory.Exists(path)) { Directory.CreateDirectory(path); System.IO.File.WriteAllText(path + "/" + name + ".csv", ""); } FileInfo newFile = new FileInfo(path + @"\" + name + ".csv"); File.Delete(path + @"\" + name + ".csv"); foreach (Project_Organisms project_Organism in project_Organisms) { AddTreeToAutoCADImportFile(project_Organism, path + @"\" + name + ".csv"); } System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.ClearContent(); response.Clear(); response.ContentType = "application/ms-excel"; response.AddHeader("Content-Disposition", "attachment; filename=" + name + ".csv"); response.WriteFile(path + @"/" + name + ".csv"); response.End(); }
public object Update([FromBody] ProjectOrganismUpdateModel projectOrganismUpdate) { //var projectOrganism = (Project_Organisms)HttpContext.Current.Items["projectOrganism"]; //var organism = (Organism)HttpContext.Current.Items["organism"]; var project = (Project)HttpContext.Current.Items["project"]; var groups = (List <Group>)HttpContext.Current.Items["groups"]; var user = (User)HttpContext.Current.Items["user"]; //var actionProposed = (ActionProposed)HttpContext.Current.Items["actionProposed"]; //var condition = (Condition)HttpContext.Current.Items["condition"]; var daps = (int[])HttpContext.Current.Items["daps"]; var varas = (int)HttpContext.Current.Items["varas"]; using (DatabaseContext _DatabaseContext = new DatabaseContext()) { // TreeDetail Project_Organisms projectOrganism = _DatabaseContext.Project_Organisms.First(instance => instance.ProjectOrganismID == projectOrganismUpdate.ProjectOrganismID); TreeDetail treeDetail = _DatabaseContext.TreeDetails.First(instance => instance.ProjectOrganismID == projectOrganism.ProjectOrganismID); //Delete existing Daps foreach (Dap item in _DatabaseContext.Daps.Where(instance => instance.TreeDetailsID == treeDetail.TreeDetailsID).ToList()) { _DatabaseContext.Daps.DeleteObject(item); } if (varas != 0) // Is Cepa { treeDetail.Dap = 0; treeDetail.Dap_Counter = 0; } else if (daps.Length == 1) // Solo un Dap { treeDetail.Dap = Convert.ToDecimal(daps[0]); treeDetail.Dap_Counter = 1; Dap dapObj = new Dap(); dapObj.DapValue = Convert.ToDecimal(daps[0]); dapObj.TreeDetailsID = treeDetail.TreeDetailsID; dapObj.TreeDetailReference.EntityKey = treeDetail.EntityKey; _DatabaseContext.Daps.AddObject(dapObj); } else // 1 o Mas de un Dap { double dapTotal = 0; foreach (int dap in daps) { dapTotal += Convert.ToDouble(dap); } //dapTotal;// new DapBLL().GetDap(0); treeDetail.Dap = Convert.ToDecimal(Math.Round(Math.Sqrt(Math.Pow(dapTotal, 2D) / Convert.ToDouble(daps.Count())) * 100) / 100); treeDetail.Dap_Counter = Convert.ToInt32(daps.Length); //new DapBLL().GetDapCount(0); foreach (int dapInt in daps) { Dap dap = new Dap(); dap.DapValue = Convert.ToDecimal(dapInt); dap.TreeDetailsID = treeDetail.TreeDetailsID; dap.TreeDetailReference.EntityKey = treeDetail.EntityKey; _DatabaseContext.Daps.AddObject(dap); } } //treeDetail.Dap = new DapBLL().GetDap(treeDetail.TreeDetailsID); //Convert.ToDecimal(hfDap.Value); //treeDetail.Dap_Counter = new DapBLL().GetDapCount(treeDetail.TreeDetailsID); //Convert.ToInt32(hfDapCounter.Value); treeDetail.Varas = projectOrganismUpdate.Varas; treeDetail.Height = Convert.ToDecimal(projectOrganismUpdate.Height); int CommentaryMaxLength = Convert.ToInt32(ConfigurationManager.AppSettings["CommentaryMaxLength"]); if (!string.IsNullOrEmpty(projectOrganismUpdate.Commentary)) { treeDetail.Commentary = (projectOrganismUpdate.Commentary.Length > CommentaryMaxLength) ? projectOrganismUpdate.Commentary.Substring(0, CommentaryMaxLength) : projectOrganismUpdate.Commentary; } else { treeDetail.Commentary = ""; } treeDetail.Number = Convert.ToInt32(treeDetail.Number); treeDetail.Lat = Convert.ToDecimal(projectOrganismUpdate.Lat); treeDetail.Lon = Convert.ToDecimal(projectOrganismUpdate.Lon); Dictionary <string, object> anewpointObj = Utility.ConvertToStatePlane(projectOrganismUpdate.Lon.ToString(), projectOrganismUpdate.Lat.ToString(), @"~/Javascript/"); treeDetail.X = Convert.ToDecimal(anewpointObj["x"]); treeDetail.Y = Convert.ToDecimal(anewpointObj["y"]); // treeDetail.EditedDate = DateTime.Now; treeDetail.EditorUserID = user.UserID; //projectOrganism Organism organism = new OrganismBLL().GetOrganismByOrganismID(Convert.ToInt32(projectOrganismUpdate.OrganismID)); projectOrganism.OrganismID = organism.OrganismID; projectOrganism.OrganismReference.EntityKey = organism.EntityKey; //ActionProposed ActionProposed actionProposed = new ActionProposedBLL().GetActionProposedByActionProposedID(Convert.ToInt32(projectOrganismUpdate.ActionProposedID)); treeDetail.ActionProposedID = actionProposed.ActionProposedID; treeDetail.ActionProposedReference.EntityKey = actionProposed.EntityKey; //Condition Condition condition = new ConditionBLL().GetConditionByConditionID(Convert.ToInt32(projectOrganismUpdate.ConditionID)); treeDetail.ConditionID = condition.ConditionID; treeDetail.ConditionReference.EntityKey = condition.EntityKey; treeDetail.ProjectOrganismID = (int)projectOrganismUpdate.ProjectOrganismID; treeDetail.Project_OrganismsReference.EntityKey = projectOrganism.EntityKey; _DatabaseContext.SaveChanges(); // } var updatedProjectOrganism = new Project_OrganismsBLL().GetProject_OrganismsByProjectOrganismID((int)projectOrganismUpdate.ProjectOrganismID); return(ProjectOrganismModel.GetProjectOrganismObject(updatedProjectOrganism)); }