public string UploadDoc(string fileName) { string dir = "~/Content/SystemDoc/"; bool isExist = System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(dir)); if (!isExist) { System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(dir)); } SystemDocument x = new SystemDocument(); x.FileName = fileName; x.Path = dir + fileName; x.Uploader = HttpContext.Current.Session["UserName"].ToString(); x.UploadDate = DateTime.Now; doc.SystemDocuments.InsertOnSubmit(x); doc.SubmitChanges(); return dir+fileName; }
public async Task <SaveResult> SaveEntity(SystemDocumentViewModel viewModel) { SaveResult saveResult = new SaveResult(); Dictionary <bool, string> dictionary = new Dictionary <bool, string>(); var entity = new SystemDocument(); try { if (_context.SystemDocument.IgnoreQueryFilters().Any(a => a.Id == viewModel.Id)) { entity = await _context.SystemDocument.IgnoreQueryFilters() .Include(c => c.Document) .Include(c => c.Document.DocumentType) .Include(c => c.UpdatedUser) .Include(c => c.CreatedUser) .FirstOrDefaultAsync(a => a.Id == viewModel.Id); entity.Document.DocumentTypeId = viewModel.DocumentTypeId; if (viewModel.DocumentId == 0 && viewModel.FileUploaded != null) { // await UploadDocument(viewModel, entity); await _documentBL.UploadDocument(viewModel.FileUploaded, entity.Document, viewModel.SessionUserId); } entity = viewModel.ToEntity(entity); _context.SystemDocument.Update(entity); } else { entity = viewModel.ToEntity(entity); if (viewModel.FileUploaded != null) { entity.Document = new Document { DocumentTypeId = viewModel.DocumentTypeId }; await _documentBL.UploadDocument(viewModel.FileUploaded, entity.Document, viewModel.SessionUserId); viewModel.DocumentId = entity.Document.Id; entity.DocumentId = entity.Document.Id; //await UploadDocument(viewModel, entity); } _context.SystemDocument.Add(entity); } await _context.SaveChangesAsync(); if (entity.Id > 0) { saveResult.IsSuccess = true; saveResult.Id = entity.Id; viewModel.Id = entity.Id; } } catch (DbUpdateException upDateEx) { var results = upDateEx.GetSqlerrorNo(); string msg = results == (int)SqlErrNo.FK ? ConstEntity.MissingValueMsg : ConstEntity.UniqueKeyMsg; saveResult = dictionary.GetValidateEntityResults(msg).ToSaveResult(); } catch (Exception ex) { saveResult.Message = CrudError.SaveErrorMsg; } PopulateDropDowns(viewModel); return(saveResult); }