public async static Task <PostResultModel> PostEmpresaBindingModel(this IEntityService <Empresa> service, PostEmpresaBindingModel model, ProfileMongoModel user) { var empresaResult = await service.GetEmpresasByDocumentoAsync(new GetEmpresasByDocumento { CNPJ = model.CNPJ }); if (empresaResult.IsValid) { return(new PostResultModel { IsValid = false, Message = string.Format("Já existe uma empresa com o CNPJ {0} informado.", model.CNPJ), StatusCode = 400 }); } var entity = model.CreateInstanceOf <Empresa>(user.UsuarioId); entity.Modulo = EnumUtility.GetEnumText(Modulo.Gestor); var entityId = await service.AddAsync(entity); var mongoObj = entity.CreateInstanceOf <EmpresaClienteMongoModel>(); model.CopyProperties(mongoObj); mongoObj.ParentId = entityId.ToString(); var mongoId = await service.MongoService.InsertMongoObject <EmpresaClienteMongoModel>(mongoObj); var result = new PostResultModel { Id = mongoId, IsValid = true, ParentId = mongoObj.ParentId, StatusCode = 200 }; return(result); }