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)));
            }
        }
Beispiel #2
0
        /// <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));
        }