public OperationsGroupComplex ConvertToDALEntity(ApiOperationsGroup businessEntity)
        {
            if (businessEntity?.User == null || businessEntity.Frequency == null || businessEntity.Importance == null)
            {
                throw new ArgumentException(Properties.strings.ExWrongParameters);
            }
            var result1 = new DalOperationsGroup(businessEntity.Id, businessEntity.User.Id, businessEntity.Description, businessEntity.Frequency.Id, businessEntity.Importance.Id, businessEntity.Date);

            result1.IsDirty           = businessEntity.IsDirty;
            result1.IsMarkForDeletion = businessEntity.IsMarkForDeletion;

            var result2 = new List <DalOperationsGroupTags>();

            foreach (var tag in businessEntity.Tags)
            {
                var newTag = new DalOperationsGroupTags(tag.Id, businessEntity.Id, tag.Tag.Id);
                newTag.IsDirty           = tag.IsDirty;
                newTag.IsMarkForDeletion = tag.IsMarkForDeletion;
                result2.Add(newTag);
            }

            var tmp = _operationMapper.ConvertToDALEntitiesCollection(businessEntity.Operations);

            return(new OperationsGroupComplex(result1, result2, tmp));
        }
        public ApiRelTag ConvertToApiEntity(DalOperationsGroupTags dataEntity)
        {
            var tag    = _tags.Where(t => t.Id == dataEntity.TagId).FirstOrDefault();
            var result = new ApiRelTag(dataEntity.Id, tag);

            result.IsDirty           = dataEntity.IsDirty;
            result.IsMarkForDeletion = dataEntity.IsMarkForDeletion;
            return(result);
        }
        public DalOperationsGroupTags ConvertToDALOperationsGroupEntity(ApiRelTag businessEntity, int operationId)
        {
            if (businessEntity?.Tag == null)
            {
                throw new ArgumentException(Properties.strings.ExWrongParameters);
            }
            var result = new DalOperationsGroupTags(businessEntity.Id, operationId, businessEntity.Tag.Id);

            result.IsDirty           = businessEntity.IsDirty;
            result.IsMarkForDeletion = businessEntity.IsMarkForDeletion;

            return(result);
        }