private async Task <PersonUploadResponse> UploadBiography(PersonUploadRequest request) { try { var file = Request.Form.Files[0]; if (file.Length == 0) { return(new PersonUploadResponse().AddMessage(new Contracts.Message("Zero files proveided"))); } if (!file.FileName.Contains(".doc")) { return(new PersonUploadResponse().AddMessage(new Contracts.Message("Only .doc/docx file types allowed"))); } using (var binaryReader = new BinaryReader(file.OpenReadStream())) { request.Biography = binaryReader.ReadBytes((int)file.Length); return(await new PersonModel(factory, mapper).UploadAsync(request)); } } catch (Exception e) { return(new PersonUploadResponse().AddMessage(new Contracts.Message(e.Message))); } }
/// <summary> /// Загружает файл биографии персоны. /// </summary> /// <param name="request"></param> /// <returns></returns> public PersonUploadResponse Upload(PersonUploadRequest request) { if (request == null) { throw new ArgumentNullException("Person model PersonUploadRequest is invalid"); } var resp = new PersonUploadResponse(); try { var unit = factory.CreateUnitOfWork(); var person = unit.Persons.GetItem(request.PersonId); person.Biography = request.Biography; unit.Persons.Update(person); unit.Save(); } catch (Exception e) { resp.AddMessage(new Contracts.Message(e.Message)); } return(resp); }
public async Task <PersonUploadResponse> Post(string json) { PersonUploadRequest request = JsonConvert.DeserializeObject <PersonUploadRequest>(json); return(await UploadBiography(request)); }