Пример #1
0
        public async Task <SaveResult> UploadPicture(IFormFile formFile, string personGuid)
        {
            SaveResult saveResult = new SaveResult();
            Dictionary <bool, string> dictionary = new Dictionary <bool, string>();

            try
            {
                Person entity = await _context.Person.Include(a => a.Document).FirstAsync(a => a.PersonGuid == personGuid);

                var docType = await _context.DocumentType.FirstOrDefaultAsync(a => a.Discriminator == DocumentTypeDiscriminator.ProfilePic);

                if (docType == null)
                {
                    throw new ArgumentNullException(nameof(DocumentType));
                }


                if (entity.DocumentId.HasValue)
                {
                }
                else
                {
                    entity.Document = new Document {
                        DocumentTypeId = docType.Id
                    };
                }

                await _documentBL.UploadDocument(formFile, entity.Document, entity.CreatedUserId);

                _context.Person.Update(entity);



                await _context.SaveChangesAsync();

                if (entity.Id > 0)
                {
                    saveResult.IsSuccess = true;
                    saveResult.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.DeleteErrorMsg;
            }


            return(saveResult);
        }
Пример #2
0
        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);
        }