コード例 #1
0
 public ActionResult Update_tagging(Bulk_Tagging_Update_DTO tagging_elements)
 {
     try
     {
         objElementRepository.Update_Element_Tagging(tagging_elements);
         return(Json(true, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json(false, JsonRequestBehavior.AllowGet));
     }
 }
コード例 #2
0
        /// <summary>
        /// Bulk update/replace the element/point tags, replace new_tag with assign_tag
        /// </summary>
        /// <param name="element_tagging"></param>
        public void Update_Element_Tagging(Bulk_Tagging_Update_DTO element_tagging)
        {
            try
            {
                IEnumerable <long> element_ids = element_tagging.elementDto.Select(e => e.ID);
                if (element_tagging.assign_tag != 0 && element_tagging.new_tag != 0)
                {
                    tblElement tbl_element;
                    bool       anyUpdate = false; //this variable use for to check that any thing changes in the dbContext if true than run the savechanges()

                    foreach (var element_dto in element_tagging.elementDto)
                    {
                        tbl_element = _dbcontext.tblElements.SingleOrDefault(element => element.ID == element_dto.ID);

                        IEnumerable <tblTagElement> tbl_element_assign_tag = tbl_element.tblTagElements.Where(z => z.Tag_ID == element_tagging.assign_tag);
                        IEnumerable <tblTagElement> tbl_element_new_tag    = tbl_element.tblTagElements.Where(z => z.Tag_ID == element_tagging.new_tag);


                        //if aasign tag is found and new_tag not found, replace the assign_tag with the new_tag
                        if (tbl_element_assign_tag.Any() && !tbl_element_new_tag.Any())
                        {
                            //Is_Deleted=flase
                            if (!tbl_element_assign_tag.First().Is_Deleted)
                            {
                                tbl_element_assign_tag.First().Tag_ID = element_tagging.new_tag;
                                anyUpdate = true;
                            }
                        }
                        // if assign_tag and new_tag both found than just change is_deleted
                        else if (tbl_element_assign_tag.Any() && tbl_element_new_tag.Any())
                        {
                            if (tbl_element_new_tag.First().Is_Deleted&& !tbl_element_assign_tag.First().Is_Deleted)
                            {
                                tbl_element_new_tag.First().Is_Deleted    = false;
                                tbl_element_assign_tag.First().Is_Deleted = true;
                                anyUpdate = true;
                            }
                        }
                    }
                    if (anyUpdate)
                    {
                        _dbcontext.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }