public async Task <IActionResult> CreateUser(ProfileViewModel model) { var user = await _userManager.GetUserAsync(User); if (user != null) { UserProfile userProfile = new UserProfile { UserId = user.Id, Name = model.Name, Surname = model.Surname, Patronymic = model.Patronymic, Gender = model.Gender, BirthDay = model.BirthDay, }; db.UserProfiles.Add(userProfile); UserDocument userDocument = new UserDocument() { UserId = user.Id, TypeDocument = model.TypeDocument, SeriesNamberDocument = model.SeriesNamberDocument, DateIssuanceDicument = model.DateIssuanceDicument, IssuanceOffice = model.IssuanceOffice, BirthPlace = model.BirthPlace, Phone = model.Phone }; db.UserDocuments.Add(userDocument); UserDocumentFile userDocumentFile = new UserDocumentFile { UserId = user.Id }; if (model.IdentityDocument != null && model.Photo != null) { byte[] imageDocument = null; using (var binaryReader = new BinaryReader(model.IdentityDocument.OpenReadStream())) { imageDocument = binaryReader.ReadBytes((int)model.IdentityDocument.Length); } byte[] imagePhoto = null; using (var binaryReader = new BinaryReader(model.Photo.OpenReadStream())) { imagePhoto = binaryReader.ReadBytes((int)model.Photo.Length); } userDocumentFile.IdentityDocument = imageDocument; userDocumentFile.Photo = imagePhoto; } db.UserDocumentFiles.Add(userDocumentFile); await db.SaveChangesAsync(); return(RedirectToAction("Details")); } return(NotFound()); }
public IHttpActionResult UploadUserDocument() { string status = string.Empty; int RandomGeneratedNo = 0; UserDocumentFile UDF = new UserDocumentFile(); var httpRequest = HttpContext.Current.Request; if (httpRequest.Files.Count > 0) { HttpFileCollection files = httpRequest.Files; HttpPostedFile file = files[0]; if (!string.IsNullOrEmpty(file.FileName)) { try { string DocType = httpRequest.Form["DocType"].ToString(); string Doc = httpRequest.Form["Doc"].ToString(); string CustomerId = httpRequest.Form["CustomerId"].ToString(); string filename = file.FileName; UDF.status = false; if (string.IsNullOrEmpty(CustomerId) || CustomerId == "0") { string documentType = string.Empty; if (!System.IO.Directory.Exists(HttpContext.Current.Server.MapPath("~/UploadFiles/UserDocuments/TempUserDocument/"))) { System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/UploadFiles/UserDocuments/TempUserDocument/")); } RandomGeneratedNo = new Random().Next(10000000, 99999999); string filepath = HttpContext.Current.Server.MapPath("~/UploadFiles/UserDocuments/TempUserDocument/" + RandomGeneratedNo + filename); if (!string.IsNullOrEmpty(DocType)) { filepath = HttpContext.Current.Server.MapPath("~/UploadFiles/UserDocuments/TempUserDocument/" + DocType); if (System.IO.File.Exists(filepath)) { UDF.FileName = filename; UDF.SavedFileName = RandomGeneratedNo + filename; UDF.status = false; } else { file.SaveAs(filepath); UDF.FileName = filename; UDF.SavedFileName = RandomGeneratedNo + filename; UDF.status = true; } } else { if (System.IO.File.Exists(filepath)) { UDF.FileName = filename; UDF.SavedFileName = RandomGeneratedNo + filename; UDF.status = false; } else { file.SaveAs(filepath); UDF.FileName = filename; UDF.SavedFileName = RandomGeneratedNo + filename; UDF.status = true; } } } else { if (System.IO.Directory.Exists(AppSettings.UploadFolderPath + "/UserDocuments/" + Convert.ToInt32(CustomerId)) && System.IO.File.Exists(AppSettings.UploadFolderPath + "/UserDocuments/" + Convert.ToInt32(CustomerId) + "/" + filename)) { UDF.status = false; UDF.FileName = filename; UDF.SavedFileName = DocType; } else { if ((System.IO.File.Exists(AppSettings.UploadFolderPath + "/UserDocuments/TempUserDocument/" + DocType)) && DocType.Contains(filename)) { UDF.FileName = filename; UDF.SavedFileName = DocType; UDF.status = false; } else { string[] filePaths = Directory.GetFiles(AppSettings.UploadFolderPath + "/UserDocuments/TempUserDocument/"); if (filePaths.Length > 0) { foreach (string filePath in filePaths) { File.Delete(filePath); } } RandomGeneratedNo = new Random().Next(10000000, 99999999); string filepath = HttpContext.Current.Server.MapPath("~/UploadFiles/UserDocuments/TempUserDocument/" + RandomGeneratedNo + filename); file.SaveAs(filepath); UDF.FileName = filename; UDF.SavedFileName = RandomGeneratedNo + filename; UDF.status = true; } } } } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); } } } return(Ok(UDF)); }