public async Task <IHttpActionResult> PostNewUserDocument(Document_AddBM model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = int.Parse(User.Identity.GetUserId()); if (model.Base64Image != null) { var doc = await UploadDocument(model); var map = new UserDocumentMap { UserId = userId, Document = doc }; db.UserDocumentMaps.Add(map); await db.SaveChangesAsync(); return(CreatedAtRoute("GetUserDocument", new { userId = userId, id = map.DocumentId }, map.Document)); } else { return(BadRequest("No base64 image")); } }
private async Task <Document> UploadDocument(Document_AddBM model) { Console.WriteLine("Doc Image Upload Started."); var uploaderResponse = await Helpers.UploadHelper.UploadBase64ImageAsync(db, User.Identity.GetUserId(), model.Base64Image, FileServerTokenType.DocumentUpload, true); if (uploaderResponse.StatusCode == HttpStatusCode.OK || uploaderResponse.StatusCode == HttpStatusCode.Created) { Console.WriteLine("Doc Image Uploaded, Path:" + uploaderResponse.FilePath); return (new Document { FileServerId = uploaderResponse.FileServerId, FilePath = uploaderResponse.FilePath, BF_Idx = (int)uploaderResponse.BF_Idx, Description = model.Description }); } else { var err = string.Format("Doc Image Upload Error, Code:{0}, Message:{1}", uploaderResponse.StatusCode, uploaderResponse.Message); Helpers.CustomHttpExceptions.CustomHttpException(HttpStatusCode.InternalServerError, err); return(null); } }
public async Task <IHttpActionResult> PostNewCampaignDocument(int campaignId, Document_AddBM model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var camp = await db.SafelyGetCampaignById(campaignId, true); if (camp.CreatedById.ToString() != User.Identity.GetUserId()) { return(Unauthorized()); } if (camp.Status.HasFlag(CampaignStatus.ReadOnly)) { Helpers.CustomHttpExceptions.CustomHttpException(HttpStatusCode.Forbidden, "Campaign is ReadOnly"); } if (model.Base64Image != null) { var doc = await UploadDocument(model); var map = new CampaignDocumentMap { CampaignId = campaignId, Document = doc }; db.CampaignDocumentMaps.Add(map); await db.SaveChangesAsync(); return(CreatedAtRoute("GetCampaignDocument", new { campaignId = campaignId, id = map.DocumentId }, map.Document)); } else { return(BadRequest("No base64 image")); } }