Exemplo n.º 1
0
        public async Task <ActionResult <Logic.Objects.Tag> > PostTag([FromBody, Bind("tagName")] ApiTag tag)
        {
            BaseClient requestingClient = await repository.GetBasicClientInformationByEmail(User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value);

            try
            {
                Logic.Objects.Tag newLogicTag = new Logic.Objects.Tag()
                {
                    tagID   = Guid.NewGuid(),
                    tagName = tag.tagName
                };
                await repository.CreateTag(newLogicTag);

                await repository.SaveAsync();

                Logic.Objects.Tag createdLogicTag = await repository.GetTagByIDAsync(newLogicTag.tagID);

                await yuleLogger.logCreatedNewTag(requestingClient, createdLogicTag);

                return(Ok(createdLogicTag));
            }
            catch (Exception)
            {
                await yuleLogger.logError(requestingClient, LoggingConstants.CREATED_NEW_TAG_CATEGORY);

                return(StatusCode(StatusCodes.Status424FailedDependency));
            }
        }
 public static Logic.Objects.Tag MapTagRelationXref(Data.Entities.ClientTagXref contextTagXref)
 {
     Logic.Objects.Tag logicTag = new Logic.Objects.Tag()
     {
         tagID   = contextTagXref.TagId,
         tagName = contextTagXref.Tag.TagName
     };
     return(logicTag);
 }
 public static Data.Entities.Tag MapTag(Logic.Objects.Tag logicTag)
 {
     Data.Entities.Tag contextTag = new Entities.Tag()
     {
         TagId   = logicTag.tagID,
         TagName = logicTag.tagName
     };
     return(contextTag);
 }
 public static Logic.Objects.Tag MapTag(Data.Entities.Tag contextTag)
 {
     Logic.Objects.Tag logicTag = new Logic.Objects.Tag()
     {
         tagID        = contextTag.TagId,
         tagName      = contextTag.TagName,
         deletable    = contextTag.ClientTagXref.Count > 0 ? false : true,
         tagImmutable = contextTag.TagName == Constants.MASS_MAILER_TAG || contextTag.TagName == Constants.MASS_MAIL_RECIPIENT_TAG || contextTag.TagName == Constants.GRINCH_TAG ? true : false
     };
     return(logicTag);
 }
Exemplo n.º 5
0
        public async Task <ActionResult <Logic.Objects.Tag> > PutTagName(Guid tagID, [FromBody, Bind("tagName")] ApiTag tag)
        {
            Logic.Objects.Tag logicTag = await repository.GetTagByIDAsync(tagID);

            logicTag.tagName = tag.tagName;

            await repository.UpdateTagNameByIDAsync(logicTag);

            await repository.SaveAsync();

            return(await repository.GetTagByIDAsync(tagID));
        }
Exemplo n.º 6
0
        public async Task <ActionResult> DeleteTag(Guid tagID)
        {
            BaseClient requestingClient = await repository.GetBasicClientInformationByEmail(User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value);

            try
            {
                Logic.Objects.Tag deletedTag = await repository.GetTagByIDAsync(tagID);

                await repository.DeleteTagByIDAsync(tagID);

                await repository.SaveAsync();

                await yuleLogger.logDeletedTag(requestingClient, deletedTag);

                return(NoContent());
            }
            catch (Exception)
            {
                await yuleLogger.logError(requestingClient, LoggingConstants.DELETED_TAG_CATEGORY);

                return(StatusCode(StatusCodes.Status424FailedDependency));
            }
        }
Exemplo n.º 7
0
        public async Task logCreatedNewTag(BaseClient requestingClient, Logic.Objects.Tag newTag)
        {
            await repository.CreateNewLogEntry(makeLogTemplateObject(await getCategoryByName(LoggingConstants.CREATED_NEW_TAG_CATEGORY), $"{requestingClient.nickname} requested to make a new tag: {newTag.tagName}"));

            await saveLogs();
        }
Exemplo n.º 8
0
        public async Task logDeletedTag(BaseClient requestingClient, Logic.Objects.Tag deletedTag)
        {
            await repository.CreateNewLogEntry(makeLogTemplateObject(await getCategoryByName(LoggingConstants.DELETED_TAG_CATEGORY), $"{requestingClient.nickname} requested to delete the {deletedTag.tagName} tag"));

            await saveLogs();
        }