/// <summary> /// /// </summary> /// <param name="viewModel"></param> /// <returns></returns> public async Task CreateByViewModelAsync(DoctorCreateViewModel viewModel) { if (viewModel == null) { throw new ArgumentNullException(nameof(viewModel)); } var doctorMap = _mapper.Map <Doctor>(viewModel); Guid isGuid; Guid.TryParse(viewModel.ExpertiseId, out isGuid); if (isGuid != Guid.Empty) { doctorMap.ExpertiseId = Guid.Parse(viewModel.ExpertiseId); } else { doctorMap.Expertise = new Expertise { ExpertiseName = viewModel.ExpertiseId } }; _doctors.Add(doctorMap); await _unitOfWork.SaveAllChangesAsync(auditUserId : _httpContextManager.CurrentUserId()); }
public ActionResult Create(DoctorCreateViewModel viewModel) { var validImageTypes = new string[] { "image/gif", "image/jpeg", "image/png" }; if (ModelState.IsValid) { var image = new File { ID = viewModel.Image.ID, ContentType = viewModel.Image.ImgUpload.ContentType }; DoctorTranslator doctorDataTranslator = new DoctorTranslator(); Doctor doctor = doctorDataTranslator.ToDoctorDataModel(viewModel, image); FileManipulation imageUploadHelper = new FileManipulation(); if (viewModel.Image.ImgUpload != null && viewModel.Image.ImgUpload.ContentLength > 0) { if (!validImageTypes.Contains(viewModel.Image.ImgUpload.ContentType)) { ModelState.AddModelError("ImgUpload", "Please, choose either GIF, JPG, or PNG type of files."); } //upload with file-system, make sure that folder Uploads in DoctorsOffice exist //var imgFileName = Guid.NewGuid().ToString() + GetExtension(viewModel.Image.ImgUpload.ContentType); //var uploadDir = "~/Uploads"; //var imagePath = System.IO.Path.Combine(Server.MapPath(uploadDir), imgFileName); //var imageUrl = System.IO.Path.Combine(uploadDir, imgFileName); //viewModel.Image.ImgUpload.SaveAs(imagePath); imageUploadHelper.FileUpload(image, viewModel.Image.ImgUpload); //imageUploadHelper.ResizeImage(viewModel.Image.ImgUpload);-don't work yet!!! //db.Files.Add(image); } else { imageUploadHelper.DefaultImage(doctor); } db.Doctors.Add(doctor); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public Doctor ToDoctorDataModel(DoctorCreateViewModel viewModel, File image) { var result = new Doctor { FirstName = viewModel.Doctor.FirstName, LastName = viewModel.Doctor.LastName, Address = viewModel.Doctor.Address, PhoneNumber = viewModel.Doctor.PhoneNumber, Email = viewModel.Doctor.Email, Position = viewModel.Doctor.Position, ImageID = image.ID, Image = image }; return(result); }
private string ProcessUploadedFile(DoctorCreateViewModel model) { string uniqueFileName = null; if (model.Photo != null) { string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "Images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Photo.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.Photo.CopyTo(fileStream); } } return(uniqueFileName); }
public virtual async Task <ActionResult> Create(DoctorCreateViewModel viewModel) { if (viewModel == null) { return(View(MVC.Error.Views.BadRequest)); } if (ModelState.IsValid == false) { return(RedirectToAction(MVC.Doctor.Create())); } await _doctorService.CreateByViewModelAsync(viewModel); this.AddToastMessage("افزودن پزشک با موفقیت انجام شد", "", ToastType.Success); return(RedirectToAction(MVC.Doctor.List())); }
public IActionResult Create(DoctorCreateViewModel model) { if (ModelState.IsValid) { string uniqueFileName = ProcessUploadedFile(model); Doctor newDoctor = new Doctor { FirstName = model.FirstName, LastName = model.LastName, Specialty = model.Specialty, Email = model.Email, Description = model.Description, PhotoPath = uniqueFileName }; _doctorRepository.Add(newDoctor); return(RedirectToAction("details", new { id = newDoctor.DoctorID })); } return(View()); }
// GET: Doctors/Create public ActionResult Create() { DoctorCreateViewModel viewModel = new DoctorCreateViewModel(); return(View(viewModel)); }