public IList <TagElementDTO> Get_Tag_Element_By_Tag_ID(long tag_id)
        {
            ICollection <tblTagElement> tbl_tag_elements = _dbcontext.tblTagElements.Where(tagelement => tagelement.Tag_ID == tag_id).ToList();
            IList <TagElementDTO>       tag_elements     = TagElementBaseDTO.ConvertTableToDTO(tbl_tag_elements);

            return(tag_elements);
        }
        public IList <TagElementDTO> Get_Tag_Element_By_Element_ID_Tag_ID(IEnumerable <long> element_id, IEnumerable <long> tag_id)
        {
            ICollection <tblTagElement> tbl_tag_elements = _dbcontext.tblTagElements.Where(tagelement => element_id.Contains(tagelement.Element_ID) && tag_id.Contains(tagelement.Tag_ID)).ToList();
            IList <TagElementDTO>       tag_elements     = TagElementBaseDTO.ConvertTableToDTO(tbl_tag_elements);

            return(tag_elements);
        }
Exemple #3
0
        /// <summary>
        /// Bulk Add the element/point tags
        /// </summary>
        /// <param name="element_tagging"></param>
        public void Add_Element_Tagging(Bulk_Tagging_Add_DTO element_tagging)
        {
            TagType element_tag_type;

            foreach (var element_Dto in element_tagging.elementDto)
            {
                if (Enum.TryParse(element_Dto.Element_Tag_Type_String, out element_tag_type))
                {
                    switch (element_tag_type)
                    {
                    case TagType.site:
                        if (element_tagging.site_tag != null)
                        {
                            foreach (long site_element_tag_id in element_tagging.site_tag)
                            {
                                if (_dbcontext.tblTagElements.Any(t => t.Element_ID == element_Dto.ID && t.Tag_ID == site_element_tag_id))
                                {
                                    _dbcontext.tblTagElements.SingleOrDefault(t => t.Element_ID == element_Dto.ID && t.Tag_ID == site_element_tag_id).Is_Deleted = false;
                                }
                                else
                                {
                                    _dbcontext.tblTagElements.Add(TagElementBaseDTO.ConvertDTOToTbl(element_Dto.ID, site_element_tag_id));
                                }
                            }
                        }
                        break;

                    case TagType.equip:
                        if (element_tagging.equip_tag != null)
                        {
                            foreach (long equip_element_tag_id in element_tagging.equip_tag)
                            {
                                if (_dbcontext.tblTagElements.Any(t => t.Element_ID == element_Dto.ID && t.Tag_ID == equip_element_tag_id))
                                {
                                    _dbcontext.tblTagElements.SingleOrDefault(t => t.Element_ID == element_Dto.ID && t.Tag_ID == equip_element_tag_id).Is_Deleted = false;
                                }
                                else
                                {
                                    _dbcontext.tblTagElements.Add(TagElementBaseDTO.ConvertDTOToTbl(element_Dto.ID, equip_element_tag_id));
                                }
                            }
                        }
                        break;

                    case TagType.point:
                        if (element_tagging.point_tag != null)
                        {
                            foreach (long point_element_tag_id in element_tagging.point_tag)
                            {
                                if (_dbcontext.tblTagElements.Any(t => t.Element_ID == element_Dto.ID && t.Tag_ID == point_element_tag_id))
                                {
                                    _dbcontext.tblTagElements.SingleOrDefault(t => t.Element_ID == element_Dto.ID && t.Tag_ID == point_element_tag_id).Is_Deleted = false;
                                }
                                else
                                {
                                    _dbcontext.tblTagElements.Add(TagElementBaseDTO.ConvertDTOToTbl(element_Dto.ID, point_element_tag_id));
                                }
                            }
                        }
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    throw new TagException(Resources.TagNullException);
                }
            }
            _dbcontext.SaveChanges();
        }