public virtual int CreateNewProject_Organisms(Project_Organisms newProject_Organisms)
        {
            // Validate Parameters
            if (newProject_Organisms == null)
            {
                throw (new ArgumentNullException("newProject_Organisms"));
            }

            // Apply business rules
            OnProject_OrganismsSaving(newProject_Organisms);
            OnProject_OrganismsCreating(newProject_Organisms);

            _DatabaseContext.Project_Organisms.AddObject(newProject_Organisms);
            int numberOfAffectedRows = _DatabaseContext.SaveChanges();

            if (numberOfAffectedRows == 0)
            {
                throw new DataNotUpdatedException("No project_Organisms created!");
            }

            // Apply business workflow
            OnProject_OrganismsCreated(newProject_Organisms);
            OnProject_OrganismsSaved(newProject_Organisms);

            return(newProject_Organisms.ProjectOrganismID);
        }
Example #2
0
        public static bool IsNull(Project_Organisms requestedProjectOrganism, out Project_Organisms organism)
        {
            bool isNull = (requestedProjectOrganism == null || requestedProjectOrganism == new Project_Organisms());

            organism = isNull ? null : requestedProjectOrganism;
            return(isNull);
        }
        public void UpdateProject_Organisms(Project_Organisms updatedProject_Organisms)
        {
            // Validate Parameters
            if (updatedProject_Organisms == null)
            {
                throw (new ArgumentNullException("updatedProject_Organisms"));
            }

            // Validate Primary key value
            if (updatedProject_Organisms.ProjectOrganismID.IsInvalidKey())
            {
                BusinessLayerHelper.ThrowErrorForInvalidDataKey("ProjectOrganismID");
            }

            // Apply business rules
            OnProject_OrganismsSaving(updatedProject_Organisms);
            OnProject_OrganismsUpdating(updatedProject_Organisms);

            //attaching and making ready for parsistance
            if (updatedProject_Organisms.EntityState == EntityState.Detached)
            {
                _DatabaseContext.Project_Organisms.Attach(updatedProject_Organisms);
            }
            _DatabaseContext.ObjectStateManager.ChangeObjectState(updatedProject_Organisms, System.Data.EntityState.Modified);            //this line makes the code un-testable!
            int numberOfAffectedRows = _DatabaseContext.SaveChanges();

            if (numberOfAffectedRows == 0)
            {
                throw new DataNotUpdatedException("No project_Organisms updated!");
            }

            //Apply business workflow
            OnProject_OrganismsUpdated(updatedProject_Organisms);
            OnProject_OrganismsSaved(updatedProject_Organisms);
        }
        public void DeleteProject_Organisms(Project_Organisms project_OrganismsToBeDeleted)
        {
            //Validate Input
            if (project_OrganismsToBeDeleted == null)
            {
                throw (new ArgumentNullException("project_OrganismsToBeDeleted"));
            }

            // Validate Primary key value
            if (project_OrganismsToBeDeleted.ProjectOrganismID.IsInvalidKey())
            {
                BusinessLayerHelper.ThrowErrorForInvalidDataKey("ProjectOrganismID");
            }

            OnProject_OrganismsSaving(project_OrganismsToBeDeleted);
            OnProject_OrganismsDeleting(project_OrganismsToBeDeleted);

            if (project_OrganismsToBeDeleted.EntityState == EntityState.Detached)
            {
                _DatabaseContext.Project_Organisms.Attach(project_OrganismsToBeDeleted);
            }
            _DatabaseContext.Project_Organisms.DeleteObject(project_OrganismsToBeDeleted);
            int numberOfAffectedRows = _DatabaseContext.SaveChanges();

            if (numberOfAffectedRows == 0)
            {
                throw new DataNotUpdatedException("No Project_Organisms deleted!");
            }

            OnProject_OrganismsDeleted(project_OrganismsToBeDeleted);
            OnProject_OrganismsSaved(project_OrganismsToBeDeleted);
        }
