public ActionResult Add() { var model = new FileModel(); return JsonObject(true, string.Empty, new { html = PartialViewToString("_edit", model) }); }
public ActionResult Save(FileModel model) { if (model.IsNew && !CanAdd) { return GetAddDeniedResult(); } if (!model.IsNew && !CanUpdate) { return GetUpdateDeniedResult(); } if (!ModelState.IsValid) { return JsonObject(false, GetModelStateErrors()); } #region file hanlder if (Request.Files.Count == 0 || string.IsNullOrWhiteSpace(Request.Files[0].FileName)) { return JsonObject(false, Files.FileIsRequired); } if (!model.IsNew) { DeleteFile(model.OldPhysicName); } var file = Request.Files[0]; var extension = Path.GetExtension(file.FileName).ToStr(); if (SiteUtils.IsDangerousFile(file.FileName)) { return JsonObject(false, BackendMessage.FileTypeIsInvalid); } if (!string.IsNullOrWhiteSpace(model.OldPhysicName)) { DeleteFile(model.OldPhysicName); } model.PhysicName = Guid.NewGuid() + extension; var filePath = PhysicalDataFilePath(model.PhysicName, DataChildFolder.Files); file.SaveAs(filePath); #endregion var entity = model.Map<FileModel, Data.DataContract.FileDC.File>(); if (entity.IsNew) { entity.InitId(); } entity.Name = entity.Name.ToStr().Trim(); entity.CreatedBy = CurrentUserId; entity.CreatedDate = DateTime.UtcNow; var request = new SaveRequest { Entity = entity }; var res = ServiceHelper.File.ExecuteDispose(s => s.SaveFile(request)); if (res.Success) { SendNotification(NotifyType.Success, Files.UploadFileSuccess); return JsonObject(true, string.Empty); } return JsonObject(false, res.Messages.FirstOrDefault().GetServiceMessageRes()); }