public async Task <IActionResult> Create(SignatureCreateViewModel signature)
        {
            if (SignatureExists(signature.UserId))
            {
                ViewData["SignatureExists"]  = "لايمكن اضافة توقيع آخر / يملك توقيع مسبقا!!";
                ViewData["UserId"]           = new SelectList(_context.Users, "Id", "FullName", signature.UserId);
                ViewData["DegreeList"]       = new SelectList(DegreeList(), "Name", "Name");
                ViewData["JobsSignatorieId"] = new SelectList(_context.JobsSignatories, "Id", "Name");
                ViewData["ValidUnValidList"] = new SelectList(ValidUnValidHelpr.ValidUnValidHelprList(), "Value", "Name");

                return(View(signature));
            }
            if (ModelState.IsValid)
            {
                string uniqFileName = null;
                if (signature.SignaturePhoto != null && signature.SignaturePhoto.Length > 0)
                {
                    if (IsFileValidate(signature.SignaturePhoto.FileName))
                    {
                        string uplouadsFolder = Path.Combine(_ihostingEnvironment.WebRootPath, "img/signatures");
                        uniqFileName = Guid.NewGuid().ToString() + "_" + signature.SignaturePhoto.FileName;
                        string filePath = Path.Combine(uplouadsFolder, uniqFileName);

                        using (var fileStream = new FileStream(filePath, FileMode.Create))
                        {
                            signature.SignaturePhoto.CopyTo(fileStream);
                        }
                    }
                    else
                    {
                        ViewBag.msg                  = "الصور المسموح بها يجب ان تكون بمتداد : " + "png , jpeg , jpg , gif , bmp ";
                        ViewData["DegreeList"]       = new SelectList(DegreeList(), "Name", "Name", signature.Degree);
                        ViewData["JobsSignatorieId"] = new SelectList(_context.JobsSignatories, "Id", "Name");
                        ViewData["ValidUnValidList"] = new SelectList(ValidUnValidHelpr.ValidUnValidHelprList(), "Value", "Name");

                        ViewData["UserId"] = new SelectList(_context.Users, "Id", "FullName", signature.UserId);
                        return(View(signature));
                    }
                }
                Signature signatureforSave = new Signature()
                {
                    UserId           = signature.UserId,
                    SignaturePhoto   = uniqFileName,
                    Degree           = signature.Degree,
                    JobsSignatorieId = signature.JobsSignatorieId,
                    Status           = signature.Status
                };
                _context.Signatures.Add(signatureforSave);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["DegreeList"]       = new SelectList(DegreeList(), "Name", "Name");
            ViewData["JobsSignatorieId"] = new SelectList(_context.JobsSignatories, "Id", "Name");

            ViewData["ValidUnValidList"] = new SelectList(ValidUnValidHelpr.ValidUnValidHelprList(), "Value", "Name");

            ViewData["UserId"] = new SelectList(_context.Users, "Id", "FullName", signature.UserId);
            return(View(signature));
        }
        // GET: Admin/Signatures/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                Response.StatusCode = 404;
                return(View("SignaturesNotFound"));
            }

            var signature = await _context.Signatures.FindAsync(id);

            if (signature == null)
            {
                Response.StatusCode = 404;
                return(View("SignaturesNotFound"));
            }
            SignatureEditViewModel models = new SignatureEditViewModel()
            {
                Id = signature.Id,
                SignaturePhotoExists = signature.SignaturePhoto,
                UserId           = signature.UserId,
                Degree           = signature.Degree,
                JobsSignatorieId = signature.JobsSignatorieId,
                Status           = signature.Status
            };

            ViewData["DegreeList"]       = new SelectList(DegreeList(), "Name", "Name", signature.Degree);
            ViewData["JobsSignatorieId"] = new SelectList(_context.JobsSignatories, "Id", "Name", signature.JobsSignatorieId);
            ViewData["ValidUnValidList"] = new SelectList(ValidUnValidHelpr.ValidUnValidHelprList(), "Value", "Name", signature.Status);

            ViewData["UserId"] = new SelectList(_context.Users, "Id", "FullName", signature.UserId);
            return(View(models));
        }
        // GET: Admin/Signatures/Details/5


        // GET: Admin/Signatures/Create
        public IActionResult Create()
        {
            ViewData["JobsSignatorieId"] = new SelectList(_context.JobsSignatories, "Id", "Name");
            ViewData["DegreeList"]       = new SelectList(DegreeList(), "Name", "Name");
            ViewData["ValidUnValidList"] = new SelectList(ValidUnValidHelpr.ValidUnValidHelprList(), "Value", "Name");
            ViewData["UserId"]           = new SelectList(_context.Users, "Id", "FullName");
            return(View());
        }