Example #5
0
    public static void AddTreeToAutoCADImportFile(Project_Organisms project_Organism, string path)
    {
        try
        {
            TreeDetail treeDetail = project_Organism.TreeDetails.First();

            string toWrite =
                treeDetail.Number
                + ","
                + String.Format("{0:0.####################################}", treeDetail.Y)
                + ","
                + String.Format("{0:0.####################################}", treeDetail.X)
                + ",0,"
                + project_Organism.Organism.CommonName.CommonNameDesc;

            using (StreamWriter writer = new StreamWriter(path, true))
            {
                writer.WriteLine(toWrite);
                writer.Flush();
                writer.Close();
            }
        }
        catch (Exception ex)
        {
            throw new Exception("Error on AddTree method: " + ex.Message);
        }
    }
Example #6
0
        public void DeleteProject_OrganismByProjectOrganismID(int projectOrganismID)
        {
            int projectOrganismIDINT           = Convert.ToInt32(projectOrganismID);
            Project_Organisms project_Organism = _DatabaseContext.Project_Organisms.First(instance => instance.ProjectOrganismID == projectOrganismIDINT);

            DeleteProject_OrganismByProjectOrganismID(project_Organism);
        }
Example #7
0
    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) });
        }
    }
        public void DeleteProject_Organisms(List <int> projectOrganismIDsToDelete)
        {
            //Validate Input
            foreach (int projectOrganismID in projectOrganismIDsToDelete)
            {
                if (projectOrganismID.IsInvalidKey())
                {
                    BusinessLayerHelper.ThrowErrorForInvalidDataKey("ProjectOrganismID");
                }
            }

            List <Project_Organisms> project_OrganismssToBeDeleted = new List <Project_Organisms>();

            foreach (int projectOrganismID in projectOrganismIDsToDelete)
            {
                Project_Organisms project_Organisms = new Project_Organisms {
                    ProjectOrganismID = projectOrganismID
                };
                _DatabaseContext.Project_Organisms.Attach(project_Organisms);
                _DatabaseContext.Project_Organisms.DeleteObject(project_Organisms);
                project_OrganismssToBeDeleted.Add(project_Organisms);
                OnProject_OrganismsDeleting(project_Organisms);
            }

            int numberOfAffectedRows = _DatabaseContext.SaveChanges();

            if (numberOfAffectedRows != projectOrganismIDsToDelete.Count)
            {
                throw new DataNotUpdatedException("One or more project_Organisms records have not been deleted.");
            }
            foreach (Project_Organisms project_OrganismsToBeDeleted in project_OrganismssToBeDeleted)
            {
                OnProject_OrganismsDeleted(project_OrganismsToBeDeleted);
            }
        }
Example #9
0
        public void DeleteProject_Organisms(List <int> organismIDsToDelete, int projectID)
        {
            Project_OrganismsBLL Project_OrganismsBLL = new Project_OrganismsBLL();

            foreach (int organismID in organismIDsToDelete)
            {
                Project_Organisms Project_Organisms = Project_OrganismsBLL.GetProject_OrganismByProjectIDOrganismID(organismID, projectID);
                Project_OrganismsBLL.DeleteProject_Organisms(Project_Organisms);
            }
        }
Example #10
0
        public object Delete([FromBody] ProjectOrganismIDModel projectOrganismIDModel)
        {
            Project_Organisms projectOrganism = (Project_Organisms)HttpContext.Current.Items["projectOrganism"];

            HttpContext.Current.Items["project"] = projectOrganism.Project;

            new Project_OrganismsBLL().DeleteProject_OrganismByProjectOrganismID((int)projectOrganismIDModel.ProjectOrganismID);

            return(this.GetAll(new ProjectIDModel()));
        }
        public static bool TryParse(string projectOrganismID, out Project_Organisms projectOrganism)
        {
            int projectOrganismID_int;

            if (!int.TryParse(projectOrganismID, out projectOrganismID_int))
            {
                projectOrganism = null;
                return(false);
            }
            else
            {
                return(TryParse(projectOrganismID_int, out projectOrganism));
            }
        }
        public static bool TryParse_ByNumber(string number, out Project_Organisms projectOrganism)
        {
            int number_int;

            if (!int.TryParse(number, out number_int))
            {
                projectOrganism = null;
                return(false);
            }
            else
            {
                return(TryParse_ByNumber(number_int, out projectOrganism));
            }
        }
