public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } IdentityCardEditViewModel identityCard = new IdentityCardEditViewModel(); identityCard.IdentityCard = await _context.IdentityCards.Include(c => c.BloodGroup) .Include(c => c.Designation) .FirstOrDefaultAsync(m => m.Id == id); if (identityCard == null) { return(NotFound()); } return(View(identityCard)); }
public async Task <IActionResult> Edit(int id, IdentityCardEditViewModel viewModel) { if (id != viewModel.IdentityCard.Id) { return(NotFound()); } string uniqueFileName = null; string uniqueFileNameSignature = null; //string uniqueFileNameAuthorizedSignature = null; //string uniqueFileNameCompanyLogo = null; //&& viewModel.ImagePathOfUserSignature != null if (viewModel.ImagePathOfUser != null) { string uplaodsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "image/user/"); uniqueFileName = Guid.NewGuid().ToString() + "_" + viewModel.ImagePathOfUser.FileName; filePath = Path.Combine(uplaodsFolder, uniqueFileName); //string uplaodsFolderSignature = Path.Combine(_webHostEnvironment.WebRootPath, "image/sig/"); //uniqueFileNameSignature = Guid.NewGuid().ToString() + "_" + viewModel.ImagePathOfUserSignature.FileName; //filePathSignature = Path.Combine(uplaodsFolderSignature, uniqueFileNameSignature); //string uplaodsFolderAuthSignature = Path.Combine(_webHostEnvironment.WebRootPath, "image/auth/"); //uniqueFileNameAuthorizedSignature = "9536f8a1-d3ad-41b6-8448-e748bb33f589_authsign.jpg"; //string uplaodsFolderLogo = Path.Combine(_webHostEnvironment.WebRootPath, "image/logo/"); //uniqueFileNameCompanyLogo = "68837796-1410-4966-a0bb-562e4b44c854_Logo.jpg"; using (var stream = new FileStream(filePath, FileMode.Create)) { viewModel.ImagePathOfUser.CopyTo(stream); } //using (var stream = new FileStream(filePathSignature, FileMode.Create)) //{ // viewModel.ImagePathOfUserSignature.CopyTo(stream); //} } IdentityCard model = new IdentityCard(); model = await _context.IdentityCards.Include(c => c.BloodGroup) .Include(c => c.Designation) .FirstOrDefaultAsync(m => m.Id == id); if (viewModel.IdentityCard.ValidationStartDate == null) { viewModel.IdentityCard.Id = model.Id; viewModel.IdentityCard.Name = model.Name; viewModel.IdentityCard.Designation = model.Designation; viewModel.IdentityCard.BloodGroup = model.BloodGroup; viewModel.IdentityCard.CardNumber = model.CardNumber; ModelState.AddModelError(string.Empty, "Enter valid start date"); return(View(viewModel)); } if (viewModel.IdentityCard.ValidationEndDate == null) { viewModel.IdentityCard.Id = model.Id; viewModel.IdentityCard.Name = model.Name; viewModel.IdentityCard.Designation = model.Designation; viewModel.IdentityCard.BloodGroup = model.BloodGroup; viewModel.IdentityCard.CardNumber = model.CardNumber; ModelState.AddModelError(string.Empty, "Enter valid end date"); return(View(viewModel)); } if (viewModel.IdentityCard.ValidationEndDate < viewModel.IdentityCard.ValidationStartDate) { viewModel.IdentityCard.Id = model.Id; viewModel.IdentityCard.Name = model.Name; viewModel.IdentityCard.Designation = model.Designation; viewModel.IdentityCard.BloodGroup = model.BloodGroup; viewModel.IdentityCard.CardNumber = model.CardNumber; ModelState.AddModelError(string.Empty, "End date is not valid"); return(View(viewModel)); } else { if (ModelState.IsValid) { try { //IdentityCard model = new IdentityCard(); //model = await _context.IdentityCards.Include(c => c.BloodGroup) // .Include(c => c.Designation) // .FirstOrDefaultAsync(m => m.Id == id); model.ValidationStartDate = viewModel.IdentityCard.ValidationStartDate; model.ValidationEndDate = viewModel.IdentityCard.ValidationEndDate; if (viewModel.ImagePathOfUser != null) { model.ImagePathOfUser = uniqueFileName; } if (viewModel.ImagePathOfUserSignature != null) { model.ImagePathOfUserSignature = uniqueFileNameSignature; } _context.Update(model); var save = await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!IdentityCardExists(viewModel.IdentityCard.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } } return(View(viewModel)); }