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)); } }
/// <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; } }