Example #13
0
    protected void FormViewTlProject_Organism_DataBinding(object sender, EventArgs e)
    {
        string project_organismID = Page.RouteData.Values["project_organism_id"] as string;

        if (project_organismID != null && project_organismID != "0")
        {
            this.tree    = new Project_OrganismsBLL().GetProject_OrganismsByProjectOrganismID(Convert.ToInt32(project_organismID));
            this.editor  = new Eisk.BusinessLogicLayer.UserBLL().GetUserByUserID(tree.EditorUserID);
            this.creator = new Eisk.BusinessLogicLayer.UserBLL().GetUserByUserID(tree.CreatorUserID);

            if (tree.TreeDetails.Count > 0)
            {
                this.treeDetail = tree.TreeDetails.First();
            }

            if (tree.Organism != null)
            {
                this.organism = tree.Organism;
            }
        }
    }
Example #14
0
        public void DeleteProject_OrganismByProjectOrganismID(Project_Organisms project_Organism)
        {
            int        treeDetailsIDINT = project_Organism.TreeDetails.ToArray()[0].TreeDetailsID;
            TreeDetail treeDetail       = _DatabaseContext.TreeDetails.First(instance => instance.TreeDetailsID == treeDetailsIDINT);

            List <Dap> tempDaps = _DatabaseContext.Daps.Where(instance => instance.TreeDetailsID == treeDetailsIDINT).ToList();

            foreach (Dap dap in tempDaps)
            {
                _DatabaseContext.Daps.DeleteObject(dap);
            }

            _DatabaseContext.TreeDetails.DeleteObject(treeDetail);
            _DatabaseContext.Project_Organisms.DeleteObject(project_Organism);

            _DatabaseContext.SaveChanges();

            //Sort Numbers after deleting
            int projectIDINT = Convert.ToInt32(project_Organism.ProjectID);
            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();
        }
 partial void OnProject_OrganismsDeleted(Project_Organisms project_Organisms);
 partial void OnProject_OrganismsSaved(Project_Organisms project_Organisms);
 partial void OnProject_OrganismsUpdated(Project_Organisms project_Organisms);
 partial void OnProject_OrganismsCreated(Project_Organisms project_Organisms);
Example #19
0
        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));
        }
Example #20
0
        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();
        }
Example #21
0
        public static object GetProjectOrganismObject(Project_Organisms organism)
        {
            TreeDetail treeDetail = organism.TreeDetails.First();

            return(GetProjectOrganismObject(treeDetail));
        }
