public async Task <IActionResult> AddAndEditDocumentUploader([FromForm] DocumentUplodedMasterCustom documentDetails) { CommonResponseWithIdsDoc response = new CommonResponseWithIdsDoc(); response = documentUploader.AddAndEditDocumentUploader(documentDetails); return(Ok(response)); //#region Authorization code //var identity = HttpContext.User.Identity as ClaimsIdentity; //string id = ""; //string role = ""; //if (identity != null) //{ // IEnumerable<Claim> claims = identity.Claims; // // or // id = identity.Claims.Where(m => m.Type == ClaimTypes.Sid).Select(m => m.Value).FirstOrDefault(); // role = identity.Claims.Where(m => m.Type == ClaimTypes.Role).Select(m => m.Value).FirstOrDefault(); //} //long userId = Convert.ToInt32(id); //#endregion //calling DocumentUploaderDAL busines layer // CommonResponseWithIdsDoc response = new CommonResponseWithIdsDoc(); //response = documentUploader.AddAndEditDocumentUploader(documentDetails); // response = documentUploader.AddAndEditDocumentUploader(documentDetails, userId); // return Ok(response); }
/// <summary> /// Add And Edit Document Uploader /// </summary> /// <param name="documentDetails"></param> /// <param name="userId"></param> /// <returns></returns> public CommonResponseWithIdsDoc AddAndEditDocumentUploader(DocumentUplodedMasterCustom documentDetails) { CommonResponseWithIdsDoc response = new CommonResponseWithIdsDoc(); string fileName = ""; if (documentDetails.Image != null) { try { string extensionFile = documentDetails.Image.FileName; string[] fileArray = extensionFile.Split('.'); try { extensionFile = fileArray[1]; } catch { extensionFile = "jpeg"; } fileName = Guid.NewGuid().ToString() + "." + extensionFile; #region save file var path = Path.Combine(appSettings.ImageUrlSave, fileName); bool exists = System.IO.File.Exists(path); // Getting Image var image = documentDetails.Image; try { if (!exists) { if (image.Length > 0) { using (var fileStream = new FileStream(path, FileMode.Create)) { image.CopyTo(fileStream); } } } } catch (Exception ex) { log.Error(ex); if (ex.InnerException != null) { log.Error(ex.InnerException.ToString()); } } #endregion #region save file details in DB var dbItem = db.UnitworkccsDocumentuploadermaster.Where(m => m.DocumnetUploaderId == documentDetails.documentUploaderId && m.Isdeleted == 0 && m.Isactive == 1).FirstOrDefault(); if (dbItem == null) { #region insert item into DB UnitworkccsDocumentuploadermaster documentUplodedMaster = new UnitworkccsDocumentuploadermaster(); documentUplodedMaster.DocumentName = documentDetails.Image.FileName; documentUplodedMaster.FileName = fileName; documentUplodedMaster.FilePath = path; documentUplodedMaster.CreatedOn = DateTime.Now; documentUplodedMaster.CreatedBy = 0; documentUplodedMaster.Isdeleted = 0; documentUplodedMaster.Isactive = 1; // documentUplodedMaster.DocumnetUploaderFor = documentDetails.DocumentUploadedFor; db.UnitworkccsDocumentuploadermaster.Add(documentUplodedMaster); db.SaveChanges(); response.id = documentUplodedMaster.DocumnetUploaderId; var doc = appSettings.ImageUrl + (from wfd in db.UnitworkccsDocumentuploadermaster where wfd.Isdeleted == 0 && wfd.DocumnetUploaderId == documentUplodedMaster.DocumnetUploaderId select wfd.FileName).FirstOrDefault(); response.url = doc; #endregion } else { #region delete old files try { var deleteFileName = Path.Combine(appSettings.ImageUrlSave, dbItem.FileName); if (deleteFileName != null || deleteFileName != string.Empty) { if ((System.IO.File.Exists(deleteFileName))) { System.IO.File.Delete(deleteFileName); } } } catch (Exception ex) { } #endregion #region update into DB dbItem.FileName = fileName; dbItem.DocumentName = documentDetails.Image.FileName; // dbItem.DocumnetUploaderFor = documentDetails.DocumentUploadedFor; dbItem.FilePath = path; dbItem.ModifiedOn = DateTime.Now; dbItem.ModifiedBy = 0; db.SaveChanges(); response.id = documentDetails.documentUploaderId; var doc = appSettings.ImageUrl + (from wfd in db.UnitworkccsDocumentuploadermaster where wfd.Isdeleted == 0 && wfd.DocumnetUploaderId == dbItem.DocumnetUploaderId select wfd.FileName).FirstOrDefault(); response.url = doc; #endregion } #endregion } catch (Exception ex) { log.Error(ex); if (ex.InnerException != null) { log.Error(ex.InnerException.ToString()); } response.isStatus = false; response.response = ResourceResponse.ExceptionMessage; } response.isStatus = true; response.response = ResourceResponse.FileUploaderSuccess; } else { response.isStatus = false; response.response = ResourceResponse.FileUploaderFailure; } return(response); }