public IActionResult Add(SavePublicationStringVM savePublicationString) { SavePublicationVM savePublication = new SavePublicationVM { Id = savePublicationString.publicationId, TemplateId = savePublicationString.TemplateId, Title = savePublicationString.Title, BranchesOfKnowledge = Newtonsoft.Json.JsonConvert.DeserializeObject <List <BranchOfKnowledge> >(savePublicationString.BranchesOfKnowledge), Authors = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Author> >(savePublicationString.Authors), FieldsValue = Newtonsoft.Json.JsonConvert.DeserializeObject <List <FieldValueVM> >(savePublicationString.FieldsValue) }; //TODO move mapping to service (or not move :D) foreach (var file in Request.Form.Files) { if (file.Length > 0) { string path = @"PublicationsFiles\" + Guid.NewGuid(); string name = file.FileName; FileProperties fileProperties = new FileProperties() { FilePath = path, FileName = name }; if (!Directory.Exists("PublicationsFiles")) { Directory.CreateDirectory("PublicationsFiles"); } using (FileStream fs = System.IO.File.Create(path)) { file.CopyTo(fs); } FieldValueVM fieldValue = new FieldValueVM() { FieldType = FieldType.File, Name = file.Name, Value = Newtonsoft.Json.JsonConvert.SerializeObject(fileProperties), isChecked = false }; savePublication.FieldsValue.Add(fieldValue); } } bool isDone; if (savePublication.Id == 0) { isDone = publicationService.AddPublication(savePublication); } else { isDone = publicationService.EditPublication(savePublication); } if (isDone) { return(Json(new { success = true, message = "Zapisano pomyślnie!" })); } else { return(Json(new { success = false, message = "Wystąpił błąd w zapisie!" })); } }