Example #22
0
        //-------------------------------------------------------------------------------------------------------------------------------------------------------------

        public TreeDetail CreateProject_Organism(int varas, decimal height, decimal lat, decimal lon, int[] daps, ActionProposed actionProposed, Condition condition, string commentary, Organism organism, Project project, Eisk.BusinessEntities.User user)
        {
            Project_Organisms project_Organism = new Project_Organisms();

            project_Organism.CreatorUserID = user.UserID;
            project_Organism.CreatedDate   = DateTime.Now;
            project_Organism.EditorUserID  = user.UserID;
            project_Organism.EditedDate    = DateTime.Now;

            project_Organism.OrganismID = organism.OrganismID;
            project_Organism.OrganismReference.EntityKey = organism.EntityKey;

            project_Organism.ProjectID = project.ProjectID;
            project_Organism.ProjectReference.EntityKey = project.EntityKey;

            int project_OrganismID = new Project_OrganismsBLL().CreateNewProject_Organisms(project_Organism);

            TreeDetail treeDetail = new TreeDetail();

            if (varas != 0) // Is Cepa
            {
                treeDetail.Dap         = 0;
                treeDetail.Dap_Counter = 0;
            }
            else if (daps.Length == 1) // Solo un Dap
            {
                treeDetail.Dap         = daps[0];
                treeDetail.Dap_Counter = 1;
            }
            else // Mas de un Dap
            {
                double dapTotal = 0;
                foreach (int dap in daps)
                {
                    dapTotal += dap;
                }
                treeDetail.Dap         = Convert.ToDecimal(Math.Round(Math.Sqrt(Math.Pow(dapTotal, 2D) / Convert.ToDouble(daps.Length)) * 100) / 100);
                treeDetail.Dap_Counter = daps.Length;
            }

            treeDetail.Varas = varas;

            treeDetail.Height     = height;
            treeDetail.Commentary = commentary;

            List <Project_Organisms> project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(project.ProjectID);

            Dictionary <string, object> anewpointObj = JavaScriptHelper.ConvertToStatePlane(lon.ToString(), lat.ToString());

            treeDetail.Number = project_Organisms.Count;
            treeDetail.Y      = Convert.ToDecimal(anewpointObj["y"]);
            treeDetail.X      = Convert.ToDecimal(anewpointObj["x"]);
            treeDetail.Lat    = Convert.ToDecimal(lat);
            treeDetail.Lon    = Convert.ToDecimal(lon);

            treeDetail.CreatedDate   = DateTime.Now;
            treeDetail.CreatorUserID = user.UserID;
            treeDetail.EditedDate    = DateTime.Now;
            treeDetail.EditorUserID  = user.UserID;


            treeDetail.ActionProposedID = actionProposed.ActionProposedID;
            treeDetail.ActionProposedReference.EntityKey = actionProposed.EntityKey;

            treeDetail.ConditionID = condition.ConditionID;
            treeDetail.ConditionReference.EntityKey = condition.EntityKey;

            treeDetail.ProjectOrganismID = project_Organism.ProjectOrganismID;
            treeDetail.Project_OrganismsReference.EntityKey = project_Organism.EntityKey;

            int treeDetailID = new TreeDetailBLL().CreateNewTreeDetail(treeDetail);

            foreach (decimal dapDecimal in daps)
            {
                Dap dap = new Dap();
                dap.DapValue      = dapDecimal;
                dap.TreeDetailsID = treeDetailID;
                dap.TreeDetailReference.EntityKey = treeDetail.EntityKey;

                new DapBLL().CreateNewDap(dap);
            }
            return(treeDetail);
        }
 public static bool TryParse(int projectOrganismID, out Project_Organisms projectOrganism)
 {
     projectOrganism = (new DatabaseContext().Project_Organisms.FirstOrDefault(project_Organisms => project_Organisms.ProjectOrganismID == projectOrganismID));
     return(projectOrganism != null);
 }
Example #24
0
        public object Get([FromBody] ProjectOrganismIDModel projectOrganismIDModel)
        {
            Project_Organisms projectOrganism = (Project_Organisms)HttpContext.Current.Items["projectOrganism"];

            return(ProjectOrganismModel.GetProjectOrganismObject(projectOrganism));
        }
 public static bool TryParse_ByNumber(int number, out Project_Organisms projectOrganism)
 {
     projectOrganism = (new DatabaseContext().Project_Organisms.FirstOrDefault(project_Organisms => project_Organisms.TreeDetails.FirstOrDefault().Number.Value == number));
     return(projectOrganism != null);
 }
Example #26
0
 public static bool IsAuthorized(Project_Organisms project_Organisms, List <Group> groups)
 {
     return(groups.Contains(project_Organisms.Project.Group_Projects.First().Group));
 }
Example #27
0
 /// <summary>
 /// Deprecated Method for adding a new object to the Project_Organisms EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToProject_Organisms(Project_Organisms project_Organisms)
 {
     base.AddObject("Project_Organisms", project_Organisms);
 }
Example #28
0
        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";
                }
            }
        }