public ActionResult GetAttachmentId(AttachmentKeyModel model) { try { model.CheckArgumentIsNull(nameof(model)); model.FieldName.CheckArgumentIsNullOrEmpty(nameof(model.FieldName)); model.EntityName.CheckArgumentIsNullOrEmpty(nameof(model.EntityName)); if (model.EntityId.HasValue()) { var attachmentId = attachmentBusiness.GetAttachmentId(model);//check read permission if (attachmentId == null) { return(Ok(attachmentBusiness.CreateAttachment(model)));//check create permission } return(Ok(attachmentId)); } else { var token = tokenProvider.GetAttachmentToken(); if (!token.HasValue()) { token = tokenProvider.SetAttachmentToken(); } var tempAttachmentKeyModel = new TemporaryAttachmentKeyModel { EntityName = model.EntityName, FieldName = model.FieldName, Token = token }; return(Ok(attachmentBusiness.CreateAttachmentTemporarily(tempAttachmentKeyModel)));//check create permission } } catch (Exception) { return(BadRequest()); } }
//create public AttachmentModel CreateAttachment(AttachmentKeyModel model) { if (!_authorization.Create(model)) { throw new UnauthorizedAccessException(); } return(_business.CreateAttachment(model)); }
/// <summary> /// Create new attachment ultimately /// </summary> /// <param name="entityName"></param> /// <param name="fieldName"></param> /// <param name="entityId"></param> /// <returns></returns> public int CreateAttachment(string entityName, string fieldName, string entityId) { return(attachmentBusiness.CreateAttachment(new AttachmentKeyModel { EntityName = entityName, FieldName = fieldName, EntityId = entityName }).AttachmentId); }