예제 #1
0
        public TagWork ConnectTagAndWork(ConnectTagWorkInput inputTagWork)
        {
            _logger.LogInformation($"Creating connect between tag (id = {inputTagWork.TagId}) and work (id = {inputTagWork.WorkId})");
            var connect = _data.EfContext.TagWorks.FirstOrDefault(tw =>
                                                                  tw.TagId == inputTagWork.TagId && tw.WorkId == inputTagWork.WorkId);

            if (connect != null)
            {
                _logger.LogInformation("Connect already exists");
                return(null);
            }

            var work = _data.EfContext.Works.Find(inputTagWork.WorkId);
            var tag  = _data.EfContext.Tags.Find(inputTagWork.TagId);

            var tagWork = new TagWork()
            {
                Tag    = tag,
                TagId  = inputTagWork.TagId,
                Work   = work,
                WorkId = inputTagWork.WorkId
            };

            var createdConnection = _data.EfContext.TagWorks.Add(tagWork);

            _data.EfContext.SaveChanges();

            _logger.LogInformation($"Connect between tag (id = {inputTagWork.TagId}) and work (id = {inputTagWork.WorkId}) is created successfully");
            return(createdConnection.Entity);
        }
예제 #2
0
        public TagWork DisconnectTagAndWork(ConnectTagWorkInput inputTagWork)
        {
            _logger.LogInformation($"Disconnecting between tag (id = {inputTagWork.TagId}) and work (id = {inputTagWork.WorkId})");
            var connect = _data.EfContext.TagWorks.FirstOrDefault(tw =>
                                                                  tw.TagId == inputTagWork.TagId && tw.WorkId == inputTagWork.WorkId);

            if (connect != null)
            {
                _data.EfContext.TagWorks.Remove(connect);
                _data.EfContext.SaveChanges();

                _logger.LogInformation($"Disconnecting between tag (id = {inputTagWork.TagId}) and work (id = {inputTagWork.WorkId}) is successfully");

                return(connect);
            }

            _logger.LogInformation("Connect has not found");
            return(null);
        }