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