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